[综合]Apache Hadoop 2.2.0文件系统shell(一)[翻译]
bin/hadoop fs <args>
所有的命令文件路径都作为参数传入,文件路径的格式如?scheme://authority/path。对于hdfs而言scheme为hdfs,对于本地系统scheme 为?file。scheme?和authority?都是可选的,如果不指定那么默认采用系统配置的参数。hdfs的文件或者目录如/parent/child?写全了就是hdfs://namenodehost/parent/child?,简短即?/parent/child(配置文件指向了hdfs://namenodehost)。
?
大部分的文件系统shell命令类unix命令。每个命令的不同支持都会描述清楚。执行错误信息执行stderr?,其他输出执行stdout。
?
用法:
hdfs dfs -appendToFile <localsrc> ... <dst>
?追加本地文件一个或者多个到目标系统上,同时也可以从命令行输入信息追加到目标文件系统文件上去,如:
hdfs dfs -appendToFile localfile /user/hadoop/hadoopfilehdfs dfs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfilehdfs dfs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfilehdfs dfs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile 命令行输入.
成功返回0,错误返回1
?
用法:
hdfs dfs -cat URI [URI ...]
展示目标文件内容到屏幕,如:
hdfs dfs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2hdfs dfs -cat file:///file3 /user/hadoop/file4
成功返回0,失败返回-1
?
用法:
hdfs dfs -chgrp [-R] GROUP URI [URI ...]
修改文件的用户组。执行操作人必须拥有此文件或者是超级用户,更多信息参考权限指南。
选项:
-R 会递归修改文件用户组权限。
?
用法:
hdfs dfs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...]
修改文件权限,-R参数会递归修改子目录及文件,操作者必须拥有此文件或者是超级用户,更多信息参见权限指南。
?
用法:
hdfs dfs -chown [-R] [OWNER][:[GROUP]] URI [URI ]
修改文件拥有者,-R参数会递归修改子目录及文件,用户必须为超级用户,更多信息参见权限指南。
?
用法:
hdfs dfs -copyFromLocal <localsrc> URI
跟put命令类似,目标文件不能是一个引用。-f选项是当目标文件存在的时候会覆盖目标文件。
?
用法:
hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
同get命令,目标文件不能是一个文件引用。
?
用法:
hdfs dfs -count [-q] <paths>
统计其子路径目录数,文件数,内容大小,其列分别为:?DIR_COUNT, FILE_COUNT, CONTENT_SIZE FILE_NAME,选项-q那么他的列为:?QUOTA, REMAINING_QUATA, SPACE_QUOTA, REMAINING_SPACE_QUOTA, DIR_COUNT, FILE_COUNT, CONTENT_SIZE, FILE_NAME
如:
hdfs dfs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2hdfs dfs -count -q hdfs://nn1.example.com/file1
成功返回0,失败返回-1.
?
用法:
hdfs dfs -cp [-f] URI [URI ...] <dest>
拷贝源文件到目标文件,支持多源文件,不过目标文件需要是一个目录,-f选项为当存在的时候会覆盖,如:
hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir
成功返回0,失败返回-1.
?