1. 基础语法

HDFS Shell命令是由一系列类似Linux Shell的命令组成的。命令大致可分为操作命令、管理命令、其他命令三类。
  • 操作命令:操作命令是以“hdfs dfs”开头的命令。通过这些命令可以完成HDFS文件的复制、删除和查找等操作。Shell命令的一般格式如下

hdfs dfs [通用选项]

hadoop fs [通用选项]

其中hdfs是Hadoop系统在Linux系统中的主命令;dfs是子命令,表示执行文件操作;通用选项由HDFS文件操作命令和操作参数组成。hadoop fs 具体命令 或者 hdfs dfs 具体命令两种写法完全相同。
  • 管理命令:管理命令是以”hdfs dfsadmin”开头的命令。通过这些命令,用户可以管理HDFS。管理命令的一般格式如下:

hdfs dfsadmin [通用选项]

其中hdfs是Hadoop系统在Linux系统中的主命令;dfsadmin是子命令,表示执行文件系统管理的操作;通用选项由HDFS管理命令和参数组成
  • 其他命令:把操纵命令”hdfs dfs”、管理命令”hdfs dfsadmin”之外的命令称为其他命令。

2. 文件操作命令

常用的HDFS Shell命令:
命令 功能
-help [cmd] 显示命令的帮助信息
-ls® 显示当前目录下所有文件
-du(s) 显示目录中所有文件的大小
-count[-q] 显示目录中文件数量
-mv 移动多个文件到目标目录
-cp 复制多个文件到目标目录
-rm® 删除文件(夹)
-put 本地文件复制到hdfs
-copyFromLocal 与put相同
-moveFromLocal 从本地文件移动到hdfs
get [-ignoreCrc] 复制文件到本地,可以忽略crc校验
-getmerge 将源目录中的所有文件排序合并到一个文件中
-cat 在终端显示文件内容
-text 在终端显示文件内容
-copyToLocal [-ignoreCrc] 复制到本地
-moveToLocal 移动到本地
-mkdir 创建文件夹
-touchz 创建一个空文件
使用fs命令可以查看以上命令:

[dyin@hadoop102 bin]$ hadoop fs

3. 常用文件操作命令

  1. -touch: 创建文件,更新修改文件的时间

格式:hadoop fs -touch [-a]

hadoop fs -touch [-m] hadoop fs -touch [-t TIMESTAMP] hadoop fs -touch [-c] URI [URI …]
  1. -help: 输出这个命令参数

格式:hadoop fs -help

  1. -mkdir: 接收路径指定的URI作为参数,创建目录。

格式:hadoop fs -mkdir [-p]

  1. -moveFromLocal: 移动本地文件到hdfs指定目录上。

格式:-moveFromLocal

  1. -copyFromLocal: 复制本地文件到hdfs指定目录上。

格式:hdfs dfs -copyFromLocal

hdfs dfs -copyFromLocal [-f] hdfs dfs -copyFromLocal [-p] hdfs dfs -copyFromLocal [-l] hdfs dfs -copyFromLocal [-d] hdfs dfs -copyFromLocal [-t ]
  1. -copyToLocal: 复制hdfs文件到本地主机指定目录上。

格式:-copyToLocal [-f]

-copyToLocal [-p] -copyToLocal [-crc] -copyToLocal [-ignoreCrc]
  1. -put: 将单个或多个文件上传到指定的HDFS系统目录中去。

格式:-put [-f]

-put [-l] -put [-d]
  1. -appendToFile

格式:hadoop fs -appendToFile

  1. -get:将HDFS文件复制到本地系统指定目录。

格式:hdfs dfs -get [-f]

hdfs dfs -get [-p] hdfs dfs -get [-ignoreCrc] hdfs dfs -get [-crc]
  1. -ls:显示指定目录下的所有文件。

格式:hdfs dfs -ls

lsr是ls命令的递归版本,会递归列出子目录中的文件及目录信息

  1. -cat:显示指定目录下的所有文件。

格式:hdfs dfs -cat

  1. -chgrp: 更改指定文件的所属组。

格式:hdfs dfs -chgrp [-R]

  1. -chmod:更改指定文件的权限。改变文件的权限。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

格式:hdfs dfs -chmod [-R]

  1. -chown:更改指定文件的所属主与所属组。

格式:hdfs dfs -chown [-R] :

  1. -cp:复制文件到指定目录上。将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。(从HDFS的一个路径拷贝到HDFS的另一个路径)

格式:hdfs dfs -cp [-f]

hdfs dfs -cp [-p | -p[topax]] hdfs dfs -cp [-d]
  1. -mv: 将指定文件移动到指定目录下。在HDFS目录中将文件源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。不允许在不同的文件系统间移动文件。

格式:-mv

  1. -tail: 默认查看指定文件的后10行。

格式:hdfs dfs -tail

  1. -rm: 删除指定的文件。

格式:hdfs dfs -rm [-r|-R]

hdfs dfs -rm [-f]
  1. -du:显示目录中所有文件的大小,或者当只指定一个文件时,显示此文件的大小。

格式:hadoop fs -du [-s]

hadoop fs -du [-h] hadoop fs -du [-v] hadoop fs -du [-x]
  1. -setrep: 设置HDFS中文件的副本数量,-R选项用于递归改变目录下所有文件的副本系数。

格式:hadoop fs -setrep [-R] [-w]

path:路径 src:文件 dst:参数 localdst: localsrc: