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