列出文件目录
命令格式:hdfs dfs -ls 目录路径
示例:查看HDFS根目录下的文件:
hdfs dfs -ls /
Found 3 items
drwxr-xr-x - hadoop supergroup 0 2020-01-15 22:55 /dataset
-rw-r--r-- 1 hadoop supergroup 38 2020-01-13 21:33 /hello.txt
drwxr-xr-x - hadoop supergroup 0 2020-01-13 21:12 /helloworld
如果想递归查看文件,可以使用 -R 参数,即可打印其子目录和子目录的文件。例如:
hdfs dfs -ls -R /
drwxr-xr-x - hadoop supergroup 0 2020-01-15 22:55 /dataset
drwxr-xr-x - hadoop supergroup 0 2020-01-15 22:55 /dataset/input
-rw-r--r-- 1 hadoop supergroup 38 2020-01-13 21:33 /hello.txt
drwxr-xr-x - hadoop supergroup 0 2020-01-13 21:12 /helloworld
创建文件夹
命令:hdfs dfs -mkdir 目录
示例:在根目录下创建temp目录:
hdfs dfs -mkdir /temp
hdfs dfs -ls /
Found 4 items
drwxr-xr-x - hadoop supergroup 0 2020-01-15 22:55 /dataset
-rw-r--r-- 1 hadoop supergroup 38 2020-01-13 21:33 /hello.txt
drwxr-xr-x - hadoop supergroup 0 2020-01-13 21:12 /helloworld
drwxr-xr-x - hadoop supergroup 0 2020-01-15 23:02 /temp
如果希望级联创建文件夹,需要在-mkdir命令使用-p参数,例如:
hdfs dfs -mkdir -p /temp/upload/2020/01/15
drwxr-xr-x - hadoop supergroup 0 2020-01-15 22:55 /dataset
drwxr-xr-x - hadoop supergroup 0 2020-01-15 22:55 /dataset/input
-rw-r--r-- 1 hadoop supergroup 38 2020-01-13 21:33 /hello.txt
drwxr-xr-x - hadoop supergroup 0 2020-01-13 21:12 /helloworld
drwxr-xr-x - hadoop supergroup 0 2020-01-15 23:07 /temp
drwxr-xr-x - hadoop supergroup 0 2020-01-15 23:07 /temp/upload
drwxr-xr-x - hadoop supergroup 0 2020-01-15 23:07 /temp/upload/2020
drwxr-xr-x - hadoop supergroup 0 2020-01-15 23:07 /temp/upload/2020/01
drwxr-xr-x - hadoop supergroup 0 2020-01-15 23:07 /temp/upload/2020/01/15
上传文件至HDFS
命令:hdfs dfs -put 源文件 目标目录
示例:将本地的Labixiaoxin.jpeg上传到/temp目录:
hdfs dfs -put Labixiaoxin.jpeg /temp
2020-01-15 23:14:53,236 INFO sasl.SaslDataTransferClient: SASL encryption trust check:
localHostTrusted = false, remoteHostTrusted = false
hdfs dfs -ls /temp
Found 2 items
-rw-r--r-- 1 hadoop supergroup 263804 2020-01-15 23:14 /temp/Labixiaoxin.jpeg
drwxr-xr-x - hadoop supergroup 0 2020-01-15 23:07 /temp/upload
从HDFS下载文件
命令:hdfs dfs -get HDFS文件路径 本地存放路径
示例:将HDFS上/temp/Labixiaoxin.jpeg下载到本地目录下的App目录:
hdfs dfs -get /temp/Labixiaoxin.jpeg App/Labixiaoxin.jpeg
2020-01-15 23:21:19,604 INFO sasl.SaslDataTransferClient: SASL encryption trust check:
localHostTrusted = false, remoteHostTrusted = false
ll App
总用量 260
drwxr-xr-x. 10 hadoop hadoop 161 1月 12 23:25 hadoop
-rw-r--r--. 1 hadoop hadoop 263804 1月 15 23:21 Labixiaoxin.jpeg
查看HDFS上的文件内容
命令:hdfs dfs -text(cat) HDFS文件路径
示例:查看HDFS上的/hello.txt文件:
hdfs dfs -text /hello.txt
2020-01-15 23:26:13,355 INFO sasl.SaslDataTransferClient: SASL encryption trust check:
localHostTrusted = false, remoteHostTrusted = false
hello world hello
hello welcome world
查看文件内容使用-cat命令也是可以的,例如:
hdfs dfs -cat /hello.txt
2020-01-15 23:27:45,549 INFO sasl.SaslDataTransferClient: SASL encryption trust check:
localHostTrusted = false, remoteHostTrusted = false
hello world hello
hello welcome world
如果不是文本文件,使用这两个命令打开时,会直接显示二进制内容。
统计目录下各文件大小
命令:hdfs dfs -du HDFS目录路径
示例:查看根目录下各文件大小
hdfs dfs -du /
0 0 /dataset
38 38 /hello.txt
0 0 /helloworld
263804 263804 /temp
删除HDFS上的文件或文件夹
命令:hdfs dfs -rm(r) 文件存放路径
示例:删除/hello.txt文件:
hdfs dfs -rm /hello.txt
Deleted /hello.txt
示例:删除/upload目录及其子目录
hdfs dfs -rmr /temp
rmr: DEPRECATED: Please use '-rm -r' instead.
Deleted /temp
在生产环境要谨慎使用-rmr命令,小心要删库跑路。