Hadoop——HDF的Shell命令
作者:互联网
指令目录
1、创建目录与文件
mkdir创建文件夹:hdfs fs -mkdir [-p] < paths >
touchz新建文件:hdfs fs -touchz URI [URI …]
接受路径指定的uri作为参数,创建这些目录。其行为类似于Unix的mkdir -p,它会创建路径中的各级父目录。
命令 | 解释 | 例子 |
---|---|---|
hdfs fs -mkdir(paths) | 在分布式主目录下新建文件夹 | hdfs dfs -mkdir /test |
hdfs fs -touchz URI [URI …] | 在/test/下新建文件file1 | hdfs dfs -touchz /test/file1 |
2、显示目录与文件名
使用方法:hdfs dfs -ls [-d][-h][-R] < paths >
命令 | 解释 | 例子 |
---|---|---|
hdfs dfs -ls | 列出目录下的所有文件和目录信息 | hdfs dfs -ls /test |
hdfs dfs -ls -d | 列出/test目录信息 | hdfs dfs -mkdir /test |
hdfs dfs -ls -h | 列出目录和文件的大小 | hdfs dfs -ls -h /test |
hdfs dfs -ls -R | 循环列出目录、子目录及文件信息 | hdfs dfs -ls -R /test |
3、rm删除目录和文件
使用方法:hdfs dfs -rm [-f] [-r|-R] < paths >
命令 | 解释 | 例子 |
---|---|---|
hdfs dfs -rm | 删除文件 | hdfs dfs -rm /test/dir0/file1 |
hdfs dfs -rm -r | 级联删除目录下的所有文件和子目录文件 | hdfs dfs -rm -r /test/dir0 |
4、put/get上传/下载
使用方法↓
hdfs dfs -put [-f] [-p] < localsrc > … < dst >
hdfs dfs -get [-p] [-ignoreCrc] [-crc] < src > … < localdst >
put将本地文件系统的复制到HDFS文件系统的目录下
get 将HDFS中的文件复制到本地文件系统中,与-put命令相反
命令 | 解释 | 例子 |
---|---|---|
hdfs dfs -put | / | hdfs dfs -put /test/test.txt |
hdfs dfs -put -f | -f 如果文件在分布式文件系统上已经存在,则覆盖存储,若不加则会报错 | hdfs dfs -put -f /home/hadoop/hfile /test/hfile |
hdfs dfs -put -p | -p 保持源文件的属性(组、拥有者、创建时间、权限等)把本地新建的文件放到分布式文件系统主目录下,保持源文件属性 | hdfs dfs -put -p /home/hadoop/file /test/ |
hdfs dfs -get | 把分布式文件系统目录下的文件复制到本地 | hdfs dfs -get /test/hfile /home/hadoop/hfile |
5、cat、text、tail查看文件内容
使用方法↓
hdfs dfs -cat/text [-ignoreCrc] < src >
Hdfs dfs -tail [-f] < file >
其中,-ignoreCrc 忽循环检验失败的文件;-f 动态更新显示数据,如查看某个不断增长的文件的日志文件。
3个命令都是在命令行窗口查看指定文件内容。区别是 text 不仅可以查看文本文件,还可以查看压缩文件和Avro序列化的文件,其他两个不可以;tail 查看的是最后1KB的文件(Linux上的tail默认查看最后10行记录)。
命令 | 解释 | 例子 |
---|---|---|
hdfs dfs -cat | 查看文件的内容 | hdfs dfs -cat /test/file |
hdfs dfs -text | 查看文件的内容 | hdfs dfs -text /test/file |
hdfs dfs -tail | 查看文件的内容 | hdfs dfs -tail /test/file |
5、appendToFile追写文件
使用方法: hdfs dfs -du [-s] [-h] < path > …
默认按字节显示指定目录所占空间大小。其中,-s显示指定目录下文件总大小;-h按照KMG数据大小单位显示文件大小,如果没有单位,默认为B。
命令 | 解释 | 例子 |
---|---|---|
hdfs dfs -appendToFile | 把本地文件系统文件追加到分布式文件系统中 | hdfs dfs -appendToFile /home/hadoop/file2 /test/file2 |
6、du显示占用磁盘空间大小
使用方法: hdfs dfs -du [-s] [-h] < path > …
默认按字节显示指定目录所占空间大小。其中,-s显示指定目录下文件总大小;-h按照KMG数据大小单位显示文件大小,如果没有单位,默认为B。
命令 | 解释 | 例子 |
---|---|---|
hdfs dfs -du | 显示分布式主目录下文件和目录大小 | hdfs dfs -du /test/ |
hdfs dfs -du -h | 显示分布式主目录下文件和目录大小 | hdfs dfs -du -h /test/ |
hdfs dfs -du -s | 显示分布式主目录下文件和目录大小 | hdfs dfs -du -s /test/ |
7、cp复制文件
将文件从SRC复制到DST,如果指定了多个SRC,则DST必须为一个目录
使用方法:hdfs fs –cp SRC [SRC …] DST
命令 | 例子 | 解释 |
---|---|---|
hdfs dfs -cp | hdfs dfs -cp /test/file2 /test/dir0 | 从/test复制file2文件至/test/dir0目录下 |
标签:hdfs,Shell,文件,put,Hadoop,dfs,HDF,test,目录 来源: https://blog.csdn.net/huisoul/article/details/121225315