hdfs shell常用命令:
hadoop fs [generic options]
[-appendToFile … ]
[-cat [-ignoreCrc] …]
[-chgrp [-R] GROUP PATH…] 更改组
[-chmod [-R] <MODE[,MODE]… | OCTALMODE> PATH…]
[-chown [-R] [OWNER][:[GROUP]] PATH…] 更改所有人
[-copyFromLocal [-f] [-p] [-l] … ] 从本地拷贝到hdfs
[-copyToLocal [-p] [-ignoreCrc] [-crc] … ] 从hdfs拷贝到本地
[-count [-q] [-h] [-v] [-x]…]
[-cp [-f] [-p | -p[topax]] … ]
[-df [-h] […]]
[-du [-s] [-h] [-x]…] 查看大小
[-get [-p] [-ignoreCrc] [-crc] … ] 下载下来到本地
[-getmerge [-nl] ] 先合并后下载到本地
[-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] […]]
[-mkdir [-p]…]
[-moveFromLocal … ] 从本地移动到hdfs
[-moveToLocal ] 从hdfs移动到本地
[-mv … ]
[-put [-f] [-p] [-l] … ] 传本地文件到hdfs(常用)
[-rm [-f] [-r|-R] [-skipTrash] …]
[-rmdir [–ignore-fail-on-non-empty] <dir…] 删除目录
[-text [-ignoreCrc] …] 查看内容
举例:
查看/目录:
hadoop fs -ls /
上传本地文件README.txt到hdfs的/目录(常用):
hadoop fs -put README.txt /
拷贝本地文件到hdfs:
hadoop fs -copyFromLocal NOTICE.txt /
移动本地文件到hdfs的/目录下,此本地文件不再存在本地中:
hadoop fs -moveFromLocal temp.txt /
查看hdfs文件内容:
hadoop fs -cat /README.txt
或者
hadoop fs -text /README.txt
从hdfs下载README.txt文件到本地当前目录:
hadoop fs -get /README.txt .
创建目录/hdfs-test(给出完整路径):
hadoop fs -mkdir /hdfs-test
移动、改名文件(hdfs内部移动):
hadoop fs -mv /README.txt /hdfs-test/
复制一份文件(hdfs内部复制文件操作):
hadoop fs -cp /hdfs-test/README.txt /hdfs-test/README-bak.txt
将hdfs某个目录中的所有文件合成一个大文件后下载到本地当前目录中:
hadoop fs -getmerge /hdfs-test ./temp.txt
删除hdfs文件:
hadoop fs -rm /NOTICE.txt
删除hdfs一个目录:
hadoop fs -rm -r /hdfs-test 目录非空,也可删除
hadoop fs -rmdir /hdfs-test 目录非空,删除失败
递归查看hdfs文件夹下所有内容:
hadoop fs -ls -R /hdfsapi/test/