HDFS 文件操作基础命令

bin/hadoop dfs–cmd <args>

1. cat

格式:hadoop dfs-cat URI [URI …]

作用:将参数所指示的文件的内容输出到stdout。

示例:

hadoop dfs -cat hdfs:// nn1.example.com/file1 hdfs:// nn2.example.com/file2

hadoop dfs -cat file:/// file3 /user/hadoop/file4

返回值:成功结束返回0,出现错误返回-1。

2. chgrp

格式:hadoop dfs -chgrp [-R] GROUP URI [URI …]

作用:改变文件所属的用户组。如果使用-R 选项,则这一操作对整个目录结构递归执行。使用这一命令的用户必须是文件的所属用户,或者是超级用户
3. chmod

格式:hadoop dfs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI[URI …]

作用:改变文件的权限。如果使用-R 选项,则这一操作对整个目录结构递归执行。使用这一命令的用户必须是文件的所属用户,或者是超级用户。

4. chown

格式:hadoop dfs -chown [-R] [OWNER][,[GROUP]] URI [URI… ]

作用:改变文件的所属用户。如果使用-R 选项,则这一操作对整个目录结构递归执行。使用这一命令的用户必须是文件在命令变更之前的所属用户,或者是超级用户。

5. copyFromLocal

格式:hadoop dfs -copyFromLocal <localsrc> URI

作用:与put 命令类似,但是要限定源文件路径为本地文件系统。

6. copyToLocal

格式:hadoop dfs -copyToLocal [-ignorecrc] [-crc] URI

作用:与get 命令类似,但是要限定目标文件路径为本地文件系统。

7. count

格式:hadoop dfs -count [-q] <paths>

作用:统计匹配对应路径下的目录数,文件数,字节数(文件大小)。

选项意义:

使用-count 选项时,输出的列为:

DIR_COUNT, FILE_COUNT, CONTENT_SIZE,FILE_NAME 

从左到右分别对应目录下已存在的目录数,文件数,文件大小,文件名使用-count-q 选项时,输出的列为:

QUOTA, REMAINING_QUOTA, SPACE_QUOTA, REMAINING_SPACE_QUOTA,  

DIR_COUNT, FILE_COUNT, CONTENT_SIZE, FILE_NAME 

从左到右的意义是:目录下最大允许文件+ 目录数(不存在上限,则为none),目录下可增加目录+ 文件数(不存在上限,则为inf),目录下最大允许空间(不存在上限,则为

none),目录下可用最大空间(不存在上限,则为inf);后面的几个和-count 选项一致,分别对应目录下已存在的目录数,文件数,文件大小,文件名。

hadoop HDFS有以下两种Quota

Name Quotas : 限制某个目录下的文件数量
Space Quotas : 设置某个目录的空间大小

$hadoop fs -count -q /user/hadoop
QUOTA       REMAINING_QUOTA  SPACE_QUOTA  REMAINING_SPACE_QUOTA  DIR_COUNT   FILE_COUNT CONTENT_SIZE FILE_NAME
none        inf               none        inf           		  2            1          180         /user/hadoop
QUOTA : 命名空间的quota(限制文件数)	
REMAINING_QUOTA : 剩余的命名空间quota(剩余能创建的文件数目)
SPACE_QUOTA : 物理空间的quota (限制磁盘空间占用大小)
REMAINING_SPACE_QUOTA : 剩余的物理空间
DIR_COUNT : 目录数目
FILE_COUNT : 文件数目
CONTENT_SIZE: 目录逻辑空间大小
FILE_NAME : 路径

8. cp

格式:hadoop dfs -cp URI [URI …] <dest>

作用:将文件拷贝到目标路径中。如果<dest> 为目录的话,可以将多个文件拷贝到该目录下。示例:

hadoop dfs -cp /user/hadoop/file1 /user/hadoop/file2

hadoop dfs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir

返回值:成功结束返回0,出现错误返回-1。

9. du

格式:hadoop dfs -du [-s] [-h] URI [URI …]

作用:如果参数为目录,显示该目录下所有目录+ 文件的大小;如果参数为单个文件,则显示文件大小。

选项意义:

-s 指输出所有文件大小的累加和,而不是每个文件的大小。

-h 会将文件大小的数值用方便阅读的形式表示,比如用64.0M 代替67108864。示例:

  1. hadoop dfs -du /user/hadoop/dir1 /user/hadoop/file1\  
  2. hdfs:// nn.example.com/user/hadoop/dir1 
返回值:成功结束返回0,出现错误返回-1。

10. dus

格式:hadoop dfs -dus <args>

作用:显示文件的大小。这个命令等价于hadoop dfs -du-s。

11. expunge

格式:hadoop dfs -expunge

作用:清空回收站。如需更多有关回收站特性的信息,请参考其他资料和文献。

12. get

格式:hadoop dfs -get [-ignorecrc] [-crc] <src><localdst>

作用:将文件拷贝到本地文件系统。CRC 校验失败的文件可通过-ignorecrc 选项拷贝。

文件和CRC 校验和可以通过-crc 选项拷贝。

示例:

hadoop dfs -get /user/hadoop/file localfile

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

返回值:成功结束返回0,出现错误返回-1。

13. getmerge

格式:hadoop dfs -getmerge <src><localdst> [addnl]

作用:命令参数为一个源文件目录和一个目的文件。将源文件目录下的所有文件排序后合并到目的文件中。添加addnl 可以在每个文件后面插入新行。

14. ls

格式:hadoop dfs -ls <args>

作用:对于一个文件,该命令返回的文件状态以如下格式列出:

permissions number_of_replicas userid groupid filesize  modification_date modification_time filename 

从左到右的意义分别是:文件权限,副本个数,用户ID,组ID,文件大小,最近一次修改日期,最近一次修改时间,文件名。

对于一个目录,该命令返回这一目录下的第一层子目录和文件,与Unix 中ls 命令的结果类似;结果以如下状态列出:

permissions userid groupid modification_date modification_time dirname  

从左到右的意义分别是:文件权限,用户ID,组ID,最近一次修改日期,最近一次修改时间,文件名。

  1. hadoop dfs -ls /user/hadoop/file1 
15. lsr

格式:hadoop dfs -lsr <args>

作用:在整个目录下递归执行ls,与Unix 中的ls-R 类似。

16. mkdir

格式:hadoop dfs -mkdir <paths>

作用:以<paths> 中的URI 作为参数,创建目录。该命令的行为与Unix 中mkdir-p 的行为十分相似。这一路径上的父目录如果不存在,则创建该父目录。

示例:

  1. hadoop dfs -mkdir /user/hadoop/dir1 /user/hadoop/dir2  
  2. hadoop dfs -mkdir hdfs:// nn1.example.com/user/hadoop/dir  
  3. hdfs:// nn2.example.com/user/hadoop/dir 
返回值:成功结束返回0,出现错误返回-1。

17. moveFromLocal

格式:hadoop dfs -moveFromLocal <localsrc><dst>

作用:和put 命令类似,但是源文件localsrc 拷贝之后自身被删除。

18. moveToLocal

格式:hadoop dfs -moveToLocal [-crc] <src><dst>

作用:输出“Not implemented yet”信息,也就是说当前版本中未实现此命令。

19. mv

格式:hadoop dfs -mv URI [URI …] <dest>

作用:将文件从源路径移动到目标路径(移动之后源文件删除)。目标路径为目录的情况下,源路径可以有多个。跨文件系统的移动(本地到HDFS 或者反过来)

          是不允许的。

示例:

  1. hadoop dfs -mv /user/hadoop/file1 /user/hadoop./file2  
  2. hadoop dfs -mv hdfs:// nn.example.com/file1  
  3. hdfs:// nn.example.com/file2 
  4. hdfs:// nn.example.com/file3  
  5. hdfs:// nn.example.com/dir1 

返回值:成功结束返回0,出现错误返回-1。

20. put

格式:hadoop dfs -put <localsrc> … <dst>

作用:将单个的源文件src 或者多个源文件srcs 从本地文件系统拷贝到目标文件系统中(<dst> 对应的路径。也可以从标准输入中读取输入,写入目标文件系统中。

示例:

  1. hadoop dfs -put localfile /user/hadoop/hadoopfile  
  2. hadoop dfs -put localfile1 localfile2 /user/hadoop/hadoopdir  
  3. hadoop dfs -put localfile hdfs:// nn.example.com/hadoop/hadoopfile  
  4. hadoop dfs -put - hdfs:// nn.example.com/hadoop/hadoopfile 
21. rm

格式:hadoop dfs -rm [-skipTrash] URI [URI …]

作用:删除参数指定的文件,参数可以有多个。此命令只删除文件和非空目录。如果指定了-skipTrash 选项,那么在回收站可用的情况下,该选项将跳过回收站而直接删除文                 件;否则,在回收站可用时,在HDFS Shell 中执行此命令,会将文件暂时放到回收站中。这一选项在删除超过容量限制的目录(over-quota directory)中的文件时很有             用。需要递归删除时可参考rmr 命令。

示例:

  1. hadoop dfs -rm hdfs:// nn.example.com/file /user/hadoop/emptydir 
22. rmr

格式:hadoop dfs -rmr [-skipTrash] URI [URI …]

作用:删除操作的递归版本,即递归删除所有子目录下的文件。如果指定了-skipTrash选项,那么在回收站可用的情况下,该选项将跳过回收站而直接删除文件;否则,在回收             站可用时,在HDFS Shell 中执行此命令,会将文件暂时放到回收站中。这一选项在删除超过容量限制的目录(over-quota directory)中的文件时很有用。

示例:

  1. hadoop dfs -rmr /user/hadoop/dir  
  2. hadoop dfs -rmr hdfs:// nn.example.com/user/hadoop/dir 
23. setrep

格式:hadoop dfs -setrep [-R] <path>

作用:改变一个文件在HDFS 中的副本个数。使用-R 选项可以对一个目录下的所有目录+ 文件递归执行改变副本个数的操作。

示例:

  1. hadoop dfs -setrep -w 3 -R /user/hadoop/dir1 
24. stat

格式:hadoop dfs -stat [format] URI [URI …]

作用:返回对应路径的状态信息。可以通过与C 语言中的printf 类似的格式化字符串定制输出格式,这里支持的格式字符有:

%b:文件大小

%o:Block 大小

%n:文件名

%r:副本个数

%y 或%Y:最后一次修改日期和时间

默认情况输出最后一次修改日期和时间。

示例:

  1. hadoop dfs -stat path  
  2. hadoop dfs -stat “%n %b %o %y”path 

 25. tail

格式:hadoop dfs -tail [-f] URI

作用:在标准输出中显示文件末尾的1KB 数据。-f 的用法与Unix 类似,也就是说当文件尾部添加了新的数据或者做出了修改时,在标准输出中也会刷新显示。

示例:

  1. hadoop dfs -tail pathname 
26. test

格式:hadoop dfs -test -[ezd] URI

作用:判断文件信息。

选项含义:

-e 检查文件是否存在,如果存在返回0。

-z 检查文件大小是否为0,是的话返回0。

-d 检查这一路径是否为目录,是的话返回0。

如果返回0 则不输出,否则会输出相应的信息。

示例:

  1. hadoop dfs -test -e filename 

 27. text

格式:hadoop dfs -text <src>

作用:将文本文件或者某些格式的非文本文件通过文本格式输出。允许的格式有zip 和TextRecordInputStream。

28. touchz

格式:hadoop dfs -touchz URI [URI …]

作用:创建一个大小为0 的文件。

示例:

  1. hadoop dfs -touchz pathname 
返回值:成功结束返回0,出现错误返回-1。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值