文件系统(FS)Shell 包括各种类似于Shell 的命令,这些命令可直接与Hadoop分布式文件系统(HDFS)以及Hadoop支持的其他文件系统(例如本地FS,HFTP FS,S3 FS等)进行交互。 FS Shell通过以下方式调用:
bin/hadoop fs
所有的FS Shell命令都将路径URI作为参数。URI格式为 scheme://authority/path 。对于HDFS,方案为hdfs,对于本地FS,方案为file。方案和权限是可选的。如果未指定,则使用配置中指定的默认方案。可以将HDFS文件或目录 /parent/child 指定为 hdfs://namenodehost/parent/child 或简单地指定为 /parent/child(鉴于您的配置设置为指向 hdfs://namenodehost)。
FS Shell中的大多数命令的行为类似于相应的Unix命令。每个命令都描述了差异。错误信息将发送到stderr,输出将发送到stdout。
如果使用HDFS,则hdfs dfs是同义词。
有关通用shell程序选项,请参见《命令手册》。
用法:hadoop fs -appendToFile ...
从本地文件系统附加一个或多个src到目标文件系统。还从stdin读取输入,并将其追加到目标文件系统。
退出代码:执行成功返回0,失败返回1。
用法:hadoop fs -cat URI [URI ...]
将源路径复制到标准输出。
Exit Code:
成功返回0,错误返回-1。
用法:hadoop fs -checksum URI
返回文件的校验和信息。
用法:hadoop fs -chgrp [-R] GROUP URI [URI ...]
更改文件的组关联。用户必须是文件的所有者,或者是超级用户。其他信息在“ 权限指南”中。
选项
-R 选项将通过目录结构递归进行更改。
用法:hadoop fs -chmod [-R] URI [URI ...]
更改文件的权限。使用-R,通过目录结构递归进行更改。用户必须是文件的所有者,或者是超级用户。其他信息在“ 权限指南”中。
选项
用法:hadoop fs -chown [-R] [OWNER] [:[GROUP]] URI [URI]
更改文件的所有者。该用户必须是超级用户。其他信息在“ 权限指南”中。
选项
用法:hadoop fs -copyFromLocal URI
与put命令类似,不同之处在于源仅限于本地文件引用。
选项:
用法:hadoop fs -copyToLocal [-ignorecrc] [-crc] URI
与get命令类似,除了目标仅限于本地文件引用。
用法: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 选项显示标题行。
例:
Exit Code:
成功返回0,错误返回-1。
用法:hadoop fs -cp [-f] [-p | -p [topax]] URI [URI ...] <目标>
将文件从源复制到目标。此命令也允许多个源,在这种情况下,目标必须是目录。
如果(1)源文件系统和目标文件系统支持它们(仅HDFS),并且(2)所有源文件路径和目标路径名都在/.reserved/raw层次结构中,则保留 raw.* 名称空间扩展属性。确定是否保留 raw.* 名称空间xattrs与-p(保留)标志无关。
选项:
例:
退出代码:
成功返回0,错误返回-1。
请参阅《HDFS快照指南》。
请参阅《HDFS快照指南》。
用法:hadoop fs -df [-h] URI [URI ...]
显示可用空间。
选项:
例:
用法:hadoop fs -du [-s] [-h] URI [URI ...]
显示给定目录中包含的文件和目录的大小,或仅在文件的情况下显示文件的长度。
选项:
例:
退出代码:成功返回0,错误返回-1。
用法:hadoop fs -dus
显示文件长度的摘要。
注意:不推荐使用此命令。而是使用hadoop fs -du -s。
用法:hadoop fs -expunge
永久删除垃圾箱目录中早于保留阈值的检查点中的文件,并创建新的检查点。
创建检查点时,垃圾桶中最近删除的文件将移动到检查点下。下次调用-expunge命令时,检查点中早于fs.trash.checkpoint.interval的文件将被永久删除。
如果文件系统支持该功能,则用户可以配置为通过存储在fs.trash.checkpoint.interval(在core-site.xml中)的参数定期创建和删除检查点。该值应小于或等于fs.trash.interval。
有关HDFS垃圾功能的更多信息,请参阅HDFS体系结构指南。
用法:hadoop fs -find <路径> ... <表达式> ...
查找与指定表达式匹配的所有文件,并对它们应用选定的操作。如果未指定路径,则默认为当前工作目录。如果未指定表达式,则默认为-print。
可以识别以下主要表达式:
可以识别以下运算符:
例:
hadoop fs -find / -name test -print
Exit Code:
成功返回0,错误返回-1。
用法:hadoop fs -get [-ignorecrc] [-crc]
将文件复制到本地文件系统。未通过CRC检查的文件可以使用-ignorecrc选项进行复制。可以使用-crc选项复制文件和CRC。
例:
Exit Code:
成功返回0,错误返回-1。
用法:hadoop fs -getfacl [-R] <路径>
显示文件和目录的访问控制列表(ACL)。如果目录具有默认ACL,则getfacl还将显示默认ACL。
选项:
例子:
Exit Code:
成功返回0,错误返回非零。
用法:hadoop fs -getfattr [-R] -n名称| -d [-e en] <路径>
显示文件或目录的扩展属性名称和值(如果有)。
选项:
例子:
退出代码:
成功返回0,错误返回非零。
用法:hadoop fs -getmerge [-nl]
将源目录和目标文件作为输入,并将src中的文件串联到目标本地文件中。可以选择将-nl设置为允许在每个文件的末尾添加换行符(LF)。
例子:
退出代码:
成功返回0,错误返回非零。
用法:hadoop fs -help
返回用法输出。
用法:hadoop fs -ls [-d] [-h] [-R]
选项:
对于文件ls以以下格式返回文件的状态:
权限 number_of_replicas userid groupid 文件大小 修改日期 修改时间 文件名
对于目录,它返回其直接子级列表,如Unix中一样。目录列出为:
权限 userid groupid 修改日期 修改时间 目录名
默认情况下,目录中的文件按文件名排序。
例:
退出代码:
成功返回0,错误返回-1。
用法:hadoop fs -lsr
ls的递归版本。
注意:不推荐使用此命令。而是使用hadoop fs -ls -R
用法:hadoop fs -mkdir [-p] <路径>
将路径uri作为参数并创建目录。
选项:
例:
退出代码:
成功返回0,错误返回-1。
用法:hadoop fs -moveFromLocal
与put命令类似,不同之处在于复制后将源文件删除。
用法:hadoop fs -moveToLocal [-crc]
显示“尚未执行”消息。
用法:hadoop fs -mv URI [URI ...] <目标>
将文件从源移动到目标。此命令还允许多个源,在这种情况下,目标位置必须是目录。不允许跨文件系统移动文件。
例:
退出代码:
成功返回0,错误返回-1。
用法:hadoop fs -put ...
将单个src或多个src从本地文件系统复制到目标文件系统。还从stdin读取输入并写入目标文件系统。
退出代码:
成功返回0,错误返回-1。
请参阅《HDFS快照指南》。
用法:hadoop fs -rm [-f] [-r | -R] [-skipTrash] URI [URI ...]
删除指定为args的文件。
如果启用了垃圾桶(trash类似window系统的回收站),则文件系统会将已删除的文件移动到垃圾桶目录(由FileSystem#getTrashRoot提供)。
当前,默认情况下禁用垃圾桶功能。用户可以通过为参数fs.trash.interval(在core-site.xml中)设置一个大于零的值来启用垃圾箱。
选项:
例:
退出代码:
成功返回0,错误返回-1。
用法:hadoop fs -rmdir [-非空时忽略失败] URI [URI ...]
删除目录。
选项:
例:
用法:hadoop fs -rmr [-skipTrash] URI [URI ...]
递归版本的删除。
注意:不推荐使用此命令。而是使用hadoop fs -rm -r
用法:hadoop fs -setfacl [-R] [-b | -k -m | -x ] | [-set ]]
设置文件和目录的访问控制列表(ACL)。
选项:
例子:
退出代码:
成功返回0,错误返回非零。
用法:hadoop fs -setfattr -n名称[-v值] | -x名称<路径>
设置文件或目录的扩展属性名称和值。
选项:
例子:
退出代码:
成功返回0,错误返回非零。
用法:hadoop fs -setrep [-R] [-w] <路径>
更改文件的复制因子。如果path是目录,则该命令以递归方式更改以path为根的目录树下所有文件的复制因子。
选项:
例:
退出代码:
成功返回0,错误返回-1。
用法:hadoop fs -stat [格式] <路径> ...
以指定格式打印有关上文件/目录的统计信息。格式接受以块(%b),类型(%F),所有者的组名(%g),名称(%n),块大小(%o),复制(%r),所有者的用户名(% u)和修改日期(%y,%Y)。%y将UTC日期显示为“ yyyy-MM-dd HH:mm:ss”,%Y显示自1970年1月1日以来的毫秒数。如果未指定格式,则默认使用%y。
例:
退出代码:成功返回0,错误返回-1。
用法:hadoop fs -tail [-f] URI
显示要输出的文件的最后千字节。
选项:
例:
退出代码:成功返回0,错误返回-1。
用法:hadoop fs -test-[defsz] URI
选项:
例:
用法:hadoop fs -text
获取源文件并以文本格式输出文件。允许的格式是zip和TextRecordInputStream。
用法:hadoop fs -touchz URI [URI ...]
创建一个零长度的文件。
例:
退出代码:成功返回0,错误返回-1。
用法:hadoop fs -truncate [-w] <长度> <路径>
将与指定文件模式匹配的所有文件截断为指定长度。
选项:
例:
用法:hadoop fs -usage command
返回单个命令的帮助。