以下所有命令前缀皆可替换:
hdfs dfs
< - >hadoop fs
查看文件常用命令
命令格式
hdfs dfs -ls path #查看文件列表
hdfs dfs -ls -R path #递归查看文件列表
hdfs dfs -lsr path #递归查看文件列表(同上)
hdfs dfs -du [-s] [-h] path #查看path下的磁盘情况,单位字节
使用示例
hdfs dfs -ls / #查询/目录下的所有文件和文件夹
hdfs dfs -ls -R /test #以递归的方式查询/test目录下的所有文件
hadoop fs -du -s -h /a.txt #查看文件信息
创建文件夹
命令格式
hdfs dfs -mkdir path
hdfs dfs -mkdir hdfs://127.0.0.1/path #同上
hdfs dfs -mkdir -p path #递归创建文件夹
使用用例
hdfs dfs -mkdir /user/iron #该命令可递归创建文件夹,不可重复创建
复制文件和目录
命令格式
hdfs dfs -cp 源目录 目标目录
使用示例
hdfs dfs -cp /user/iron /user/iron01 #该命令会将源目录的整个目录结构都复制到目标目录中
hdfs dfs -cp /user/iron/* /user/iron01 #该命令只会将源目录中的文件及其文件夹都复制到目标目录中
移动文件和目录
命令格式
hdfs dfs -mv 源目录 目标目录
使用示例
hdfs dfs -mv /user/iron /user/iron01
hdfs dfs -mv /user/aa.txt /user/bb.txt #将/user/aa.txt文件重命名为/user/bb.txt
赋予权限
命令格式
hdfs dfs -chown 属主:属组 path #改变文件属组、主
hdfs dfs -chmod -777 / #授予相应权限
hdfs dfs -chmod -R -777 / #递归授权
使用示例
hdfs dfs -chmod 777 /user/* #将user目录下的所用文件及其文件夹(不包含子文件夹中的文件)赋予777权限
hadoop fs -chown qiandao:konan /sanguo/shuguo.txt #改变改文件属组、主
上传文件
命令格式
hdfs dfs -put 源文件夹 目标文件夹
使用示例
hdfs dfs -put /home/hadoop01/iron/* /user/iron01 #该命令上传Linux文件系统中iron文件夹中的所有文件(不包括文件夹)
类似命令:
hdfs dfs -copyFromLocal 源文件夹 目标文件夹 #copyFromLocal作用同put
hdfs dfs -moveFromLocal 源文件夹 目标文件夹 #上传后删除本地
下载文件
命令格式
hdfs dfs -get 源文件夹 目标文件夹
使用示例
hdfs dfs -get /user/iron01 /home/hadoop01/iron #该命令下载hdfs文件系统中的iron01整个文件夹到Linux文件系统中
hdfs dfs -get /user/iron01/* /home/hadoop01/iron #该命令下载hdfs文件系统中的iron01整个文件夹到Linux文件系统中(不包含文件夹)
类似命令
hdfs dfs -copyToLocal 源文件夹 目标文件夹 #copyToLocal作用同get
hdfs dfs -moveToLocal 源文件夹 目标文件夹 #get后删除源文件
查看追加文件内容
命令格式
hadoop fs -cat path #从头查看这个文件
hadoop fs -text path #同上
hadoop fs -tail path #从尾部查看最后1K
使用示例
hadoop fs -cat /userjzl/home/book/aa.txt #查看/userjzl/home/book目录下文件aa.txt的内容(将-cat 换成-text效果一样)
hadoop fs -tail /userjzl/home/book/aa.txt
追加拷贝文件
命令格式
hdfs dfs -appendToFile 本地文件 目标文件 #追加文件到hdfs上的已有文件中
hdfs dfs -cp 源文件1 目标文件2 #hdfs间文件拷贝
使用示例
hdfs dfs -appendToFile /opt/dd.txt /opt/cc.txt /test/hellow.txt #追加本地bb.txt、cc.txt到hdfs上的hellow.txt中
hdfs dfs -cp /test/test2/test123/hellow.txt /test/
删除文件
命令格式
hdfs dfs -rm 目标文件 #rm不可以删除文件夹
hdfs dfs -rm -R 目标文件 #递归删除(慎用)
使用示例
hdfs dfs -rm /user/test.txt #删除test.txt文件
hdfs dfs -rm -R /user/testdir #递归删除testdir文件夹