Hadoop FileSystem Shell 常用操作命令

news2025/1/10 3:03:46

提示:本文章只总结一下常用的哈,详细的命令大家可以移步官方的文档(链接贴在下面了哈🤣)— HDFS官方命令手册链接。
在这里插入图片描述

目录

  • 1. cat 命令:查看 HDFS 文件内容
  • 2. put 命令:将本地文件上传到 HDFS
  • 3. get 命令:从HDFS下载文件到本地
  • 4. chmod 命令:更改 HDFS中文件和目录的权限
  • 5. chown 命令:更改 HDFS中文件或目录的所有者和所属组
  • 6. cp 命令:将文件或目录从一个位置复制到另一个位置
  • 7. du 命令:显示指定目录中所有文件和子目录的大小
  • 8. dus 命令:显示指定文件或目录的总大小
  • 9. ls 命令:列出 HDFS 中指定路径的文件或目录信息
  • 10.lsr 命令:列出 HDFS 中指定路径的所有文件和目录,递归遍历子目录
  • 11.mkdir 命令:创建一个或多个目录,支持创建多级父目录
  • 12.rm命令:删除指定的文件或文件列表
  • 13.tail:查看文件的最后部分内容
  • 14.head:查看文件的开头部分内容
  • 15.mv命令:移动文件或目录,或重命名文件
  • 整理不易,一键三连呀列位看官老爷们~万福金安!🤣🤣🤣


1. cat 命令:查看 HDFS 文件内容

类似于 Linux 中的 cat 命令,将文件的内容输出到标准输出(通常是终端)。

hadoop fs -cat <hdfs_path>
  • <hdfs_path>:要查看的文件在 HDFS 中的路径。
hadoop fs -cat /user/hadoop/gushi.txt
《淮上与友人别》- 郑谷 唐

扬子江头杨柳春,杨花愁杀渡江人。
数声风笛离亭晚,君向潇湘我向秦。

君向潇湘我向秦,这首诗太浪漫了 列位🤣🤣🤣

Tips:

  • cat 命令只适合查看小文件的内容哈。文件过大,建议配合 headtail,只查看文件的前几行或最后几行。
  • 如果文件不存在,报错:
    File /user/hadoop/file.txt does not exist
    

hadoop fs -cat URI [URI …]

也可以使用URL哈~

  1. 查看单个文件内容

    hadoop fs -cat hdfs://host1:port1/file1
    
  2. 查看多个文件内容

    hadoop fs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2
    
  3. 查看本地文件和 HDFS 文件

    hadoop fs -cat file:///file3 /user/hadoop/file4
    

    同时输出本地文件 file3 和 HDFS 文件 file4 的内容。


2. put 命令:将本地文件上传到 HDFS

hadoop fs -put 命令将本地文件或目录上传到HDFS。

hadoop fs -put <local_path> <hdfs_path>
  • <local_path>:要上传的本地文件或目录的路径。
  • <hdfs_path>:目标 HDFS 目录的路径。
  1. 上传单个文件

    hadoop fs -put localfile /user/hadoop/hadoopfile
    

    将本地的 localfile 上传到 HDFS 的 /user/hadoop/hadoopfile 路径下。

  2. 上传多个文件

    hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
    

    localfile1localfile2 同时上传到 HDFS 的 /user/hadoop/hadoopdir 目录下。

  3. 使用 HDFS URI

    hadoop fs -put localfile hdfs://host:port/hadoop/hadoopfile
    

    这条命令通过指定 HDFS URI,将 localfile 上传到指定的 HDFS 路径。

  4. 从标准输入上传

    hadoop fs -put - hdfs://host:port/hadoop/hadoopfile
    

    使用 - 表示从标准输入读取数据并上传到 HDFS 的指定路径。通常用于管道操作。


hadoop fs -put  /home/yushifu/hongloumeng.txt  /user/hadoop/

ls 命令查看 HDFS 中的文件:

hadoop fs -ls /user/hadoop/
Found 1 items
-rw-r--r--   3 hadoop supergroup      28 2024-09-26 12:00 /user/hadoop/hongloumeng.txt

cat 命令:

hadoop fs -cat /user/hadoop/hongloumeng.txt
     好了歌 曹雪芹 清
世人都晓神仙好,惟有功名忘不了!
古今将相在何方?荒冢一堆草没了。
世人都晓神仙好,只有金银忘不了!
终朝只恨聚无多,及到多时眼闭了。
世人都晓神仙好,只有娇妻忘不了!
君生日日说恩情,君死又随人去了。
世人都晓神仙好,只有儿孙忘不了!
痴心父母古来多,孝顺儿孙谁见了?

终朝只恨聚无多,及到多时眼闭了(感触颇深呀)

Tips:

  • -p:保留文件的原属性(如权限、时间戳等)。

    hadoop fs -put -p /home/yushifu/hongloumeng.txt   /user/hadoop/
    
  • -f:强制覆盖已有文件。

    hadoop fs -put -f /home/yushifu/hongloumeng.txt   /user/hadoop/
    

3. get 命令:从HDFS下载文件到本地

hadoop fs -get <hdfs_path> <local_path>
  • <hdfs_path>:要下载的 HDFS 文件的路径。
  • <local_path>:下载后保存到本地文件系统的路径。

  1. 下载单个文件

将HDFS 文件 /user/hadoop/gushi.txt 下载到本地 /home/user/

hadoop fs -get /user/hadoop/gushi.txt /home/user/
  1. 下载整个目录

下载 HDFS 中的目录( /user/hadoop/):

hadoop fs -get /user/hadoop/my_directory/ /home/user/

  • -p:保留文件的原属性(如权限、时间戳等)。

    hadoop fs -get -p /user/hadoop/example.txt /home/user/
    
  • -f:如果目标位置已经存在同名文件,则强制覆盖。

    hadoop fs -get -f /user/hadoop/example.txt /home/user/
    

hadoop fs -get [-ignorecrc] [-crc] <src> <localdst>
  • 从 HDFS 将文件复制到本地文件系统。

  • 可选参数允许处理 CRC 校验。

  • -ignorecrc:复制 CRC 校验失败的文件。

  • -crc:同时复制文件及其 CRC 信息。

  1. 从 HDFS 复制文件到本地

    hadoop fs -get /user/hadoop/file localfile
    

    将 HDFS 中的 /user/hadoop/file 复制到当前目录下的 localfile

  2. 使用 HDFS URI

    hadoop fs -get hdfs://host:port/user/hadoop/file localfile
    

    指定 HDFS URI,将文件复制到本地的 localfile


4. chmod 命令:更改 HDFS中文件和目录的权限

hadoop fs -chmod <mode> <path>
  • <mode>:权限设置,可以使用符号模式或八进制模式。
  • <path>:要更改权限的文件或目录的 HDFS 路径。

权限类型:

  • 读 (r):允许读取文件或列出目录内容。
  • 写 (w):允许修改文件或创建、删除目录中的文件。
  • 执行 (x):允许进入目录。

权限分为三种用户:

  • 所有者 (u):文件或目录的创建者。
  • 组 (g):与所有者同属一个组的用户。
  • 其他 (o):系统中所有其他用户。

  1. 给文件添加读权限

    hadoop fs -chmod +r /path/to/file
    
  2. 去掉组的写权限

    hadoop fs -chmod g-w /path/to/file
    

八进制模式:

  • 只读4r--
  • 只写2-w-
  • 只执行1--x
  • 读+写4 + 2 = 6rw-
  • 读+执行4 + 1 = 5r-x
  • 写+执行2 + 1 = 3-wx
  • 读+写+执行4 + 2 + 1 = 7rwx

八进制权限通常由三个数字组成,分别表示:

  1. 所有者(user)
  2. 组(group)
  3. 其他用户(other)

eg.

  • 755 的意思是:
    • 所有者:7rwx,可读、可写、可执行)
    • 组:5r-x,可读、可执行)
    • 其他用户:5r-x,可读、可执行)
  1. 设置权限为 644

    hadoop fs -chmod 644 /path/to/file
    

    这里:

    • 所有者有读、写权限(rw-,值 6
    • 组有读权限(r--,值 4
    • 其他用户有读权限(r--,值 4
  2. 设置权限为 770

    hadoop fs -chmod 770 /path/to/directory
    
    • 所有者有读、写、执行权限(rwx,值 7
    • 组有读、写、执行权限(rwx,值 7
    • 其他用户没有任何权限(---,值 0

5. chown 命令:更改 HDFS中文件或目录的所有者和所属组

执行 chown 命令的用户必须有足够的权限才能修改文件或目录的所有者和组,通常只有超级用户(如 HDFS 的管理员)能够更改其他用户的所有权。

hadoop fs -chown <owner>:<group> <path>
  • <owner>:要设置的新所有者用户名。
  • <group>:要设置的新所属组名(可选)。
  • <path>:要更改所有者和组的文件或目录的 HDFS 路径。
  1. 更改文件所有者

    hadoop fs -chown newuser /path/to/file
    

    /path/to/file 的所有者更改为 newuser,组保持不变。

  2. 更改文件所有者和组

    hadoop fs -chown newuser:newgroup /path/to/file
    

    /path/to/file 的所有者更改为 newuser,并将所属组更改为 newgroup

  3. 更改目录的所有者及组

    hadoop fs -chown newuser:newgroup /path/to/directory
    
  4. 递归更改目录及其内容的所有者和组

    hadoop fs -chown -R newuser:newgroup /path/to/directory
    

    -R 选项可以递归地更改指定目录及其所有子目录和文件的所有者和组。


6. cp 命令:将文件或目录从一个位置复制到另一个位置

hadoop fs -cp [options] <source> <destination>
  • <source>:要复制的文件或目录的路径。
  • <destination>:复制到的目标路径。

option:

  • -f:强制覆盖目标文件,如果目标文件已存在,则不提示。
  • -p:保留源文件的权限、时间戳和所有者信息。
  • -R:递归复制,适用于目录(文件夹)及其所有内容。

  1. 复制单个文件

    hadoop fs -cp /path/to/source/file.txt /path/to/destination/
    
  2. 复制多个文件

    hadoop fs -cp /path/to/source/file1.txt /path/to/source/file2.txt /path/to/destination/
    
  3. 递归复制目录

    hadoop fs -cp -R /path/to/source/directory /path/to/destination/
    
  4. 强制覆盖目标文件

    hadoop fs -cp -f /path/to/source/file.txt /path/to/destination/file.txt
    
  5. 保留文件属性

    hadoop fs -cp -p /path/to/source/file.txt /path/to/destination/
    
  • 确保源路径和目标路径都是有效的 HDFS 路径。如果路径不正确,命令将返回错误。

7. du 命令:显示指定目录中所有文件和子目录的大小

hadoop fs -du URI [URI …]

如果只指定一个文件,则显示该文件的大小。

  1. 查看目录大小

    hadoop fs -du /user/hadoop/dir1
    
    1024  /user/hadoop/dir1/file1.txt
    2048  /user/hadoop/dir1/file2.txt
    3072  /user/hadoop/dir1/subdir
    
  2. 查看多个路径

    hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1
    
  3. 使用 HDFS URI

    hadoop fs -du hdfs://host:port/user/hadoop/dir1
    

    通过 HDFS URI 来显示目录的大小。

8. dus 命令:显示指定文件或目录的总大小

hadoop fs -dus <args>
  • dus命令更关注总大小,而不是逐个列出每个文件
  1. 查看单个目录的总大小

    hadoop fs -dus /user/hadoop/dir1
    
    6144  /user/hadoop/dir1
    
  2. 查看文件的大小

    hadoop fs -dus /user/hadoop/file1
    
    1024  /user/hadoop/file1
    
  3. 使用 HDFS URI

    hadoop fs -dus hdfs://host:port/user/hadoop/dir1
    

    通过 HDFS URI 来获取目录的总大小。


9. ls 命令:列出 HDFS 中指定路径的文件或目录信息

hadoop fs -ls <args>
  • 列出 HDFS 中指定路径的文件或目录信息。

  • 文件文件名 <副本数> 文件大小 修改日期 修改时间 权限 用户ID 组ID

  • 目录目录名 <dir> 修改日期 修改时间 权限 用户ID 组ID

hadoop fs -ls /user/hadoop/file1 /user/hadoop/file2 hdfs://host:port/user/hadoop/dir1 /nonexistentfile
  • 列出指定路径的文件和目录信息。
  • /user/hadoop/file1/user/hadoop/file2 是要检查的文件。
  • hdfs://host:port/user/hadoop/dir1 是要检查的目录。
  • /nonexistentfile 用于检查不存在的文件。
-rw-r--r--    3 1024 2024-09-25 10:00 /user/hadoop/file1
-rw-r--r--    1 2048 2024-09-25 10:05 /user/hadoop/file2
drwxr-xr-x    -    0 2024-09-24 09:30 /user/hadoop/dir1
  • 第一行表示 file1 的信息,包括权限、复制数、大小、修改日期和时间等。
  • 第二行表示 file2 的信息。
  • 第三行表示 dir1 是一个目录。

10.lsr 命令:列出 HDFS 中指定路径的所有文件和目录,递归遍历子目录

hadoop fs -lsr <args>
  • 列出 HDFS 中指定路径的所有文件和目录,递归遍历子目录。
drwxr-xr-x    -    0 2024-09-24 09:30 /user/hadoop/dir1
-rw-r--r--    3 1024 2024-09-25 10:00 /user/hadoop/file1
drwxr-xr-x    -    0 2024-09-24 09:32 /user/hadoop/dir1/subdir1
-rw-r--r--    1 2048 2024-09-25 10:05 /user/hadoop/file2
  • 显示 /user/hadoop 及其子目录 dir1subdir1 的所有文件和目录。

11.mkdir 命令:创建一个或多个目录,支持创建多级父目录

hadoop fs -mkdir <paths>
  • 创建一个或多个目录,支持创建多级父目录。
hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
hadoop fs -mkdir hdfs://host1:port1/user/hadoop/dir hdfs://host2:port2/user/hadoop/dir
mkdir: `/user/hadoop/dir1': Created
mkdir: `/user/hadoop/dir2': Created
mkdir: `hdfs://host1:port1/user/hadoop/dir': Created
mkdir: `hdfs://host2:port2/user/hadoop/dir': Created
  • 每一行表示成功创建的目录。

12.rm命令:删除指定的文件或文件列表

hadoop fs -rm <path1> [<path2> ...]
hadoop fs -rm /user/hadoop/file1 /user/hadoop/file2
  • 删除操作是不可逆的,请确保在执行命令之前备份重要数据。
  • 使用 -f 选项可以强制删除文件而不提示确认。
    hadoop fs -rm -f /user/hadoop/file1
    

当然可以!以下是关于 hadoop fs -tailhadoop fs -head 命令的详细讲解:

13.tail:查看文件的最后部分内容

  • 默认情况下是最后 1 KB
hadoop fs -tail <path>

eg.:

hadoop fs -tail /user/hadoop/file.txt
Last few lines of the file...
Line 98: Error occurred at ...
Line 99: Processing complete.

14.head:查看文件的开头部分内容

  • 默认情况下是前 1 KB。
hadoop fs -head <path>

eg.

hadoop fs -head /user/hadoop/file.txt
First few lines of the file...
Line 1: Starting process...
Line 2: Initialization complete.

15.mv命令:移动文件或目录,或重命名文件

hadoop fs -mv <source> <destination>
  1. 移动文件

    hadoop fs -mv /user/hadoop/file.txt /user/hadoop/backup/file.txt
    
  2. 重命名文件

    hadoop fs -mv /user/hadoop/oldname.txt /user/hadoop/newname.txt
    
  3. 移动目录

    hadoop fs -mv /user/hadoop/dir1 /user/hadoop/archive/dir1
    

整理不易,一键三连呀列位看官老爷们~万福金安!🤣🤣🤣

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2179500.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于VirtualBox和Ubuntu的虚拟环境搭建

VirtualBox简介 VirtualBox 是一款开源虚拟机软件。 是由德国 Innotek 公司开发&#xff0c;由Sun Microsystems公司出品的软件&#xff0c;使用Qt编写&#xff0c;在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。简单易用&#xff0c;可虚拟的系统包括Windows&…

浅谈汽车智能座舱如何实现多通道音频

一、引言 随着汽车智能座舱的功能迭代发展&#xff0c;传统的 4 通道、6 通道、8 通道等音响系统难以在满足驾驶场景的需求&#xff0c;未来对于智能座舱音频质量和通道数会越来越高。接下来本文将浅析目前智能座舱如何实现音频功放&#xff0c;以及如何实现多路音频功放方案。…

Library介绍(三)

环境描述 工作条件 一般lib文件里面包含了芯片的工作条件即operation conditions&#xff0c;其指定了工艺&#xff08;process&#xff09;、温度&#xff08;temperature&#xff09;和电压&#xff08;voltage&#xff09;&#xff0c;见图1。 其中&#xff0c;process代表了…

10款超好用的图纸加密软件推荐!2024企业图纸加密最佳选择!

在现代企业中&#xff0c;保护知识产权和敏感数据显得尤为重要。尤其是工程设计、建筑图纸等专业文件&#xff0c;若遭到泄露&#xff0c;可能导致巨大的经济损失和竞争优势的丧失。为了帮助企业有效保护图纸&#xff0c;本文将推荐10款超好用的图纸加密软件。 1.安秉图纸加密软…

【CSS in Depth 2 精译_043】6.5 CSS 中的粘性定位技术 + 本章小结

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一章 层叠、优先级与继承&#xff08;已完结&#xff09;第二章 相对单位&#xff08;已完结&#xff09;第三章 文档流与盒模型&#xff08;已完结&#xff09;第四章 Flexbox 布局&#xff08;已…

在起草行业标准时,如何确保格式统一?

一、遵循相关规范 1. 严格按照国家有关标准编写规范以及行业特定的标准编写指南进行起草。熟悉并掌握规范中对于标准结构、条款编号、字体字号、图表格式等方面的具体要求。 2. 参考已发布的同行业成熟标准的格式&#xff0c;学习其成功的格式布局和表达形式。 二、建立模板 1…

9.24-k8s服务发布

Ingress 使用域名发布 K8S 服务 部署项目 一、先部署mariadb [rootk8s-master ~]# mkdir aaa [rootk8s-master ~]# cd aaa/ [rootk8s-master aaa]# # 先部署mariadb [rootk8s-master aaa]# # configmap [rootk8s-master aaa]# vim mariadb-configmap.yaml apiVersion: v1 ki…

Leecode刷题之路第五天之最长回文子串

题目出处 05-最长回文子串 题目描述 个人解法 思路&#xff1a; 1.找出所有子串 2.过滤回文子串 3.回文子串长度排序 4.输出最长回文子串 代码示例&#xff1a;&#xff08;Java&#xff09; todo复杂度分析 todo 官方解法 最长回文子串 方法1&#xff1a;动态规划 思路&…

新能源汽车储充机器人:能源高效与智能调度

新能源汽车储充机器人&#xff1a;开启能源高效利用与智能调度的未来之门 随着全球能源危机的日益加剧和环境污染问题的不断恶化&#xff0c;新能源汽车成为了未来交通领域的重要发展方向。然而&#xff0c;新能源汽车的普及不仅需要解决电池技术的瓶颈&#xff0c;还需要构建一…

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【上篇】

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【上篇】 一、TFLM是什么&#xff1f;二、TFLM开源项目2.1 下载TFLM源代码2.2 TFLM基准测试说明2.3 TFLM基准测试命令 三、TFLM初步体验3.1 PC上运行Keyword基准测试3.2 PC上运行Person detection基准测试3.3 No module nam…

netty之基础aio,bio,nio

前言 在Java中&#xff0c;提供了一些关于使用IO的API&#xff0c;可以供开发者来读写外部数据和文件&#xff0c;我们称这些API为Java IO。IO是Java中比较重要知识点&#xff0c;且比较难学习的知识点。并且随着Java的发展为提供更好的数据传输性能&#xff0c;目前有三种IO共…

怎么在Windows系统中使用Chrome的语音搜索功能

在Windows系统中使用谷歌浏览器的语音搜索功能是一种快速且方便的搜索方式。本文将详细介绍如何在Windows系统中启用和使用Chrome的语音搜索功能。 &#xff08;本文由https://chrome.cmrrs.com/站点的作者进行编写&#xff0c;转载时请进行标注。&#xff09; 一、 启用语音搜…

《Cell》|单细胞+空间转录组绘制人类鳞状细胞癌组成和空间结构图谱

文章信息 文章题目&#xff1a;Multimodal Analysis of Composition and Spatial Architecture in Human Squamous Cell Carcinoma 发表期刊&#xff1a;《Cell》 影响因子&#xff1a;45.5 PART 1 研究背景 皮肤鳞状细胞癌&#xff08;cSCC&#xff09;主要特征是组织极…

如果您忘记了 Apple ID 和密码,按照指南可重新进入您的设备

即使您的 iPhone 或 iPad 由于各种原因被锁定或禁用&#xff0c;也可以使用 iTunes、“查找我的”、Apple 支持和 iCloud 解锁您的设备。但是&#xff0c;此过程需要您的 Apple ID 和密码来验证所有权并移除激活锁。如果您忘记了 Apple ID 和密码&#xff0c;请按照我们的指南重…

基于基于微信小程序的社区订餐系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

64.【C语言】再议结构体(下)

本文衔接第63篇63.【C语言】再议结构体(上) 目录 目录 6.复习 7.修改默认对齐数 8.结构体传参 01.传递非指针参数 02.传递指针参数(传递地址) 03.对比 9.结构体实现位段 01.位段的定义 02.格式 03.例题 答案速查 分析 10.位段跨平台问题 11.位段的应用 12.其他…

ubuntu20.04系统下,c++图形库Matplot++配置

linux下安装c图形库Matplot&#xff0c;使得c可以可视化编程&#xff1b;安装Matplot之前&#xff0c;需要先安装一个gnuplot&#xff0c;因为Matplot是依赖于此库 gnuplot下载链接&#xff1a; http://www.gnuplot.info/ 一、gnuplot下载与安装(可以跳过&#xff0c;下面源码…

EasyCVR视频汇聚平台:解锁视频监控核心功能,打造高效安全监管体系

随着科技的飞速发展&#xff0c;视频监控技术已成为现代社会安全、企业管理、智慧城市构建等领域不可或缺的一部分。EasyCVR视频汇聚平台作为一款高性能的视频综合管理平台&#xff0c;凭借其强大的视频处理、汇聚与融合能力&#xff0c;在构建智慧安防/视频监控系统中展现出了…

如何设计能吸引下载的截图以及注意事项

应用商店优化包括两个方面&#xff1a;关键字优化&#xff08;吸引人们查看您的应用页面&#xff09;和屏幕截图优化&#xff08;将浏览量转化为下载量&#xff09;。两者相互依存&#xff0c;两者相辅相成&#xff0c;让您的应用获得应有的下载量。但是&#xff0c;如果浏览量…

MySQL_视图

课 程 推 荐我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448;入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448;虚 拟 环 境 搭 建 &#xff1a;&#x1…