概要

HDFS 文件系统的常用操作和普通 Linux 文件系统非常相似,如读取文件,新建目录,移动文件,删除数据,列出目录等。

本文只列出常用的 HDFS 命名,要查看完整的命令行列表,可点击 这里

所有的 HDFS 命令都是调用 bin/hdfs 脚本完成的,它的基本用法如下

hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]

hdfs 命令分成 3 种类型,分别是

  • 用户命令
  • 集群管理员命令
  • 调试命令(集群管理员使用)

在命令中会有一些 URI 参数,其中 URI 的前缀是由 core-site.xml 中的 fs.defaultFS 决定的,通过该属性就可以知道 namenode 在哪里运行进而连接到它。例如:

<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop2cluster</value>
</property>

而如果在本机操作,就可以省略 URI 前缀。

用户命令

dfs 命令

hdfs dfs [COMMAND [COMMAND_OPTIONS]]

hadoop 所支持的文件系统命令,其中 COMMAND_OPTIONS 可在 File System Shell Guide 查看。

hdfs dfs 命令前缀与 hadoop fs 效果相同。

追加文件内容

-appendToFile <localsrc> ... <dst>

实例

hdfs dfs -appendToFile hdfs-site.xml /tmp/tests/test.txt

查看文件内容

-cat URI [URI ...]

实例

hdfs dfs -cat /tmp/tests/test.txt

得到文件的校验信息

-checksum URI

实例

hdfs dfs -checksum /tmp/tests/test.txt

修改用户组

-chgrp [-R] GROUP URI [URI ...]

Change group association of files. The user must be the owner of files, or else a super-user. Additional information is in the Permissions Guide.

修改文件权限

-chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...]

修改文件所属用户

 -chown [-R] [OWNER][:[GROUP]] URI [URI ]

本地拷贝到 hdfs

-copyFromLocal <localsrc> URI

hdfs 拷贝到本地

-copyToLocal [-ignorecrc] [-crc] URI <localdst>

获取目录,文件数量及大小

-count [-q] [-h] [-v] <paths>

举例

 hdfs dfs -count /tmp/tests/

得到结果

           1            1               3513 /tmp/tests

其中

  • 列 1 表示 目录数量
  • 列 2 表示 文件数量
  • 列 3 表示 文件总大小(字节)

hdfs 内拷贝

-cp [-f] [-p | -p[topax]] URI [URI ...] <dest>
  • -f 表示如果文件已存在,会覆盖原文件
  • -p 表示会保留文件属性(时间错,owner,权限, ACL 等)

createSnapshot 创建快照

See HDFS Snapshots Guide.

deleteSnapshot 删除快照

See HDFS Snapshots Guide.

显示空闲空间

-df [-h] URI [URI ...]
  • -h 选项会以人类友好的方式来显示,如 64M 而不是多少字节

显示文件和目录大小

-du [-s] [-h] URI [URI ...]
  • The -s option will result in an aggregate summary of file lengths being displayed, rather than the individual files.
  • The -h option will format file sizes in a “human-readable” fashion (e.g 64.0m instead of 67108864)

清空回收站

-expunge

Empty the Trash. Refer to the HDFS Architecture Guide for more information on the Trash feature.

查找文件

-find <path> ... <expression> ...

显示目录或文件的访问控制列表

-getfacl [-R] <path>

显示文件或目录的扩展信息

-getfattr [-R] -n name | -d [-e en] <path>
  • -R: Recursively list the attributes for all files and directories.
  • -n name: Dump the named extended attribute value.
  • -d: Dump all extended attribute values associated with pathname.
  • -e encoding: Encode values after retrieving them. Valid encodings are “text”, “hex”, and “base64”. Values encoded as text strings are enclosed in double quotes ("), and values encoded as hexadecimal and base64 are prefixed with 0x and 0s, respectively.
  • path: The file or directory.

ls

-ls [-d] [-h] [-R] [-t] [-S] [-r] [-u] <args>
  • -d: Directories are listed as plain files.
  • -h: Format file sizes in a human-readable fashion (eg 64.0m instead of 67108864).
  • -R: Recursively list subdirectories encountered.
  • -t: Sort output by modification time (most recent first).
  • -S: Sort output by file size.
  • -r: Reverse the sort order.
  • -u: Use access time rather than modification time for display and sorting.

mkdir

-mkdir [-p] <paths>

moveFromLocal

-moveFromLocal <localsrc> <dst>

moveToLocal

-moveToLocal [-crc] <src> <dst>

mv

-mv URI [URI ...] <dest>

rm

-rm [-f] [-r |-R] [-skipTrash] URI [URI ...]
  • The -f option will not display a diagnostic message or modify the exit status to reflect an error if the file does not exist.
  • The -R option deletes the directory and any content under it recursively.
  • The -r option is equivalent to -R.
  • The -skipTrash option will bypass trash, if enabled, and delete the specified file(s) immediately. This can be useful when it is necessary to delete files from an over-quota directory.

test

-test -[defsz] URI
  • -d: f the path is a directory, return 0.
  • -e: if the path exists, return 0.
  • -f: if the path is a file, return 0.
  • -s: if the path is not empty, return 0.
  • -z: if the file is zero length, return 0.

tail

-tail [-f] URI

显示文件的最后的字节

  • The -f option will output appended data as the file grows, as in Unix.

usage

显示命令的用法

-usage command

参考文档

HDFS 命令大全的更多相关文章

  1. hdfs命令大全

    hdfs常用命令: 第一部分:hdfs文件系统命令 第一类:文件路径增删改查系列: hdfs dfs -mkdir dir  创建文件夹 hdfs dfs -rmr dir  删除文件夹dir hdf ...

  2. 【转】Hadoop命令大全

    Hadoop命令大全 本节比较全面的向大家介绍一下Hadoop命令,欢迎大家一起来学习,希望通过本节的介绍大家能够掌握一些常见Hadoop命令的使用方法.下面是Hadoop命令的详细介绍. 1.列出所 ...

  3. Hadoop命令大全

    Hadoop命令大全 分类: 云计算2011-03-01 15:04 6852人阅读 评论(0) 收藏 举报 hadoop作业任务集群class脚本 1.列出所有Hadoop Shell支持的命令   ...

  4. .NET Core dotnet 命令大全

    dotnet 命令大全,让你理解dotnet 命令. 本文将以一个实例串起 dotnet 所有命令,让你玩转dotnet 命令. 本篇文章编写环境为windows 10 ,dotnet 命令同样适用于 ...

  5. CMD命令大全

    有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联. AT 计划在计算机上运行的命令和程序. ATTRIB 显示或更改文件属性. BREAK 设置或清除扩展式 CT ...

  6. DOS命令大全!

    一)MD——建立子目录 1.功能:创建新的子目录 2.类型:内部命令 3.格式:MD[盘符:][路径名]〈子目录名〉 4.使用说明: (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前 ...

  7. 黑客攻击常用CMD命令大全

    黑客常用命令大全net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai ...

  8. centos 命令大全

    文件操作: ls      ####查看目录中的文件#### ls -F       ####查看目录中的文件#### ls -l       ####显示文件和目录的详细资料#### ls -a   ...

  9. db2常用命令大全

    #显示这个DB2错误的解释信息(SQLSTATE 5位数字)db2 ? 42704 #显示这个SQLCODE的解释信息(SQLCODE 四位数字) db2 ? SQL0204N ##查看数据库指定配置 ...

随机推荐

  1. 定时任务 Wpf.Quartz.Demo.4

    本文继续介绍定时任务 Wpf.Quartz.Demo.3的一些小细节, 代码也请前往第3节下载. 1.RichTextBox右键菜单 <RichTextBox.ContextMenu>   ...

  2. [LNOI2014]LCA(树剖+线段树)

    \(\%\%\% Fading\) 此题是他第一道黑题(我的第一道黑题是蒲公英) 一直不敢开,后来发现是差分一下,将询问离线,树剖+线段树维护即可 \(Code\ Below:\) #include ...

  3. 读取型CSRF-需要交互的内容劫持

    本文作者:i春秋作家——jing0102 前言 最近在挖洞,"实践出真知"这句话说的很对,在实际挖掘过程中我会思考很多东西,跟朋友一起准备做一份手册,忽然的想到了一些漏洞的定义和规 ...

  4. 为ElasticSearch添加HTTP基本认证

    ES的HTTP连接没有提供任何的权限控制措施,一旦部署在公共网络就容易有数据泄露的风险,尤其是加上类似elasticsearch-head这样友好的前端界面,简直让你的数据瞬间裸奔在黑客的眼皮底下.项 ...

  5. C#导出HTML到PDF组件 Pechkin

    C#导出PDF功能是开发中经常遇到的功能,我们采用第三方的组件,比如 iTextSharp, aspose等,还能搜到一些开源的类库, 但是对于一些内容复杂样式丰富的PDF,我们希望通过传入一个URL ...

  6. tomcat服务的启动与隐藏启动(win)

    一:  tomcat的启动与隐藏启动 1. 正常启动:D:\apache-tomcat-8.5.24\bin中的   startup.bat  双击启动 2. 启动tomcat服务后,window下方 ...

  7. Spring常用知识点

    说一下spring中Bean的作用域 singleton: Spring IoC容器中只会存在一个共享的Bean实例,无论有多少个Bean引用它,始终指向同一对象.Singleton作用域是Sprin ...

  8. POJ 2591

    #include<iostream> #include<stdio.h> #define MAXN 10000001 using namespace std; int a[MA ...

  9. 【原创】实现一个简单的邮件服务API

    经常在公司写一些内部小程序需要用到发邮件的功能,于是决定写一个邮件服务. 实现思路:以URL形式提供一个RESTful API 给客户端,客户端通过post请求把json格式的邮件信息发送到服务端,服 ...

  10. java ant 编译打包build.xml完整配置范例

    java ant 编译打包build.xml完整配置范例 <?xml version="1.0" encoding="UTF-8" ?> <p ...