HDFS 基本 shell 操作
创始人
2024-01-21 12:19:41

HDFS 基本 shell 操作

  • 1.1 创建目录
  • 1.2 上传指令
  • 1.3 创建空文件
  • 1.4 向分布式文件系统中的文件里追加内容
  • 1.5 查看指令
  • 1.6 下载指令
  • 1.7 合并下载
  • 1.8 移动hdfs中的文件
  • 1.9 复制hdfs中的文件到hdfs的另一个目录
  • 1.10 删除命令
  • 1.11 查看磁盘利用率和文件大小
  • 1.12 修改权限
  • 1.13 修改文件的副本数
  • 1.14 查看文件的状态
  • 1.15 测试

1.1 创建目录

调用格式:

hdfs dfs -mkdir (-p)  /目录

例如:

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

在这里插入图片描述
在这里插入图片描述

1.2 上传指令

调用格式:

hdfs dfs -put /本地文件  /分布式文件系统路径

注意: 直接写/是省略了文件系统的名称hdfs://ip:port。
例如:

hdfs dfs -put /root/a.txt /data/    # root 下的 a.txt 上传到 /data
hdfs dfs -put /root/logs/* /data/   # logs 下的所有文件上传到 /data

在这里插入图片描述
在这里插入图片描述

1.3 创建空文件

调用格式:

hdfs dfs -touchz  /系统路径/文件名

例如:

hdfs dfs -touchz  /hadooptest.txt

在这里插入图片描述
在这里插入图片描述

1.4 向分布式文件系统中的文件里追加内容

调用格式:

hdfs dfs -appendToFile  本地文件     hdfs上的文件
注意:
1)不支持在中间随意增删改操作
2)往空文件中追加就相当于直接写文件,所以能追加进去

本地文件 hello1.txt 的内容追加到 hdfs 文件 hello.txt 的后面操作如下:

在这里插入图片描述
原 hello.txt:hello world
原 hello1.txt:hello
追加的 hello.txt 中内容如下

在这里插入图片描述

1.5 查看指令

查看分布式文件系统的目录里内容

调用格式:hdfs dfs -ls /

在这里插入图片描述

查看分布式文件系统的文件内容

调用格式:hdfs dfs -cat /xxx.txt

在这里插入图片描述
在这里插入图片描述

查看分布式文件系统的文件内容

调用格式:hdfs dfs -tail /xxx.txt
注意:默认最多查看1000行

1.6 下载指令

hdfs dfs -copyToLocal  hdfs上的文件 本地路径
注意:本地路径的文件夹可以不存在
hdfs dfs -moveToLocal hdfs上的文件 本地路径
注意:从hdfs的某个路径将数据剪切到本地,已经被遗弃了
hdfs dfs -get hdfs上的文件 本地路径
调用格式:同copyToLoca

1.7 合并下载

调用格式:hdfs dfs -getmerge  hdfs上面的路径   本地的路径    
实例:hdfs dfs -getmerge /data/*.txt /root/c.txt(将hdfs上的a.txt和b.txt文件合并为c.txt保存在本地root目录下)

1.8 移动hdfs中的文件

调用格式:hdfs dfs -mv /hdfs的路径1  /hdfs的另一个路径2    
实例:hfds dfs -mv /aaa   /bbb  这里是将aaa整体移动到bbb中

原来目录如下:

在这里插入图片描述
把根目录下的 hello1 移动到 /data/ 后的目录如下

在这里插入图片描述

1.9 复制hdfs中的文件到hdfs的另一个目录

调用格式:hdfs dfs -cp 原路径  想要复制到的路径

在这里插入图片描述

1.10 删除命令

hfds dfs -rm [-f] [-r|-R] [-skipTrash]  ...
注意:如果删除文件夹需要加-rhfds dfs -rmdir [--ignore-fail-on-non-empty]  ...
注意:必须是空文件夹,如果非空必须使用rm删除

1.11 查看磁盘利用率和文件大小

hfds dfs -df [-h] [ ...]]     #查看分布式系统的磁盘使用情况
hfds dfs -du [-s] [-h]  ...	#查看分布式系统上当前路径下文件的情况	-h:human 以人类可读的方式显示

在这里插入图片描述
在这里插入图片描述

1.12 修改权限

跟本地的操作一致,-R是让子目录或文件也进行相应的修改

hfds dfs -chgrp [-R] GROUP PATH...
hfds dfs -chmod [-R]  PATH...
hfds dfs -chown [-R] [OWNER][:[GROUP]] PATH...

1.13 修改文件的副本数

调用格式:hadoop fs -setrep  3 /   将hdfs根目录及子目录下的内容设置成3个副本
注意:当设置的副本数量与初始化时默认的副本数量不一致时,集群会作出反应,比原来多了会自动进行复制.

1.14 查看文件的状态

命令的作用:当向hdfs上写文件时,可以通过dfs.blocksize配置项来设置文件的block的大小。这就导致了hdfs上的不同的文件block的大小是不相同的。有时候想知道hdfs上某个文件的block大小,可以预先估算一下计算的task的个数。stat的意义:可以查看文件的一些属性。

调用格式:hdfs dfs -stat [format] 文件路径
format的形式:
%b:打印文件的大小(目录大小为0)
%n:打印文件名
%o:打印block的size
%r:打印副本数
%y:utc时间 yyyy-MM-dd HH:mm:ss
%Y:打印自1970年1月1日以来的utc的微秒数
%F:目录打印directory,文件打印regular file
注意:
# 当使用-stat命令但不指定format时,只打印创建时间,相当于%y
# -stat 后面只跟目录,%r,%o等打印的都是0,只有文件才有副本和大小

在这里插入图片描述

1.15 测试

参数说明: 
-e:文件是否存在  存在返回0    
-z:文件是否为空  为空返回0   
-d:是否是路径(目录) ,是返回0
调用格式:hdfs dfs -test -d 文件 
实例:hdfs dfs -test -d /data/hello.txt  && echo "OK"  || echo "no"
解释:测试当前的内容是否是文件夹 ,如果是返回ok,如果不是返回no

在这里插入图片描述

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
1和0什么意思网络用语 0和1... 最近,有网友给大家出了份考卷,卷面是几位“00后”的QQ对 话:dbq、xswl、nss、nbcs、...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
七大洲八大洋 七大洲简易图三角... 一、北美洲(中北美和加勒比海)北美洲面积约2471万平方公里,居世界第三。人口约5.79亿(2016...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...