一、HDFS的shell命令简介

​ 我们都知道HDFS 是存取数据的分布式文件系统,那么对HDFS 的操作,就是文件系统的基本操作,比如文件的创建、修改、删除、修改权限等,文件夹的创建、删除、重命名等。对HDFS 的操作命令类似于lLinux 的shell 对文件的操作,如ls、mkdir、rm 等。
我们在执行HDFS的shell操作的时候,一定要确定hadoop 是正常运行的,我们可以使用使用jps 命令确保看到各个hadoop 进程。
我们可以执行命令hadoop fs,来查看HDFS的shell操作的所有命令如下。

[root@hadoop ~]# hadoop fs
Usage: java FsShell
[-ls ]
[-lsr ]
[-du ]
[-dus ]
[-count[-q] ]
[-mv ]
[-cp ]
[-rm [-skipTrash] ]
[-rmr [-skipTrash] ]
[-expunge]
[-put … ]
[-copyFromLocal … ]
[-moveFromLocal … ]
[-get [-ignoreCrc] [-crc] ]
[-getmerge [addnl]]
[-cat ]
[-text ]
[-copyToLocal [-ignoreCrc] [-crc] ]
[-moveToLocal [-crc] ]
[-mkdir ]
[-setrep [-R] [-w] <path/file>]
[-touchz ]
[-test -[ezd] ]
[-stat [format] ]
[-tail [-f] ]
[-chmod [-R] <MODE[,MODE]… | OCTALMODE> PATH…]
[-chown [-R] [OWNER][:[GROUP]] PATH…]
[-chgrp [-R] GROUP PATH…]
[-help [cmd]]

二、HDFS的shell操作命令选项

选项名称 使用格式 含义
-ls -ls <路径> 查看指定路径的当前目录结构
-lsr -lsr <路径> 递归查看指定路径的目录结构
-du -du <路径> 统计目录下各文件大小
-dus -dus <路径> 汇总统计目录下文件(夹)大小
-count -count [-q] <路径> 统计文件(夹)数量
-mv -mv <源路径> <目的路径> 移动
-cp -cp <源路径> <目的路径> 复制
-rm -rm [-skipTrash] <路径> 删除文件/空白文件夹
-rmr -rmr [-skipTrash] <路径> 递归删除
-put -put <多个linux上的文件> <hdfs 路径> 上传文件
-copyFromLocal -copyFromLocal <多个linux 上的文件> <hdfs 路径> 从本地复制
-moveFromLocal -moveFromLocal <多个linux 上的文件> <hdfs 路径> 从本地移动
-getmerge -getmerge <源路径> <linux 路径> 合并到本地
-cat -cat <hdfs 路径> 查看文件内容
-text -text <hdfs 路径> 查看文件内容
-copyToLocal -copyToLocal [-ignoreCrc] [-crc] [hdfs 源路径] [linux 目的路径] 复制到本地
-moveToLocal -moveToLocal [-crc] <hdfs 源路径> <linux目的路径> 移动到本地
-setrep -setrep [-R] [-w] <副本数> <路径> 修改副本数量
-mkdir -mkdir <hdfs 路径> 创建空白文件夹
-touchz -touchz <文件路径> 创建空白文件
-stat -stat [format] <路径> 显示文件统计信息
-tail -tail [-f] <文件> 查看文件尾部信息
-chmod -chmod [-R] <权限模式> [路径] 修改权限
-chown -chown [-R] [属主][:[属组]]路径 修改属主
-chgrp -chgrp [-R] 属组名称 路径 修改属组
-help -help -help [命令选项] 帮助

三、各命令选项的用法

1. ls 显示当前目录结构

(1) 该命令选项表示查看指定路径的当前目录结构,后面跟hdfs 路径,如果下图所示

我们解释一下每一行的内容格式:

① 首字母表示文件夹(如果是“d”)还是文件(如果是“-”);
② 后面的9 位字符表示权限;
③ 后面的数字或者“-”表示副本数。如果是文件,使用数字表示副本数;文件夹没有副本;
④ 后面的“root”表示属主;
⑤ 后面的“supergroup”表示属组;
⑥ 后面的“0”、“ 84927175”表示文件大小,单位是字节;
⑦ 后面的时间表示修改时间,格式是年月日时分;
⑧ 最后一项表示文件路径。
可见根目录下面有1个文件夹、1个文件。

(2) 如果该命令选项后面没有路径,那么就会访问/user/<当前用户>目录。我们使用root用户登录,因此会访问hdfs 的/user/root 目录,但是如果没有这个目录/user/root,会提示文件不存在的错误如图3.1所示,添加该目录后再次执行该命令如图3.2,3.3所示。

图 3.1

图 3.2

图 3.3

2. -lsr 递归显示目录结构

该命令选项表示递归显示当前路径的目录结构,后面跟hdfs 路径。如下图所示。

显示/user 目录下有个root 目录,root 目录下有文件hello

3. -du 统计目录下各文件大小

该命令选项显示指定路径下的文件大小,单位是字节,如下图所示

4. -dus 汇总统计目录下文件大小

该命令选项显示指定路径的文件大小,单位是字节,如下图所示

5. count 统计文件(夹)数量

该命令选项显示指定路径下的文件夹数量、文件数量、文件总大小信息,如下图所示

6. mv 移动

该命令选项表示移动hdfs 的文件到指定的hdfs 目录中。后面跟两个路径,第一个表示源文件,第二个表示目的目录。如下图所示

在上图中有三条命令,是为了体现移动前后的变化情况。

7. cp 复制

该命令选项表示复制hdfs 指定的文件到指定的hdfs 目录中。后面跟两个路径,第一个是被复制的文件,第二个是目的地。如下图所示


在上图中有三条命令,是为了体现复制前后的变化情况。

8. rm 删除文件/空白文件夹

该命令选项表示删除指定的文件或者空目录,如下图所示

在上图 中,前三条命令是为了体现执行前后的变化情况。第四条命令是删除非空的“/user”目录,操作失败,表明不能删除非空目录

9. rmr 递归删除

该命令选项表示递归删除指定目录下的所有子目录和文件,如下图所示

10. put 上传文件

该命令选项表示把linux 上的文件复制到hdfs 中,如下图所示

11. copyFromLocal 从本地复制到hdfs

操作与-put 一致,不再举例。

12. moveFromLocal 从本地移动到hdfs

该命令表示把文件从linux 上移动到hdfs 中,如下图所示

13. getmerge 合并到本地

该命令选项的含义是把hdfs 指定目录下的所有文件内容合并到本地linux 的文件中,如下图所示

14. cat 查看文件内容

该命令选项是查看文件内容,如下图所示

15. text 查看文件内容

该命令选项可以认为作用和用法与-cat 相同,此处略。

16. mkdir 创建空白文件夹

该命令选项表示创建文件夹,后面跟的路径是在hdfs 将要创建的文件夹,如下图所示

17. setrep 设置副本数量

(1) 该命令选项是修改已保存文件的副本数量,后面跟副本数量,再跟文件路径,如下图所示

在图3.17 中,我们修改了文件/file1的副本数,由1 修改为2,意味着多了一个副本,HDFS 会自动执行文件的复制工作,产生新的副本。

(2) 如果最后的路径表示文件夹,那么需要跟选项-R,表示对文件夹中的所有文件都修改副本,如下图所示

在上图中,我们对/user/root 文件夹进行的操作,使用了选项-R,那么/user/root 下的文件file2,file1 的副本数发生了改变。

(3) 还有一个选项是-w,表示等待副本操作结束才退出命令,下图所示

18. touchz 创建空白文件

该命令选项是在hdfs 中创建空白文件,如下图 所示

19. stat 显示文件的统计信息

该命令选项显示文件的一些统计信息,如下图所示


在上图中,命令选项后面可以有格式,使用引号表示。示例中的格式“%b %n %o%r %Y”依次表示文件大小、文件名称、块大小、副本数、访问时间

20. tail 查看文件尾部内容

该命令选项显示文件最后1K 字节的内容。一般用于查看日志。如果带有选项-f,那么当文件内容变化时,也会自动显示。如下图所示

21. chmod 修改文件权限

(1) 该命令选项的使用类似于linux 的shell 中的chmod 用法,作用是修改文件的权限,如下图所示

(2) 在图3.23中,修改了文件/emptyfile 的权限。如果加上选项-R,可以对文件夹中的所有文件修改权限,如下图所示

22. chown 修改属主

该命令选项表示修改文件的属主,如下图所示

(2) 上图中把文件/emptyfile 的属主由root 修改为sunddenly。也可以同时修改属组,如下图所示

在上图中,把文件/emptyfile 的属主和属组都修改为itcast,如果只修改属组,可以使用“:sunddenly”。如果带有选项-R,意味着可以递归修改文件夹中的所有文件的属主、属组信息

23. chgrp 修改属组

该命令的作用是修改文件的属组,该命令相当于“chown :属组”的用法,如下图所示

24. help 帮助

该命令选项会显示帮助信息,后面跟上需要查询的命令选项即可,如下图所示


在上图中,查询的rm 的用法

HDFS的shell命令简介相关推荐

  1. 2021年大数据Hadoop(八):HDFS的Shell命令行使用

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 HDFS的Shell命 ...

  2. Hadoop之HDFS常用Shell命令

    Hadoop之HDFS常用Shell命令 启动Hadoop集群 sbin/start-dfs.shsbin/start-yarn.sh -help:输出这个命令参数 hadoop fs -help r ...

  3. Hadoop教程(三)HDFS文件系统Shell命令

    Hadoop教程(三)HDFS文件系统Shell命令 本文链接:https://blog.csdn.net/yuan_xw/article/details/50202381 Hadoop教程(三)HD ...

  4. 大数据_07 【hadoop HDFS的shell命令操作】

    大数据_07 [hadoop HDFS的shell命令操作] 01 基本语法 02 常用普通命令实操 03 HDFS常用高级命令 04 HDFS适用场景 05 HDFS不适用场景 06 hdfs的安全 ...

  5. 实验二 HDFS的Shell命令操作,和HDFS的API操作

    文章目录 实验目的 一. 实验原理 二.实验准备 实验内容 步骤 项目1 HDFS常见命令练习 列出HDFS当前用户家目录下的文件及文件夹: 列出HDFS文件下名为directory的文件夹中的文件: ...

  6. hadoop之hdfs的shell命令操作

    FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args> 的形式. 所有的的FS shell命令使用URI路径作为参数.URI格式是scheme ...

  7. HDFS常用Shell命令

    1.-ls: 显示目录信息 hadoop fs -ls / 2.-mkdir:在HDFS上创建目录 hadoop fs -mkdir -p /demo/test 3.-moveFromLocal:从本 ...

  8. 用JAVA API实现HDFS常用shell命令的功能(新建文件夹,上传文件,下载文件,判断文件是否存在)

    新建文件夹 package hdfs.files;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Fi ...

  9. Hadoop开发第6期---HDFS的shell操作

    一.HDFS的shell命令简介 我们都知道HDFS 是存取数据的分布式文件系统,那么对HDFS 的操作,就是文件系统的基本操作,比如文件的创建.修改.删除.修改权限等,文件夹的创建.删除.重命名等. ...

最新文章

  1. 窥见人工智能四十年 2019 CCF-GAIR全球人工智能与机器人峰会今日开幕
  2. JavaWeb开发环境配置
  3. noi.ac NA529 【神树的矩阵】
  4. Spark SQL程序实现RDD转换DataFrame
  5. runloop - CFRunLoopObserverRef
  6. 程序员应该如何规划自己的人生与书写履历?
  7. 服务:OracleDBConsoleorcl [Agent process exited abnormally during initialization]
  8. 均值cvar模型matlab代码,VAR和cvar模型的matlab代码
  9. 软考网络工程师基础知识
  10. python金融衍生品有哪些_什么是金融衍生品,金融衍生品有哪些?
  11. Win10 桌面图标出现空文件夹的删除及桌面图标排列问题
  12. React-组件公共逻辑抽离的两种方式
  13. UE4第三人称多人联机游戏开发02
  14. IDEA-Translation插件更新TKK失败
  15. 【ArcGIS Pro二次开发】(15):用地用海名称和代码互转
  16. android 调用短信,android中可以通过两种方式调用接口发送短信
  17. 自注意力机制与注意力机制
  18. 使用Nodejs搭建一个简易的留言簿(完结)
  19. 初步学习——认识基站、扇区、小区、BBU、RRU、天线、馈线
  20. 操作系统---页式地址重定位

热门文章

  1. 网络搜索引擎的工作原理
  2. 51单片机---一起来学习DS1302可调时钟(stc89c52芯片)
  3. SWUST OJ#1051(数据结构之输出利用先序遍历创建的二叉树中的指定结点的Child结点)
  4. MagicaVoxel 0.99.1 使用说明
  5. 西门子S7-1200组态PROFINET
  6. 【MySQL技术内幕】49-事务的实现之group commit
  7. 软考复习之第一部分计算机组成原理
  8. CSS设置文本不换行多余文字显示省略号
  9. 为什么要做用户行为分析,怎么做好用户行为分析?
  10. 空白符号筛选测试真正能用的空白格符号直接复制即可