千家信息网

Hadoop Shell命令(版本:2.7.2)

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Hadoop Shell命令(版本:2.7.2)官方文档2.7.2官方中文1.0.4概观appendToFilecatchecksumchgrpchmodchowncopyFromLocalcopyT
千家信息网最后更新 2026年11月02日Hadoop Shell命令(版本:2.7.2)

Hadoop Shell命令(版本:2.7.2)

官方文档2.7.2

官方中文1.0.4

  • 概观
    • appendToFile
    • cat
    • checksum
    • chgrp
    • chmod
    • chown
    • copyFromLocal
    • copyToLocal
    • count
    • cp
    • createSnapshot
    • deleteSnapshot
    • df
    • du
    • dus
    • expunge
    • find
    • get
    • getfacl
    • getfattr
    • getmerge
    • help
    • ls
    • lsr
    • mkdir
    • moveFromLocal
    • moveToLocal
    • mv
    • put
    • renameSnapshot
    • rm
    • rmdir
    • rmr
    • setfacl
    • setfattr
    • setrep
    • stat
    • tail
    • test
    • text
    • touchz
    • truncate
    • usage

概观

文件系统(FS)shell包括各种类似shell的命令,这些命令直接与Hadoop分布式文件系统(HDFS)以及Hadoop支持的其他文件系统交互,例如本地FS,HFTP FS,S3 FS等。FS shell由以下方式调用:

bin/hadoop fs 

所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。可以将HDFS文件或目录(例如/parent/child)指定为hdfs://namenodehost/parent/child或简单地指定为/parent/child(假设您的配置设置为指向hdfs://namenodehost)。

大多数FS Shell命令的行为和对应的Unix Shell命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到stderr,其他信息输出到stdout。

如果正在使用HDFS,则hdfs dfs是同义词。

有关通用shell选项,请参阅命令手册。

appendToFile

用法:

hadoop fs -appendToFile  ... 

将单个src或多个srcs从本地文件系统附加到目标文件系统。还从stdin读取输入并附加到目标文件系统。

hadoop fs -appendToFile localfile /user/hadoop/hadoopfilehadoop fs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfilehadoop fs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfilehadoop fs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin.

退出代码:

成功时返回0,错误时返回1。

cat

用法:

hadoop fs -cat URI [URI ...]

将路径指定文件的内容输出到stdout。

例:

hadoop fs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2hadoop fs -cat file:///file3 /user/hadoop/file4

退出代码:

成功时返回0,错误时返回-1。

checksum

用法:

hadoop fs -checksum URI

返回文件的校验和信息。

例:

hadoop fs -checksum hdfs://nn1.example.com/file1hadoop fs -checksum file:///etc/hosts

chgrp

用法:

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

更改文件的组关联。用户必须是文件的所有者,否则必须是超级用户。其他信息在" 权限指南"中。

选项

  • -R选项将通过目录结构递归地进行更改。

chmod

用法:

hadoop fs -chmod [-R]  URI [URI ...]

更改文件的权限。使用-R,通过目录结构递归更改。用户必须是文件的所有者,否则必须是超级用户。其他信息在" 权限指南"中。

选项

  • -R选项将通过目录结构递归地进行更改。

chown

用法:

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

更改文件的所有者。用户必须是超级用户。其他信息在" 权限指南"中。

选项

  • -R选项将通过目录结构递归地进行更改。

copyFromLocal

用法:

hadoop fs -copyFromLocal  URI

与put命令类似,但源仅限于本地文件引用。

选项:

  • -f 如果目标已存在,则覆盖目标。

copyToLocal

用法:

hadoop fs -copyToLocal [-ignorecrc] [-crc] URI 

与get命令类似,但目标仅限于本地文件引用。

count

用法:

hadoop fs -count [-q] [-h] [-v] 

计算与指定文件模式匹配的路径下的目录,文件和字节数。-count的输出列为:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,PATHNAME

-count -q的输出列为:QUOTA,REMAINING_QUATA,SPACE_QUOTA,REMAINING_SPACE_QUOTA,DIR_COUNT,FILE_COUNT,CONTENT_SIZE,PATHNAME

-h选项以人类可读格式显示大小。

-v选项显示标题行。

例:

hadoop fs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2hadoop fs -count -q hdfs://nn1.example.com/file1hadoop fs -count -q -h hdfs://nn1.example.com/file1hdfs dfs -count -q -h -v hdfs://nn1.example.com/file1```shell退出代码:成功时返回0,错误时返回-1。## cp用法:```shellhadoop fs -cp [-f] [-p | -p [topax]] URI [URI ...] 

将文件从源复制到目标。此命令也允许多个源,在这种情况下,目标必须是目录。

如果(1)源文件系统和目标文件系统支持它们(仅限HDFS),并且(2)所有源和目标路径名都在/.reserved/raw层次结构中,则保留'raw。'命名空间扩展属性。是否保留raw。 namespace xattrs的确定与-p(保留)标志无关。

选项:

如果目标已存在,则-f选项将覆盖目标。
-p选项将保留文件属性[topx](时间戳,所有权,权限,ACL,XAttr)。如果指定了-p且没有arg,则保留时间戳,所有权和权限。如果指定了-pa,则还保留权限,因为ACL是一组超级权限。确定是否保留原始命名空间扩展属性与-p标志无关。

例:

hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir

退出代码:

成功时返回0,错误时返回-1。

createSnapshot

请参阅"HDFS快照指南"。

deleteSnapshot

请参阅"HDFS快照指南"。

df

用法:

hadoop fs -df [-h] URI [URI ...]

显示可用空间。

选项:

  • -h选项将以"人类可读"的方式格式化文件大小(例如64.0m而不是67108864)

例:

hadoop dfs -df /user/hadoop/dir1

du

用法:

hadoop fs -du [-s] [-h] URI [URI ...]

显示给定目录中包含的文件和目录的大小或文件的长度,以防它只是一个文件。

选项:

  • -s选项将导致显示文件长度的汇总摘要,而不是单个文件。
  • -h选项将以"人类可读"的方式格式化文件大小(例如64.0m而不是67108864)

例:

hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1

退出代码:成功时返回0,错误时返回-1。

dus

用法:

hadoop fs -dus 

显示文件长度的摘要。

注意:不推荐使用此命令。而是使用hadoop fs -du -s。

expunge

用法:

hadoop fs -expunge

清空垃圾。有关"废纸篓"功能的详细信息,请参阅"HDFS体系结构指南"。

find

用法:

hadoop fs -find  ...  ...

查找与指定表达式匹配的所有文件,并将选定的操作应用于它们。如果未指定路径,则默认为当前工作目录。如果未指定表达式,则默认为-print。

识别以下主要表达式:

  • -name pattern
    -iname pattern

如果文件的基名与使用标准文件系统globbing的模式匹配,则求值为true。如果使用-iname,则匹配不区分大小写。

  • -print
    -print0Always

评估为真。使当前路径名写入标准输出。如果使用-print0表达式,则附加ASCII NULL字符。

以下运营商得到承认:

  • expression -a expression
    expression -and expression
    expression expression

用于连接两个表达式的逻辑AND运算符。如果两个子表达式都返回true,则返回true。由两个表达式的并置所暗示,因此不需要明确指定。如果第一个表达式失败,则不会应用第二个表达式。

例:

hadoop fs -find / -name test -print

退出代码:

成功时返回0,错误时返回-1。

get

用法:

hadoop fs -get [-ignorecrc] [-crc]  

将文件复制到本地文件系统。可以使用-ignorecrc选项复制CRC校验失败的文件。可以使用-crc选项复制文件和CRC。

例:

hadoop fs -get /user/hadoop/file localfilehadoop fs -get hdfs://nn.example.com/user/hadoop/file localfile

退出代码:

成功时返回0,错误时返回-1。

getfacl

用法:

hadoop fs -getfacl [-R] 

显示文件和目录的访问控制列表(ACL)。如果目录具有默认ACL,则getfacl还会显示默认ACL。

选项:

  • -R:递归列出所有文件和目录的ACL。
  • path:要列出的文件或目录。

例子:

hadoop fs -getfacl /filehadoop fs -getfacl -R /dir

退出代码:

成功时返回0,错误时返回非零。

getfattr

用法:

hadoop fs -getfattr [-R] -n name | -d [-e en] 

显示文件或目录的扩展属性名称和值(如果有)。

选项:

  • -R:递归列出所有文件和目录的属性。
  • -n name:转储指定的扩展属性值。
  • -d:转储与pathname关联的所有扩展属性值。
  • -e encoding:检索后对代码值进行编码。有效编码为"text","hex"和"base64"。编码为文本字符串的值用双引号(")括起来,编码为十六进制和base64的值分别以0x和0s为前缀。
  • path:文件或目录。

例子:

hadoop fs -getfattr -d /filehadoop fs -getfattr -R -n user.myAttr /dir

退出代码:

成功时返回0,错误时返回非零。

getmerge

用法:

hadoop fs -getmerge [-nl]  

将源目录和目标文件作为输入,并将src中的文件连接到目标本地文件。可选地,-nl可以设置为允许在每个文件的末尾添加换行符(LF)。

例子:

hadoop fs -getmerge -nl /src /opt/output.txthadoop fs -getmerge -nl /src/file1.txt /src/file2.txt /output.txt

退出代码:

成功时返回0,错误时返回非零。

help

用法:

hadoop fs -help

返回使用量输出。

ls

用法:

hadoop fs -ls [-d] [-h] [-R] 

选项:

  • -d:目录列为纯文件。
  • -h:以人类可读的方式格式化文件大小(例如64.0m而不是67108864)。
  • -R:递归列出遇到的子目录。

对于文件,ls使用以下格式返回文件的stat:

permissions number_of_replicas userid groupid filesize modification_date modification_time filename

对于目录,它返回其直接子节点的列表,如在Unix中。目录列为:

permissions userid groupid modification_date modification_time dirname

默认情况下,目录中的文件按文件名排序。

例:

hadoop fs -ls /user/hadoop/file1

退出代码:

成功时返回0,错误时返回-1。

lsr

用法:

hadoop fs -lsr 

ls的递归版本。

注意:不推荐使用此命令。而是使用hadoop fs -ls -R

mkdir

用法:

hadoop fs -mkdir [-p] 

将路径uri作为参数并创建目录。

选项:

  • -p选项行为很像Unix mkdir -p,沿路径创建父目录。

例:

hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2hadoop fs -mkdir hdfs://nn1.example.com/user/hadoop/dir hdfs://nn2.example.com/user/hadoop/dir

退出代码:

成功时返回0,错误时返回-1。

moveFromLocal

用法:

hadoop fs -moveFromLocal  

与put命令类似,只是在复制后删除了源localsrc。

moveToLocal

用法:

hadoop fs -moveToLocal [-crc]  

显示"尚未实现"消息。

mv

用法:

hadoop fs -mv URI [URI ...] 

将文件从源移动到目标。此命令允许多个源,在这种情况下,目标需要是目录。不允许跨文件系统移动文件。

例:

hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2hadoop fs -mv hdfs://nn.example.com/file1 hdfs://nn.example.com/file2 hdfs://nn.example.com/file3 hdfs://nn.example.com/dir1

退出代码:

成功时返回0,错误时返回-1。

put

用法:

hadoop fs -put  ... 

将单个src或多个srcs从本地文件系统复制到目标文件系统。还从stdin读取输入并写入目标文件系统。

hadoop fs -put localfile /user/hadoop/hadoopfilehadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdirhadoop fs -put localfile hdfs://nn.example.com/hadoop/hadoopfilehadoop fs -put - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin.

退出代码:

成功时返回0,错误时返回-1。

renameSnapshot

请参阅"HDFS快照指南"。

rm

用法:

hadoop fs -rm [-f] [-r | -R] [-skipTrash] URI [URI ...]

删除指定为args的文件。

选项:

  • 如果文件不存在,-f选项将不显示诊断消息或修改退出状态以反映错误。
  • -R选项以递归方式删除目录及其下的任何内容。
  • -r选项等效于-R。
  • -skipTrash选项将绕过垃圾桶(如果已启用),并立即删除指定的文件。当需要从超配额目录中删除文件时,这非常有用。

例:

hadoop fs -rm hdfs://nn.example.com/file /user/hadoop/emptydir

退出代码:

成功时返回0,错误时返回-1。

rmdir

用法:

hadoop fs -rmdir [--ignore-fail-on-non-empty] URI [URI ...]

删除目录。

选项:

  • --ignore-fail-on-non-empty:使用通配符时,如果目录仍包含文件,请不要失败。

例:

hadoop fs -rmdir /user/hadoop/emptydir

rmr

用法:

hadoop fs -rmr [-skipTrash] URI [URI ...]

删除的递归版本。

注意:不推荐使用此命令。而是使用hadoop fs -rm -r

setfacl

用法:

hadoop fs -setfacl [-R] [-b | -k -m | -x  ] | [ - set  ]

设置文件和目录的访问控制列表(ACL)。

选项:

  • -b:删除除基本ACL条目之外的所有条目。保留用户,组和其他条目以与权限位兼容。
  • -k:删除默认ACL。
  • -R:递归地对所有文件和目录应用操作。
  • -m:修改ACL。新条目将添加到ACL,并保留现有条目。
  • -x:删除指定的ACL条目。保留其他ACL条目。
  • --set:完全替换ACL,丢弃所有现有条目。所述acl_spec必须包括用户,组条目和其他用于与权限位兼容性。
  • acl_spec:以逗号分隔的ACL条目列表。
  • path:要修改的文件或目录。

例子:

hadoop fs -setfacl -m user:hadoop:rw- /filehadoop fs -setfacl -x user:hadoop /filehadoop fs -setfacl -b /filehadoop fs -setfacl -k /dirhadoop fs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r-- /filehadoop fs -setfacl -R -m user:hadoop:r-x /dirhadoop fs -setfacl -m default:user:hadoop:r-x /dir

退出代码:

成功时返回0,错误时返回非零。

setfattr

用法:

hadoop fs -setfattr -n name [-v value] | -x name 

设置文件或目录的扩展属性名称和值。

选项:

  • -b:删除除基本ACL条目之外的所有条目。保留用户,组和其他条目以与权限位兼容。
  • -n name:扩展属性名称。
  • -v value:扩展属性值。该值有三种不同的编码方法。如果参数用双引号括起来,那么值就是引号内的字符串。如果参数的前缀为0x或0X,则将其视为十六进制数。如果参数以0或0S开头,则将其视为base64编码。
  • -x name:删除扩展属性。
  • path:文件或目录。

例子:

hadoop fs -setfattr -n user.myAttr -v myValue /filehadoop fs -setfattr -n user.noValue /filehadoop fs -setfattr -x user.myAttr /file

退出代码:

成功时返回0,错误时返回非零。

setrep

用法:

hadoop fs -setrep [-R] [-w]  

更改文件的复制因子。如果path是目录,则命令以递归方式更改以path为根的目录树下的所有文件的复制因子。

选项:

  • -w标志请求命令等待复制完成。这可能需要很长时间。
  • 接受-R标志是为了向后兼容。它没有效果。

例:

hadoop fs -setrep -w 3 /user/hadoop/dir1

退出代码:

成功时返回0,错误时返回-1。

stat

用法:

hadoop fs -stat [格式] <路径> ...

以指定格式打印有关的文件/目录的统计信息。格式接受块(%b),类型(%F),所有者组名(%g),名称(%n),块大小(%o),复制(%r),所有者用户名(%)的文件大小u)和修改日期(%y,%Y)。%y将UTC日期显示为"yyyy-MM-dd HH:mm:ss",%Y显示自1970年1月1日UTC以来的毫秒数。如果未指定格式,则默认使用%y。

例:

hadoop fs -stat "%F %u:%g %b %y %n" /file

退出代码:成功时返回0,错误时返回-1。

tail

用法:

hadoop fs -tail [-f] URI

显示文件的最后一千字节到stdout。

选项:

  • -f选项将在文件增长时输出附加数据,如在Unix中一样。

例:

hadoop fs -tail pathname

退出代码:成功时返回0,错误时返回-1。

test

用法:

hadoop fs -test - [defsz] URI

选项:

  • -d:f路径是目录,返回0。
  • -e:如果路径存在,则返回0。
  • -f:如果路径是文件,则返回0。
  • -s:如果路径不为空,则返回0。
  • -z:如果文件长度为零,则返回0。

例:

hadoop fs -test -e filename

text

用法:

hadoop fs -text 

获取源文件并以文本格式输出文件。允许的格式为zip和TextRecordInputStream。

touchz

用法:

hadoop fs -touchz URI [URI ...]

创建一个零长度的文件。

例:

hadoop fs -touchz pathname

退出代码:成功时返回0,错误时返回-1。

truncate

用法:

hadoop fs -truncate [-w]  

将与指定文件模式匹配的所有文件截断为指定的长度。

选项:

  • 该-w标志的要求,对块恢复命令如有必要,等待完成。如果没有-w标志,则在恢复过程中文件可能会保持未闭合一段时间。在此期间,无法重新打开文件以进行追加。

例:

hadoop fs -truncate 55 /user/hadoop/file1 /user/hadoop/file2hadoop fs -truncate -w 127 hdfs://nn1.example.com/user/hadoop/file1

usage

用法:

hadoop fs -usage命令

返回单个命令的帮助。

文件 目录 代码 错误 命令 成功 目标 系统 条目 格式 路径 递归 属性 权限 用户 表达式 输出 信息 大小 指南 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 什么是科技互联网 广州紫鲸互联网科技有限公司 深圳科技互联网 互联网金融公司科技 互联网科技公司电话 奇酷互联网络科技 广州宏创互联网科技 极限挑战互联网科技 互联网科技产品 须眉科技是互联网公司吗 银川新华互联网科技职业技术培训学校图片 科技与互联网哪个更好 杭州壁岐互联网科技有限公司 佛山市翊博互联网络科技有限公司 伍佰万互联网科技怎么赚钱 黑云互联网科技有限公司 宁波跨境商互联网科技有限公司 西安有哪些互联网高科技企业 上海互联网科技园景观 东风日产互联网科技公司叫什么 科技与互联网 互联网扶贫科技 互联网科技的未来发展 互联网科技英文翻译 受益于互联网科技的高速发展 上海宁丞科技互联网 移动互联网年度科技创新 深圳市罗太互联网科技有限公司 杭州科技互联网公司有哪些 科技美学互联网 艺术
0