文件系统 (FS) shell 包括各种类似的命令直接与 Hadoop Distributed File System (HDFS)交互。hadoop也支持其它文件系统,比如 Local FS, HFTP FS, S3 FS等。 FS shell命令应使用bin/hadoop fs <args>的形式。所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录比如/parent/child可以表示成hdfs://namenode:namenodeport/parent/child,或者更简单的/parent/child(假设你配置文件中的默认值是namenode:namenodeport)。大多数FS Shell命令的行为和对应的Unix Shell命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到stderr,其他信息输出到stdout。
appendToFile
用法: hadoop fs -appendToFile <localsrc> ... <dst> 添加单个src,或则多个srcs从本地文件系统到目标文件系统。从标准输入读取并追加到目标文件系统。
hadoop fs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile
cat
用法:hadoop fs -cat URI [URI …] 将路径指定文件的内容输出到stdout。
hadoop fs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2
hadoop fs -cat file:///file3 /user/hadoop/file4
checksum
用法:hadoop fs -checksum URI 返回文件的校验信息。
hadoop fs -checksum hdfs://nn1.example.com/file1
chgrp
用法:hadoop fs -chgrp [-R] GROUP URI [URI …] 改变文件所属的组。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。
chmod
用法:hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...] 改变文件的权限. 使用-R 将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。
chown
用法:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ] 改变文件的所有者,使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。
copyFromLocal
用法:hadoop fs -copyFromLocal <localsrc> URI 类似put命令, 需要指出的是这个限制是本地文件。
copyToLocal
用法:hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst> 与get命令类似, 除了限定目标路径是一个本地文件外。
c