一、操作命令
HDFS的操作命令是以​​​"hdfs dfs"​​开头的命令,其中hdfs是Hadoop系统在Linux系统中的主命令,dfs是子命令,用户通过命令可以完成hdfs文件的复制、移动、查找、删除等操作,HDFS Shell命令的一般格式如下:

hdfs dfs [通用选项]
其实就是 hdfs dfs -shell命令 -参数 执行内容或者作用的对象

1.创建文件夹命令:

hdfs dfs -mkdir /mydir
如果涉及的目录都不存在则使用-p逐级创建:
hdfs dfs -mkdir -p /mydir1/mkdir2/mkdir3

2.列出指定的文件和目录:

hdfs dfs -ls [-d][-h][-R] paths
参数解释:
-d 表示返回路径
-h 表示人性化的显示文件大小,即把小单位换成大单位的显示。
-R 表示级联显示path下的文件和目录
此外,hdfs dfs -ls / 表示查看hdfs文件系统的根目录

3.创建文件:

hdfs dfs -touchz paths
例子: hdfs dfs -touchz /mydir/input.txt

4.上传文件:

hdfs dfs -put [-f][-p] localsrc dst
或者hdfs dfs -copyFromLocal [-f][-p][-l] localsrc dst
其中localsrc表示本地文件的路径,dst表示保存在hdfs上面的路径,下同。

5.将本地文件移动到HDFS:【相当于剪切、粘贴】

hdfs dfs -moveFromLocal localsrc dst

6.从HDFS下载文件:

hdfs dfs -get [-p] src localdst
或者 hdfs dfs -copyToLocal [-p][-ignoreCrc][-crc] src localdst
src表示hdfs中文件的完整路径,localdst为要保存在本地的文件名或者文件夹。

7.查看文件:

hdfs dfs -cat/text [-ignoreCrc] src
hdfs dfs -tail [-f] file
参数解释:
-ignoreCrc 忽略循环检验失败的文件
-f 动态更新显示数据

8.追写文件:

hdfs dfs -appendToFile localsrc/- dst
意思是将localsrc指向的本地文件内容写入目标文件dst,
如果是-则表示数据来自键盘输入,Ctrl+C组合键来结束输入。

9.删除目录或者文件:

hdfs dfs -rm [-f][-r] src
参数解释:
-f表示如果要删除的文件不存在,则不显示错误信息。
-r表示级联删除目录下的所有文件和子目录文件,当然也可以指定文件删除。

10.显示占用的磁盘空间大小:

hdfs dfs -du [-s][-h] path  表示按字节显示指定目录所占空间的大小
-s表示显示指定目录下文件总的大小
-h表示人性化显示查询结果,即优化换算大单位来显示。

11.HDFS中的文件复制:

hdfs dfs -cp [-f][-p|-p[topax]] src dst
-f表示如果目标存在则强行覆盖。
-p表示将保存文件的属性

12.HDFS中的文件移动(类似linux的shell命令,同一目录下时可以理解为改名)

hdfs dfs -mv src dst
src和dst都是hdfs文件系统中的路径或者文件,
当src和dst是同一个目录时,-mv相当于重命名。

13.HDFS中的文件合并后下载:

hdfs dfs -getmerge [-nl] src localdst
例如:hdfs dfs -getmerge /mydir merge.txt
表示将/mydir目录下的文件合并后再下载到本地,不包含其目录下的子目录下的文件。

14.统计

hdfs dfs -count [-q][-h] path
统计某个目录下的子目录与文件的个数以及文件大小,
统计的结果包含目录数、文件数、文件大小。

15.设置扩展属性:

hdfs dfs -setfattr {-n name[-v value]|-x name} path
-n 表示指定属性的名称name,属性名称必须以“user/trusted/security/system/raw”中的
某一个为前缀,比如“user.myattr”;
-v 是指定属性的值
-x 表示要删除某个属性name,在删除属性时使用此选项参数。

16.获取扩展属性

hdfs dfs -getfattr [-R] {-n name|-d} [-e en] path
-n 表示指定属性的名称
-d表示显示所有属性
-e表示enconding,包含text、hex、base64等
例如: hdfs dfs -getfattr -d /mydir/data.txt

二、管理命令
管理命令是以"hdfs dfsadmin"开头的命令,通过这些命令可以管理HDFS,管理的一般格式如下:

hdfs dfsadmin [通用选项]

其中,dfsadmin是子命令,表示执行文件系统管理的命令,通用选项由HDFS管理命令和参数组成。
1.报告文件系统的基本信息和统计信息:(比如可以显示内存占用情况等等)

hdfs dfsadmin -report

2.查看拓朴:

hdfs dfsadmin -printTopology

三、其他命令
把操作命令和管理命令之外的其它命令统称为其它命令,比如

hdfs namenode -format;

通过shell中输入​​hdfs​​回车查看支持的所有子命令。