1. 前言

HDFS命令基本格式:hadoop fs -cmd < args >


2. ls 命令

hadoop fs -ls /
列出hdfs文件系统根目录下的目录和文件

hadoop fs -ls -R /
列出hdfs文件系统所有的目录和文件


3. put 命令

hadoop fs -put < local file > < hdfs file >
hdfs file的父目录一定要存在,否则命令不会执行

hadoop fs -put < local file or dir >…< hdfs dir >
hdfs dir 一定要存在,否则命令不会执行


4. get 命令

hadoop fs -get < hdfs file > < local file or dir>
local file不能和 hdfs file名字不能相同,否则会提示文件已存在,没有重名的文件会复制到本地

hadoop fs -get < hdfs file or dir > … < local dir >
拷贝多个文件或目录到本地时,本地要为文件夹路径


5. rm 命令

hadoop fs -rm -r -f < hdfs file > …
删除单个文件

hadoop fs -rm -r < hdfs dir>…
每次可以删除多个文件或目录


6. mkdir 命令

hadoop fs -mkdir < hdfs path>
只能一级一级的建目录,父目录不存在的话使用这个命令会报错

hadoop fs -mkdir -p < hdfs path>
所创建的目录如果父目录不存在就创建该父目录


7. cp 命令

hadoop fs -cp < hdfs file > < hdfs file >
目标文件不能存在,否则命令不能执行,相当于给文件重命名并保存,源文件还存在

hadoop fs -cp < hdfs file or dir >… < hdfs dir >
目标文件夹要存在,否则命令不能执行


8. mv 命令

hadoop fs -mv < hdfs file > < hdfs file >
目标文件不能存在,否则命令不能执行,相当于给文件重命名并保存,源文件不存在

hadoop fs -mv < hdfs file or dir >… < hdfs dir >
源路径有多个时,目标路径必须为目录,且必须存在。


9. count 命令

hadoop fs -count < hdfs path >
统计hdfs对应路径下的目录个数,文件个数,文件总计大小
显示为目录个数,文件个数,文件总计大小,输入路径


10. du 命令

hadoop fs -du < hdsf path>
显示hdfs对应路径下每个文件夹和文件的大小

hadoop fs -du -s < hdsf path>
显示hdfs对应路径下所有文件和的大小

hadoop fs -du - h < hdsf path>
显示hdfs对应路径下每个文件夹和文件的大小,文件的大小用方便阅读的形式表示,例如用64M代替67108864


11. text 命令

hadoop fs -text < hdsf file>
将文本文件或某些格式的非文本文件通过文本格式输出


12. tail 命令

hadoop fs -tail < hdfs file >
在标准输出中显示文件末尾的1KB数据


13. 操作演示

(1) 列出HDFS下的文件
hadoop fs -ls /
(2) 上传文件
将hadoop目录下的test1文件上传到HDFS上并重命名为test:
hadoop fs -put ./test1 /test
(3) 文件被复制到本地系统中
将HDFS中的test文件复制到本地系统并命名为getin:
hadoop fs -get /test ~/getin
(4) 删除文档
删除HDFS下名为out的文档:
hadoop fs -rm -r -f /out
(5) 查看文件
查看HDFS下test文件中的内容:
hadoop fs -cat /datas/test/*
(6) 建立目录
hadoop fs -mkdir -p /user/hadoop/test