Hadoop分布式文件系统(HDFS)的基本命令

转载于:https://blog.csdn.net/zhaojw_420/article/details/53161624

1、-help[cmd] 显示命令的帮助信息

./hdfs dfs -help ls
  • 1

2、-ls(r) 显示当前目录下的所有文件 -R层层循出文件夹

./hdfs dfs -ls /log/map
./hdfs dfs -lsr /log/   (递归的)
  • 1
  • 2

3、-du(s) 显示目录中所有文件大小,或者当只指定一个文件时,显示此文件的大小

./hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://host:port/user/hadoop/dir1
  • 1

4、-count[-q] 显示当前目录下的所有文件大小 
5、-mv 移动多个文件目录到目标目录

./hdfs dfs -mv /user/hadoop/file1 /user/hadoop/file2
  • 1

6、-cp 复制多个文件到目标目录

./hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2 (将文件从源路径复制到目标路径。
这个命令允许有多个源路径,此时目标路径必须是一个目录。)
  • 1
  • 2

7、-rm(r) 删除文件(夹)

./hdfs dfs -rmr /log/map1  (递归删除)
  • 1

8、-put 本地文件复制到hdfs

./hdfs dfs -put test.txt /log/map/
  • 1

9、-copyFromLocal 本地文件复制到hdfs

./hdfs dfs -copyFromLOcal /usr/data/text.txt /log/map1/   (将本地的text.txt 复制到hdfs的/log/map1/下)
  • 1

10、-moveFromLocal 本地文件移动到hdfs

./hdfs dfs -moveFromLocal /usr/data/text.txt /log/map1/   (将本地的text.txt移动到hdfs的/log/map1/下)
  • 1

11、-get[-ignoreCrc] 复制文件到本地,可以忽略crc校验

./hdfs dfs -get /log/map1/*  . (复制到本地当前目录下)
/hdfs dfs -get /log/map1/* /usr/data (将hdfs下的/log/map1/下的所有文件全部复制到本地的/usr/data/下 )
  • 1
  • 2

12、-getmerge[addnl] 将源目录中的所有文件排序合并到一个文件中,接受一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本地目标文件。addnl是可选的,用于指定在每个文件结尾添加一个换行符。

./hdfs dfs -getmerge /log/map1/* /usr/data(将hdfs上的/log/map1/下的所有文件合并下载到本地的/usr/data下)
  • 1

13、-cat 在终端显示文件内容

 ./hdfs dfs -cat /log/map1/part-00000  | head (读取hdfs上的/log/map1下的part-00000文件    head参数,代表前十行。)

 /hdfs dfs -tail /log/map1/part-00000 (查看文件的最后一千行)
  • 1
  • 2
  • 3

14、-text 在终端显示文件内容,将源文件输出为文本格式。允许的格式是zip和TextRecordInputStream 
15、-copyToLocal[-ignoreCrc] 复制文件到本地 
16、-moveToLocal 移动文件到本地 
17、-mkdir 创建文件夹 后跟-p 可以创建不存在的父路径

./hdfs dfs -mkdir -p /dir1/dir11/dir111  
  • 1

18、-touchz 创建一个空文件

19、-grep 从hdfs上过滤包含某个字符的行内容

./hdfs dfs -cat /log/testlog/* | grep 过滤字段

猜你喜欢

转载自blog.csdn.net/sofuzi/article/details/79676021