HDFS的Shell操作

本文详细介绍了如何使用HDFS的Shell进行文件系统管理,包括创建目录、上传下载文件、删除、拷贝、权限设置、修改副本数量、文件测试以及查看磁盘使用率等基本操作。
摘要由CSDN通过智能技术生成


一、HDFS的Shell

HDFS是一个分布式文件系统,我们可以使用一些命令来操作HDFS集群上的文件。例如文件上传、下载、移动、拷贝等操作。
HDFS的Shell操作主命令都是hdfs dfs ,其他的操作直接向后拼接即可。

二、Shell操作

1.创建目录

-[-mkdir [-p] …] #在分布式中文件系统上创建目录,-p参数可多层创建
调用格式:hdfs dfs -mkdir (-p)/目录
例如:

hdfs dfs -mkdir /data
hdfs dfs-mkdir -p /data/a/b/c 

2.上传命令

#将本机系统文件上传至分布式文件系统
[-put [-f ] [-p] [-l] <本地文件夹或文件路径> <上传到hdfs的文件路径>]
调用格式:hdfs dfs -put /本地文件 /分布式文件系统路径
注意 ,直接写/是忽略了文件系统的名称hdfs://ip:port
例如 :

  [root@serverx ~]# hdfs dfs -put  /root/a.txt /data/
  #模糊搜索上传
  [root@serverx ~]# hdfs dfs -put /root/logs/*.txt /data/
  #从本地拷贝到hdfs上
  [root@serverx ~]# hdfs dfs -copyFromLocal /root/data/a.txt /data/
  #将本机文件移动到hdfs上
  [root@serverx ~]# hdfs dfs -moveFromLocal /root/data/a.txt /data/

3.查看命令

#查看分布式文件系统目录里的内容;-h把文件大小以M的形式展示,默认为字节,-R递归查看
[root@serverx ~]# hdfs dfs -ls /
#查看分布式文件系统的文件内容
[root@serverx ~]# hdfs dfs -cat /a.txt
#查看分布式文件系统的文件最后几行内容;-head是查看文件开头的几行
[root@serverx ~]# hdfs dfs -tail /a.txt

4. 下载命令

#将分布式文件系统上的文件下载到本机,不写下载到哪个路径,会默认下载到当前路径
[root@serverx ~]# hdfs dfs -copyToLocal /a.txt ~/
[root@serverx ~]#hdfs dfs -get /s.txt 
#将文件合并下载,例如/data目录下有2个文件file1和file2,使用该命令可以将2个文件合并到本机file文件里面
[root@serverx ~]# hdfs dfs -germerge /data/* file

5. 文件的删除

#删除文件
[root@serverx ~]# hdfs dfs -rm /a.txt
#删除文件夹
[root@serverx ~]# hdfs dfs -rm -r /data

6. 文件的拷贝

#将/data/a.txt文件拷贝到根目录下
[root@serverx ~]# hdfs dfs /data/a.txt /
#移动或更改文件名,将a.txt改为b.txt
[root@serverx ~]# hdfs dfs -mv /data/a.txt /data/b.txt

7. 创建空文件并向空文件中追加内容

#在根目录下创建一个名为file的空文件
[root@serverx ~]# hdfs dfs touchz /file
#HDFS系统文件不支持数据插入删除和修改的操作,只支持内容的追加
[root@serverx ~]# hdfs dfs -appendToFile 本地文件 hdfs上文件

8.修改文件权限

#修改文件权限
[root@serverx ~]# hdfs dfs -chmod 777 /file
#修改文件夹权限,会进行递归的修改/input文件夹下的所有文件的权限
[root@serverx ~]# hdfs dfs -chmod -R 777 /input
#修改文件的所属用户
[root@serverx ~]# hdfs dfs -chown root /file
#修改文件的所属组
[root@serverx ~]# hdfs dfs -chown :root /file
#同时修改所属用户所属组
[root@serverx ~]# hdfs dfs -chown root:root /file

9. 修改文件副本数量

#修改文件或文件夹副本数量,注意当修改文件夹时该文件夹下的所有文件的副本数量也会跟着改变
[root@serverx ~]# hdfs dfs -setrep 5 /file

10. 文件测试

主要是测试该目录是否是文件夹,是否存在等
#该目录是否是一个文件夹,如果是则输出OK,反之输出NO
[root@serverx ~]# hdfs dfs -test -d /input && echo "Ok" || echo "NO"
#查看一个文件或一个文件夹是否存在
[root@serverx ~]# hdfs dfs -test -e /input && echo "OK" || echo "NO"
#查看文件是否为空
[root@serverx ~]# hdfs dfs -test -z /input && echo "OK" || echo "NO"

11.查看磁盘的使用率

[root@serverx ~]# hdfs dfs -df -h /

总结

以上就是hdfs的shell操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值