从零开始学Hadoop系列之File System命令一
1、Overview
文件系统(FS)shell包含多种能直接与HDFS(Hadoop Distributed File System)及Hadoop支持的其他文件系统,例如Local FS,HFTP FS,S3 FS等进行直接交互的命令。FS shell由bin/hadoop fs <args>发起。
所有的FS shell都将URI作为参数。URI的形式为:scheme://authority/path。HDFS的scheme为hdfs,Local FS的scheme为file。scheme和权限是可选的。如果没有指定shceme,则使用配置文件中的scheme。HDFS的文件或路径例如/parent/child可以简写为hdfs://namenodehost/parent/child或简写为/parent/child(考虑到配置设置指向hdfs://namenodehost)。
大多数FS shell的命令与Unix命令类似。两者的差异在对每个命令说明时指出。错误信息将发送到stderr,输出信息发送到stdout。
当使用HDFS时,hdfs和dfs是同义词。
更多详细信息请参考命令手册。
2 、appendToFile
使用:hadoop fs –appendToFile <localsrc> … <dst>
功能:把本地的一个或多个文件添加append到目标文件系统。也可以从stdin追加到目标文件系统。
Example:
- hadoop fs –appendToFile localfile /user/hadoop/hadoopfile
- hadoop fs –appendToFile localfile1 localfile2 /user/hadoop/hadoopfile
- hadoop fs –appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile
- hadoop fs –appendToFile –hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin
返回值:追加成功则返回0,否则返回1
3 、cat
使用:hadoop fs –cat URI [URI …]
功能:将原路径的内容copy到stdout
Example:
- hadoop fs –cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
- hadoop fs –cat file:///file3 /user/hadoop/file4
返回值:成功返回0,否则返回-1
4 、checksum
使用:hadoop fs –checksum URI
功能:返回一个文件的检查值。
Example:
- hadoop fs –checksum hdfs://nn1.example.com/file1
- hadoop fs –checksum file:///etc/hosts
5 、chgrp
使用:hadoop fs –chgrp [-R] GROUP URI [URI …]
功能:改变文件所属组。使用该命令的用户必须是文件的所有者或者是超级用户。更多信息参考用户权限指南。
选项:使用-R选项将递归改变文件组信息。
6 、chmod
使用:hadoop fs –chmod [-R] <MODE [,MODE]… |OCTALMODE> URI [URI…]
功能:改变文件的权限。使用-R选项将递归改变文件权限信息。使用该命令的用户必须是文件的所有者或超级用户。更多信息请参考用户权限指南。
7 、chown
使用:hadoop fs –chown[-R] [OWNER] [:GROUP] URI [URI]
功能:改变文件权限。使用-R选项将递归改变文件权限。使用该命令的用户必须是文件所有者或超级用户。更多信息请参考用户权限指南。
8、copyFromLocal
使用:hadoop fs –copyFromLocal <localsrc> URI
功能:除了源文件必须为本地文件系统外其他与put命令相似。
选项:如果目标文件已经存在-f命令将重写目标文件。
9 、copyToLocal
使用:hadoop fs –copyToLocal [-ignorecrc] [-crc] URI <localdst>
功能:除了目标文件必须为本地文件外,其他与get命令相似。
10 、count
使用:hadoop fs –count [-q] [-h] [-v] <paths>
功能:计算指定目录下符合特定模式的文件夹、文件和字节数。使用-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将展示首行。
Example:
- hadoop fs –count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
- hadoop fs –count –q hdfs://nn1.example.com/file1
- hadoop fs –count –q –h hdfs://nn1.example.com/file1
- hdfs dfs –count –q –h –v hdfs://nn1.example.com/file1
返回值:如果成功则返回0,否则返回-1。
11、cp
使用:hadoop fs –cp [-f] [-p | -p [topax]] URI [URI…] <dest>
功能:将文件从源路径copy到目标路径。该命令允许一次copy多个文件,但是此时目标必须是路径。
Example:
- hadoop fs –cp /user/hadoop/file1 /user/hadoop/file2
- hadoop fs –cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir
返回值:如果成功则返回0,否则返回-1。
参考文献
官方文档