Hadoop FileSystem Shell 常用操作命令
提示:本文章只总结一下常用的哈,详细的命令大家可以移步官方的文档(链接贴在下面了哈🤣)— 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命令只适合查看小文件的内容哈。文件过大,建议配合head或tail,只查看文件的前几行或最后几行。- 如果文件不存在,报错:
File /user/hadoop/file.txt does not exist
hadoop fs -cat URI [URI …]
也可以使用URL哈~
-
查看单个文件内容
hadoop fs -cat hdfs://host1:port1/file1 -
查看多个文件内容
hadoop fs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2 -
查看本地文件和 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 目录的路径。
-
上传单个文件
hadoop fs -put localfile /user/hadoop/hadoopfile将本地的
localfile上传到 HDFS 的/user/hadoop/hadoopfile路径下。 -
上传多个文件
hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir将
localfile1和localfile2同时上传到 HDFS 的/user/hadoop/hadoopdir目录下。 -
使用 HDFS URI
hadoop fs -put localfile hdfs://host:port/hadoop/hadoopfile这条命令通过指定 HDFS URI,将
localfile上传到指定的 HDFS 路径。 -
从标准输入上传
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>:下载后保存到本地文件系统的路径。
- 下载单个文件
将HDFS 文件 /user/hadoop/gushi.txt 下载到本地 /home/user/:
hadoop fs -get /user/hadoop/gushi.txt /home/user/
- 下载整个目录
下载 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 信息。
-
从 HDFS 复制文件到本地
hadoop fs -get /user/hadoop/file localfile将 HDFS 中的
/user/hadoop/file复制到当前目录下的localfile。 -
使用 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):系统中所有其他用户。
-
给文件添加读权限
hadoop fs -chmod +r /path/to/file -
去掉组的写权限
hadoop fs -chmod g-w /path/to/file
八进制模式:
- 只读:
4(r--) - 只写:
2(-w-) - 只执行:
1(--x) - 读+写:
4 + 2 = 6(rw-) - 读+执行:
4 + 1 = 5(r-x) - 写+执行:
2 + 1 = 3(-wx) - 读+写+执行:
4 + 2 + 1 = 7(rwx)
八进制权限通常由三个数字组成,分别表示:
- 所有者(user)
- 组(group)
- 其他用户(other)
eg.
755的意思是:- 所有者:
7(rwx,可读、可写、可执行) - 组:
5(r-x,可读、可执行) - 其他用户:
5(r-x,可读、可执行)
- 所有者:
-
设置权限为
644hadoop fs -chmod 644 /path/to/file这里:
- 所有者有读、写权限(
rw-,值6) - 组有读权限(
r--,值4) - 其他用户有读权限(
r--,值4)
- 所有者有读、写权限(
-
设置权限为
770hadoop 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 路径。
-
更改文件所有者
hadoop fs -chown newuser /path/to/file将
/path/to/file的所有者更改为newuser,组保持不变。 -
更改文件所有者和组
hadoop fs -chown newuser:newgroup /path/to/file将
/path/to/file的所有者更改为newuser,并将所属组更改为newgroup。 -
更改目录的所有者及组
hadoop fs -chown newuser:newgroup /path/to/directory -
递归更改目录及其内容的所有者和组
hadoop fs -chown -R newuser:newgroup /path/to/directory-R选项可以递归地更改指定目录及其所有子目录和文件的所有者和组。
6. cp 命令:将文件或目录从一个位置复制到另一个位置
hadoop fs -cp [options] <source> <destination>
<source>:要复制的文件或目录的路径。<destination>:复制到的目标路径。
option:
-f:强制覆盖目标文件,如果目标文件已存在,则不提示。-p:保留源文件的权限、时间戳和所有者信息。-R:递归复制,适用于目录(文件夹)及其所有内容。
-
复制单个文件
hadoop fs -cp /path/to/source/file.txt /path/to/destination/ -
复制多个文件
hadoop fs -cp /path/to/source/file1.txt /path/to/source/file2.txt /path/to/destination/ -
递归复制目录
hadoop fs -cp -R /path/to/source/directory /path/to/destination/ -
强制覆盖目标文件
hadoop fs -cp -f /path/to/source/file.txt /path/to/destination/file.txt -
保留文件属性
hadoop fs -cp -p /path/to/source/file.txt /path/to/destination/
- 确保源路径和目标路径都是有效的 HDFS 路径。如果路径不正确,命令将返回错误。
7. du 命令:显示指定目录中所有文件和子目录的大小
hadoop fs -du URI [URI …]
如果只指定一个文件,则显示该文件的大小。
-
查看目录大小
hadoop fs -du /user/hadoop/dir11024 /user/hadoop/dir1/file1.txt 2048 /user/hadoop/dir1/file2.txt 3072 /user/hadoop/dir1/subdir -
查看多个路径
hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 -
使用 HDFS URI
hadoop fs -du hdfs://host:port/user/hadoop/dir1通过 HDFS URI 来显示目录的大小。
8. dus 命令:显示指定文件或目录的总大小
hadoop fs -dus <args>
- dus命令更关注总大小,而不是逐个列出每个文件。
-
查看单个目录的总大小
hadoop fs -dus /user/hadoop/dir16144 /user/hadoop/dir1 -
查看文件的大小
hadoop fs -dus /user/hadoop/file11024 /user/hadoop/file1 -
使用 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及其子目录dir1和subdir1的所有文件和目录。
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
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>
-
移动文件
hadoop fs -mv /user/hadoop/file.txt /user/hadoop/backup/file.txt -
重命名文件
hadoop fs -mv /user/hadoop/oldname.txt /user/hadoop/newname.txt -
移动目录
hadoop fs -mv /user/hadoop/dir1 /user/hadoop/archive/dir1
整理不易,一键三连呀列位看官老爷们~万福金安!🤣🤣🤣
相关文章:
Hadoop FileSystem Shell 常用操作命令
提示:本文章只总结一下常用的哈,详细的命令大家可以移步官方的文档(链接贴在下面了哈🤣)— HDFS官方命令手册链接。 目录 1. cat 命令:查看 HDFS 文件内容2. put 命令:将本地文件上传到 HDFS3.…...
uniapp EChars图表
1. uniapp EChars图表 (1)Apache ECharts 一个基于 JavaScript 的开源可视化图表库 https://echarts.apache.org/examples/zh/index.html (1)官网图例 (2)个人实现图例 1.1. 下载echart 1.1.1. 下…...
最新版ingress-nginx-controller安装 使用host主机模式
最新版ingress-nginx-controller安装 使用host主机模式 文章目录 最新版ingress-nginx-controller安装 使用host主机模式单节点安装方式多节点高可用安装方式 官方参考链接: https://github.com/kubernetes/ingress-nginx/ https://kubernetes.github.io/ingress-ng…...
实习问题(配置文件获取参数)
Java中用SpringBoot框架,当我们要获取配置文件yml里的参数时,用Value注解获取 如果配置文件中没有srvSealUploadPath这个参数的话,可以用Value("${srvSealUploadPath:data/idoc/temp}"),这个的意思是,如果配…...
C#测试调用Ghostscript.NET浏览PDF文件
Ghostscript.NET是针对Ghostscript的C#封装库,支持解析PostScript语言、操作PDF文件等。使用Ghostscript.NET的GhostscriptViewer 模块可以以图片形式查看PDF文档。本文学习并测试调用Ghostscript.NET模块打开及浏览PDF文件的基本用法。 Ghostscript.NET目前主要…...
MySQL本地安装步骤
下载MySQL ZIP压缩包 访问MySQL官网(https://www.mysql.com/)或下载页面(https://dev.mysql.com/downloads/mysql/)。 在下载页面选择“MySQL Community Server”作为下载目标。 根据你的操作系统(Windows)…...
redisson使用笔记
文章目录 spring集成redisson maven配置yml配置使用redisTemplate和redisson的区别 其他项目中看到redisson,看样子像是redis相关类库,实际也确实是。 还是老规矩,见到的要了解,需要的必须掌握,了解一下吧。 spring集成…...
设计模式之享元(Flyweight)模式
前言 面向对象很好地解决了 “抽象” 的问题,但是不可避免的要付出一定的代价。对于通常情况来讲,面向对象的成本大都可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理 具体需要自己根据需求去评估 定义 “对象性能” 模式。运用…...
桥接(桥梁)模式
简介 桥接模式(Bridge Pattern)又叫作桥梁模式、接口(Interface)模式或柄体(Handle and Body)模式,指将抽象部分与具体实现部分分离,使它们都可以独立地变化,属于结构型…...
语言模型发展史
四个阶段 第一阶段:基于规则和统计的语言模型 由人工设计特征并使用统计方法对固定长度的文本窗口序列进行建模分析,这种建模方式也被称为N-gram语言模型。 优点: 1)采用极大似然估计, 参数易训练 2)完全包含了前n-…...
【Linux】模拟实现一个shell
接受每一个人的批评,可是保留你自己的判断。 ——莎士比亚 一段时间的没有更新是由于最近开学期间比较的忙,同时也是由于刚开学的几门课才学习的时候有点迷糊,需要在学校课堂上花的时间更多了,所以才没有更新的,求放过…...
云原生数据库 PolarDB
简介:云原生数据库 PolarDB 是阿里云自研产品,在存储计算分离架构下,利用了软硬件结合的优势,为用户提供秒级弹性、高性能、海量存储、安全可靠的数据库服务。100%兼容MySQL和PostgreSQL生态,支持分布式扩展࿰…...
MobaXterm基本使用 -- 服务器状态、批量操作、显示/切换中文字体、修复zsh按键失灵
监控服务器资源 参考网址:https://www.cnblogs.com/144823836yj/p/12126314.html 显示效果 MobaXterm提供有这项功能,在会话窗口底部,显示服务器资源使用情况 如内存、CPU、网速、磁盘使用等: (完整窗口࿰…...
elastic Search 初步之向量检索的数据写入及检索查询
### Elasticsearch 向量检索实现方法方案 Elasticsearch 从 7.3 版本开始引入了向量检索功能,支持通过向量字段进行相似度搜索。以下是实现向量检索的步骤和方案,包括 Python 和 Java 版本的代码示例。 #### 1. 最低实现向量检索的 ES 版本 - **最低版本**: Elasticsearch …...
Tdesign TreeSelect 树形选择 多选
这里写自定义目录标题 小程序原生开发 Tdesign TreeSelect 树形选择 多选可以选择不同一级分类下的数据 小程序原生开发 Tdesign TreeSelect 树形选择 多选可以选择不同一级分类下的数据 TreeSelect 树形选择 在原demo基础上修改 const chineseNumber 一二三四五六七八九十.…...
Pygame中Sprite实现逃亡游戏5
在《Pygame中Sprite实现逃亡游戏4》中通过碰撞检测实现了玩家、飞龙与飞火之间的碰撞处理,基本上实现了逃亡功能。最后,实现这个逃亡游戏中文字提示的功能。 1 操作提示 当进入游戏后,会在玩家下方的位置给出操作提示,如图1所示…...
等保2.0数据库测评之达梦数据库测评
一、达梦数据库介绍 达梦数据库管理系统属于新一代大型通用关系型数据库,全面支持 ANSI SQL 标准和主流编程语言接口/开发框架。行列融合存储技术,在兼顾 OLAP 和 OLTP 的同时,满足 HTAP 混合应用场景。 本次安装环境为Windows10专业版操作…...
集成mcuboot后测试和验证的方法
本文介绍一些在实际项目中集成的 MCUboot后测试和验证的方法和步骤: 功能测试 启动测试 正常启动验证 : 多次上电启动设备,观察 MCUboot 是否能够正常加载并跳转到应用程序。检查启动过程中的日志输出(如果有)&#…...
Vulhub zico 2靶机详解
项目地址 https://download.vulnhub.com/zico/zico2.ova实验过程 将下载好的靶机导入到VMware中,设置网络模式为NAT模式,然后开启靶机虚拟机 使用nmap进行主机发现,获取靶机IP地址 nmap 192.168.47.1-254根据对比可知Zico 2的一个ip地址为…...
宠物医院微信小程序源码
文章目录 前言研究背景研究内容一、主要技术?二、项目内容1.整体介绍(示范)2.系统分析3.数据表信息4.运行截图5.部分代码介绍 总结 前言 随着当代社会科技的迅速发展,计算机网络时代正式拉来帷幕,它颠覆性的影响着社会…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁
赛门铁克威胁猎手团队最新报告披露,数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据,严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能,但SEMR…...
