设为首页 收藏本站
查看: 1189|回复: 0

[经验分享] Hadoop学习(四) FileSystem Shell命令详解

[复制链接]

尚未签到

发表于 2017-12-17 21:34:26 | 显示全部楼层 |阅读模式
  FileSystem Shell中大多数命令都和unix命令相同,只是两者之间的解释不同,如果你对unix命令有基本的了解,那么对于FileSystem Shell的命令,你将会感到很亲切。

appendToFile

语法:hdfs dfs -appendToFile <localsrc> ... <dst>
解释:将本地文件系统中的一个文件或多个文件添加到目标文件系统中,也可以从stdin读取input文件添加到目标文件系统中
范例:  

$ hdfs dfs -appendToFile localfile /user/hadoop/hadoopfile  

$ hdfs dfs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile  

$ hdfs dfs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile  
$ hdfs dfs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin
  


返回结果:
成功返回0,错误返回1
cat

语法:hdfs dfs -cat URI [URI ...]
解释:打印资源路径到控制台
范例:  

$ hdfs dfs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2  
$ hdfs dfs -cat file:///file3 /user/hadoop/file4
  


返回结果:
成功返回0,错误返回1
chgrp

语法:hdfs dfs -chgrp [-R] GROUP URI [URI ...]
解释:改变文件之间的组关系,操作者必须是文件所有者或者至少是超级用户
范例:  

$ hdfs df -chgrp bigdata hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2  
$ hdfs df -chgrp bigdata file:///file3 /user/hadoop/file4
  


返回结果:无
chmod

语法:hdfs dfs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...]
解释:变更文件权限,-R参数将文件及其所有子文件权限变更,操作者必须是文件所有者或者至少是超级用户
范例:  

#g+w表示给组划分权限,a+w表示给所有用户和组划分权限,u+w表示给用户划分权限  

$ hdfs dfs -chmod g+w hdfs://nn1.example.com/file1  
$ hdfs dfs -chmod -R g+w hdfs://nn1.example.com/file2
  


返回结果:无
chown

语法:hdfs dfs -chown [-R] [OWNER][:[GROUP]] URI [URI ]
解释:变更文件所有者,操作者必须是超级用户
范例:  

$ hdfs dfs -chown -R newOwner:newOwner_group hdfs://nn1.example.com/file1  


返回结果:无
copyFromLocal

语法:hdfs dfs -copyFromLocal <localsrc> URI
解释:该命令与put命令类似,但是该命令仅限于本地文件的添加
范例:  

$ hdfs dfs -copyFromLocal localfile /user/hadoop/hadoopfile  


返回结果:无
copyToLocal

语法:hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
解释:该命令与get命令类似,但是该命令仅限于本地文件的获取
范例:  

$ hdfs dfs -copyFromLocal /user/hadoop/hadoopfile localfile  


返回结果:无
count

语法:hdfs dfs -count [-q] [-h] <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
  • -h:可读格式的大小

范例:  

$ hdfs dfs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2  
$ hdfs dfs -count -q hdfs://nn1.example.com/file1
  
$ hdfs dfs -count -q -h hdfs://nn1.example.com/file1
  


返回结果:
成功返回0,错误返回-1
cp

语法:hdfs dfs -cp [-f] [-p | -p[topax]] URI [URI ...] <dest>
解释:从源到目的地复制文件。此命令允许多个源,以及在这种情况下,目的地必须是一个目录。
范例:  

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

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


返回结果:
成功返回0,错误返回-1
du

语法:hdfs dfs -du [-s] [-h] URI [URI ...]
解释:显示给定目录中的文件和目录的大小或文件的长度,以防其只是一个文件

  • -s:该选项将导致显示文件长度的汇总,而不是单个文件。
  • -h:选项将格式中的“可读的”时尚大小文件(如64.0m代替67108864)

范例:  

$ hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1  


返回结果:
成功返回0,错误返回-1
expunge

语法:hdfs dfs -expunge
解释:清空垃圾
范例:  

$ hdfs dfs -expunge  


返回结果:无
get

语法:hdfs dfs -get [-ignorecrc] [-crc] <src> <localdst>
解释:复制文件到本地文件系统,
范例:  

$ hdfs dfs -get /user/hadoop/file localfile  

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


返回结果:
成功返回0,错误返回-1
getfacl

语法:hdfs dfs -getfacl [-R] <path>
解释:显示访问控制列表(ACL)的文件和目录。如果一个目录的默认ACL,然后getfacl也显示默认的ACL。


  • R:列出所有文件和目录递归ACL。
  • path:文件或目录列表。

范例:  

$ hdfs dfs -getfacl /file  

$ hdfs dfs -getfacl -R /dir  


返回结果:
成功返回0,错误返回非0
getfattr

语法:hdfs dfs -getfattr [-R] -n name | -d [-e en] <path>
解释:显示文件或目录的扩展属性名称和值(如果有的话)

  • -R:递归列出所有文件和目录的属性。
  • -n name:转储命名扩展属性值。
  • -d:转储所有扩展属性的价值与路径。
  • -e encoding:检索后编码值。有效的编码是“文本”、“妖术”,和“Base64”。编码值为文本字符串括在双引号,编码值为十六进制和Base64是前缀0x 0。
  • path:文件或目录。

范例:  

$ hdfs dfs -getfattr -d /file  

$ hdfs dfs -getfattr -R -n user.myAttr /dir  


返回结果:
成功返回0,错误返回非0
getmerge

语法:hdfs dfs -getmerge <src> <localdst> [addnl]
解释:合并源目录文件内容,并将合并结果输出到本地文件
范例:  

$ hdfs dfs -getmerge hdfs://nn1.example.com/file1 localfile  


返回结果:无
ls

语法:hdfs dfs -ls [-R] <args>
解释:列表展示目录下的所有文件,-R表示递归展示
范例:  

$ hdfs dfs -ls /user/hadoop/file1  


返回结果:
成功返回0,错误返回-1
lsr

语法:hdfs dfs -lsr <args>
解释:递归展示目录下的所有文件
范例:  

$ hdfs dfs -lsr /user/hadoop/file1  


返回结果:
成功返回0,错误返回-1
mkdir

语法:hdfs dfs -mkdir [-p] <paths>
解释:创建文件
范例:  

$ hdfs dfs -mkdir /user/hadoop/dir1 /user/hadoop/dir2  

$ hdfs dfs -mkdir hdfs://nn1.example.com/user/hadoop/dir hdfs://nn2.example.com/user/hadoop/dir  


返回结果:
moveFromLocal

语法:hdfs dfs -moveFromLocal <localsrc> <dst>
解释:该命令与put类似,不同之处是本地文件被复制后会被删除
范例:  

$ hdfs dfs -moveFromLocal localfile hdfs://nn1.example.com/file1  


返回结果:无
moveToLocal

语法:hdfs dfs -moveToLocal [-crc] <src> <dst>
解释:移动文件到本地文件系统
范例:  

$ hdfs dfs -moveToLocal hdfs://nn1.example.com/file1 localfile  


返回结果:无
mv

语法:hdfs dfs -mv URI [URI ...] <dest>
解释:移动文件到目标目录下
范例:  

$ hdfs dfs -mv /user/hadoop/file1 /user/hadoop/file2  

$ hdfs dfs -mv hdfs://nn.example.com/file1 hdfs://nn.example.com/file2 hdfs://nn.example.com/file3 hdfs://nn.example.com/dir1  


返回结果:
成功返回0,错误返回-1
put

语法:hdfs dfs -put <localsrc> ... <dst>
解释:复制单个或多个本地资源到目标文件系统。另外从stdin读取输入并写入到目标文件系统。
范例:  

$ hdfs dfs -put localfile /user/hadoop/hadoopfile  

$ hdfs dfs -put localfile1 localfile2 /user/hadoop/hadoopdir  

$ hdfs dfs -put localfile hdfs://nn.example.com/hadoop/hadoopfile  
$ hdfs dfs -put - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin.
  


返回结果:
成功返回0,错误返回-1
rm

语法:hdfs dfs -rm [-f] [-r|-R] [-skipTrash] URI [URI ...]
解释:删除资源
范例:  

$ hdfs dfs -rm hdfs://nn.example.com/file /user/hadoop/emptydir  


返回结果:
成功返回0,错误返回-1
rmr

语法:hdfs dfs -rmr [-skipTrash] URI [URI ...]
解释:递归删除资源,rmr取代-rm -r
范例:  

$ hdfs dfs -rmr hdfs://nn.example.com/file /user/hadoop/emptydir  


返回结果:
成功返回0,错误返回-1
setfcal

语法:hdfs dfs -setfacl [-R] [-b|-k -m|-x <acl_spec> <path>]|[--set <acl_spec> <path>]
解释:设置文件和目录的访问控制列表
范例:  

$ hdfs dfs -setfacl -m user:hadoop:rw-/file  

$ hdfs dfs -setfacl -x user:hadoop /file  

$ hdfs dfs -setfacl -b /file  

$ hdfs dfs -setfacl -k /dir  

$ hdfs dfs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r--/file  

$ hdfs dfs -setfacl -R -m user:hadoop:r-x /dir  

$ hdfs dfs -setfacl -m default:user:hadoop:r-x /dir  


返回结果:
成功返回0,错误返回非0
setrep

语法:hdfs dfs -setrep [-R] [-w] <numReplicas> <path>
解释:更改文件的复制因素。如果路径是一个目录,则该命令递归地更改根目录树下所有文件的复制因素.
范例:  

$ hdfs dfs -setrep -w 3/user/hadoop/dir1  


返回结果:
成功返回0,错误返回-1
stat

语法:hdfs dfs -stat URI [URI ...]
解释:返回路径上的统计信息
范例:  

$ hdfs dfs -stat path  


返回结果:
成功返回0,错误返回-1
tail

语法: hdfs dfs -tail [-f] URI
解释:将文件的最后一千字节显示到stdout。
范例:  

$ hdfs dfs -tail pathname  


返回结果:
成功返回0,错误返回-1
test

语法:hdfs dfs -test -[ezd] URI
解释:检查资源

  • -e:将检查文件是否存在,如果为true,则返回0。
  • -z:将检查文件是否为零长度,如果为真则返回0。
  • -d:将检查路径是否为目录,如果为true则返回0。

范例:  

$ hdfs dfs -test -e filename  


返回结果:
成功返回0,错误返回-1
text

语法:hdfs dfs -text <src>
解释:获取源文件并以文本格式输出文件。 允许的格式是zip和TextRecordInputStream。
范例:  

$ hdfs dfs -text src  


返回结果:无
touchz

语法:hdfs dfs -touchz URI [URI ...]
解释:创建空文件
范例:  

$ hdfs dfs -touchz pathname  


返回结果:
成功返回0,错误返回-1

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-425170-1-1.html 上篇帖子: C# Hadoop学习笔记(二) 下篇帖子: Linux系统运维之Hadoop、Hive、Flume数据处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表