FS Shell
调用文件系统(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。
常用命令示例:
1.查看HDFS文件系统的目录
hadoop fs -ls /
HDFS完整的路径
hadoop fs -ls hdfs://192.168.8.101:9000/user/root/
2.创建一个目录test
hadoop fs -mkdir /test
3.下载HDFS的数据到本地目录
hadoop fs -get hdfs:hadoop:9000/jdk /root/jdk1.7
或hadoop fs -copyToLocalhdfs:hadoop:9000/jdk /root/jdk1.7
4.上传数据到HDFS
hadoop fs -put /root/jdk-8u111-linux-x64.tar.gz hdfs://hadoop:9000/jdk
或hadoop fs -copyFromLocal/root/jdk-8u111-linux-x64.tar.gz hdfs://hadoop:9000/jdk
5.删除HDFS的数据
hadoop -rmr /file
(删除文件夹 -rm -r)-r递归
6.查看HDFS中的数据
hadoop fs -cat /in.log
(加上 | more 可以分页,管道)hdfs fs -cat /in.log | more
7.hdfs中文件之间的拷贝
hadoop fs -cp hdfs:hadoop:9000/jdkhdfs:hadoop:9000/jdk1.7
8. 改变文件所属的组
hadoop fs -chgrp -R root own
9.改变文件的权限
hadoop fs -chmod -R 755 own
10.改变文件的所有者
hadoop fs -chown -R hadooper own11.清空垃圾桶
bin/hadoop fs -expunge12.显示目录中文件的大小
hadoop fs -du /user/hadoop/dir1
显示目录中所以文件的大小或者当只指定一个文件时,显示此文件的大小