大数据之Hadoop:HDFS的Shell操作

HDFS的Shell操作
1.基本语法
bin/hadoop fs 具体命令
bin/hdfs dfs 具体命令
dfs是fs的实现类。
2.常用命令实操
(1)-help:输出这个命令参数

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -help rm

(2)-ls: 显示目录信息
用法1:hadoop fs -ls /
功能:列出hdfs文件系统根目录下的目录和文件
用法2:hadoop fs -ls -R /
功能:列出hdfs文件系统所有的目录和文件

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -ls /

(3)-mkdir:在HDFS上创建目录
用法1:hadoop fs -mkdir
功能:只能一级一级的建目录,父目录不存在的话使用这个命令会报错
用法2:hadoop fs -mkdir -p
功能:所创建的目录如果父目录不存在就创建该父目录

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -mkdir -p /sanguo/shuguo

(4)-test
 功能:测试检查目录或者文件是否存在
 使用方法:hadoop fs -test -[ezd] URI
选项:
     -e 检查文件是否存在。如果存在则返回0。
     -z 检查文件是否是0字节。如果是则返回0。
-d 如果路径是个目录,则返回0,否则返回1。

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -test -e /jinghang
[jinghang@hadoop102 hadoop-2.7.2]$ echo $?
[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -test -z /jinghang/a.txt
[jinghang@hadoop102 hadoop-2.7.2]$ echo $?
[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -test -d /jinghang/a.txt
[jinghang@hadoop102 hadoop-2.7.2]$ echo $?

(5)-moveFromLocal:从本地剪切粘贴到HDFS
用法:hadoop fs -moveFromLocal
功能:与put相类似,命令执行后源文件 local src 被删除

[jinghang@hadoop102 hadoop-2.7.2]$ touch kongming.txt
[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs  -moveFromLocal  ./kongming.txt  /sanguo/shuguo

(6)-appendToFile:追加一个文件到已经存在的文件末尾
用法:hadoop fs -appendToFile
功能:将一本地文件中的内容拼接在hdfs文件中

[jinghang@hadoop102 hadoop-2.7.2]$ touch liubei.txt
[jinghang@hadoop102 hadoop-2.7.2]$ vi liubei.txt

输入
san gu mao lu

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -appendToFile liubei.txt /sanguo/shuguo/kongming.txt

(6)-cat:显示文件内容

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -cat /sanguo/shuguo/kongming.txt

(7)-chmod、-chown:Linux文件系统中的用法一样,修改文件所属权限、
用法:hadoop fs -chown 用户名:组名
功能:修改文件或目录所属用户和组,递归加参数-R,chmod

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs  -chmod  666  /sanguo/shuguo/kongming.txt
[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs  -chown  jinghang:jinghang   /sanguo/shuguo/kongming.txt

(8)-copyFromLocal:从本地文件系统中拷贝文件到HDFS路径去
用法:hadoop fs -copyFromLocal
功能:与put相类似

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -copyFromLocal README.txt /

(9)-copyToLocal:从HDFS拷贝到本地
用法:hadoop fs -copyToLocal
功能:与get相类似

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -copyToLocal /sanguo/shuguo/kongming.txt ./

(10)-cp :从HDFS的一个路径拷贝到HDFS的另一个路径
用法:hadoop fs -cp
功能:目标文件不能存在,否则命令不能执行,相当于给文件重命名并保存,源文件还存在

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -cp /sanguo/shuguo/kongming.txt /zhuge.txt

(11)-mv:在HDFS目录中移动文件
用法:hadoop fs -mv
功能:目标文件不能存在,否则命令不能执行,相当于给文件重命名并保存,源文件不存在

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -mv /zhuge.txt /sanguo/shuguo/

(12)-get:等同于copyToLocal,就是从HDFS下载文件到本地
用法:hadoop fs -get
功能:local file不能和 hdfs file名字不能相同,否则会提示文件已存在,没有重名的文件会复制到本地

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -get /sanguo/shuguo/kongming.txt ./

(13)-getmerge:合并下载多个文件,比如HDFS的目录 /user/jinghang/test下有多个文件:log.1, log.2,log.3,…

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -getmerge /user/jinghang/test/* ./zaiyiqi.txt

(13)-put:等同于copyFromLocal
用法:hadoop fs -put
功能:hdfs file的父目录一定要存在,否则命令不会执行

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -put ./zaiyiqi.txt /user/jinghang/test/

(15)-tail:显示一个文件的末尾
用法:hadoop fs -tail
功能:查看大文件后10行

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -tail -f /sanguo/shuguo/kongming.txt

(16)-rm:删除文件或文件夹
用法1:hadoop fs -rm
功能:删除文件
用法2:hadoop fs -rm -r
功能:删除目录

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -rm /user/jinghang/test/jinlian2.txt

(17)-rmdir:删除空目录

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -mkdir /test
[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -rmdir /test

(18)-du统计文件夹的大小信息

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -du -s  /user/jinghang/test
[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -du  -h /user/jinghang/test

(19)-setrep:设置HDFS中文件的副本数量

[jinghang@hadoop102 hadoop-2.7.2]$ hadoop fs -setrep 10 /wcinput/input.txt
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值