调用文件系统(FS)Shell命令应使用 bin/hadoop fs 的形式。但也可以用hadoop dfs ,两者效果一样。(hadoop dfs命令已不再建议使用)
功能:输出这个命令参数手册
功能:显示目录信息
示例: hadoop fs -ls hdfs://server:9000/
备注:这些参数中,所有的hdfs路径都可以简写
----->hadoop fs -ls / 等同于上一条命令的效果
功能:ls命令的递归版本。类似于Unix中的ls -R
示例:hadoop fs -lsr /
功能:在hdfs上创建目录
示例:hadoop fs -mkdir /a/b
功能:显示文件内容
示例:hadoop fs -cat /a/a.txt
功能:显示一个文件的末尾
示例:hadoop fs -tail /a/a.txt
功能:以字符形式打印一个文件的内容
示例:hadoop fs -text /a/a.txt
功能:linux文件系统中的用法一样,对文件所属权限
示例:
hadoop fs -chmod 777 /a/a.txt
hadoop fs -chown user:grp /a/a.txt
功能:从本地文件系统中拷贝文件到hdfs路径去
示例:hadoop fs -copyFromLocal ./jdk.tar.gz /a/
功能:从hdfs拷贝到本地
示例:hadoop fs -copyToLocal /a/jdk.tar.gz ./
功能:从hdfs的一个路径拷贝hdfs的另一个路径
示例: hadoop fs -cp /a/jdk.tar.gz /b/jdk.tar.gz
功能:在hdfs目录中移动文件
示例: hadoop fs -mv /a/jdk.tar.gz /
功能:从本地剪切粘贴到hdfs
示例:hadoop fs - moveFromLocal /home/hadoop/a.txt /a
功能:从hdfs剪切粘贴到本地
示例:hadoop fs - moveToLocal /a/a.txt /home/hadoop
功能:追加一个文件到已经存在的文件末尾
示例:hadoop fs -appendToFile ./a.txt hdfs://server:9000/a.txt
可以简写为:
Hadoop fs -appendToFile ./a.txt /a.txt
功能:等同于copyToLocal,就是从hdfs下载文件到本地
示例:hadoop fs -get /a/jdk.tar.gz ./
功能:合并下载多个文件
示例:比如hdfs的目录 /a/下有多个文件:log.1, log.2,log.3,…
hadoop fs -getmerge /a/log.* ./log.sum
功能:等同于copyFromLocal
示例:hadoop fs -put /a/jdk.tar.gz /b/jdk.tar.gz
功能:删除文件或文件夹
示例:hadoop fs -rm -r /a/b/
功能:递归删除文件或文件夹
示例:hadoop fs -rmr /a
功能:删除空目录
示例:hadoop fs -rmdir /a/b/c
功能:统计文件系统的可用空间信息
示例:hadoop fs -df -h /
功能:统计文件夹的大小信息
示例:hadoop fs -du -s -h /a/*
选项:
-e 检查文件是否存在。如果存在则返回0。
-z 检查文件是否是0字节。如果是则返回0。
-d 如果路径是个目录,则返回1,否则返回0
示例:hadoop fs -test -[ezd] /a/a.txt
功能:统计一个指定目录下的文件节点数量
示例:hadoop fs -count /a/
功能:设置hdfs中文件的副本数量
示例:hadoop fs -setrep 3 /a/jdk.tar.gz
功能:清空回收站
示例:hadoop fs -expunge