大数据笔记 | HDFS 常用操作命令

article/2025/10/12 4:56:52

图片

目录

一、HDFS 命令前缀

二、ls 命令

三、put 命令

四、moveFromLocal 命令

五、get 命令

六、rm 命令

七、mkdir 命令

八、cp 命令

九、mv 命令

十、cat 命令

十一、appendToFile 命令

十二、总结


        HDFS 是 Hadoop Distributed File System 的简写,即 Hadoop 分布式文件系统。它是 Hadoop 项目的核心子项目,它为大数据分布式计算提供了海量数据的存储与管理。

        既然 HDFS 是文件系统,那么它必然有一套对文件管理的命令,这里介绍一下 HDFS 常用的文件管理命令。

一、HDFS 命令前缀

        所有操作 HDFS 的命令都需要前缀,它的前缀有两种,分别是 hadoop fs 或 hdfs dfs 两种。可以通过 hadoop fs -help 或 hdfs dfs -help 来查看其帮助文件。比如:

$ hadoop fs -help ls
-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [<path> ...] :List the contents that match the specified file pattern. If path is notspecified, the contents of /user/<currentUser> will be listed. For a directory alist of its direct children is returned (unless -d option is specified).Directory entries are of the form:permissions - userId groupId sizeOfDirectory(in bytes)modificationDate(yyyy-MM-dd HH:mm) directoryNameand file entries are of the form:permissions numberOfReplicas userId groupId sizeOfFile(in bytes)modificationDate(yyyy-MM-dd HH:mm) fileName-C  Display the paths of files and directories only.-d  Directories are listed as plain files.-h  Formats the sizes of files in a human-readable fashionrather than a number of bytes.-q  Print ? instead of non-printable characters.-R  Recursively list the contents of directories.-t  Sort files by modification time (most recent first).-S  Sort files by size.-r  Reverse the order of the sort.-u  Use time of last access instead of modification fordisplay and sorting.

        或者使用 hdfs dfs 来查看帮助,命令如下:

$ hdfs dfs -help ls
-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [<path> ...] :List the contents that match the specified file pattern. If path is notspecified, the contents of /user/<currentUser> will be listed. For a directory alist of its direct children is returned (unless -d option is specified).Directory entries are of the form:permissions - userId groupId sizeOfDirectory(in bytes)modificationDate(yyyy-MM-dd HH:mm) directoryNameand file entries are of the form:permissions numberOfReplicas userId groupId sizeOfFile(in bytes)modificationDate(yyyy-MM-dd HH:mm) fileName-C  Display the paths of files and directories only.-d  Directories are listed as plain files.-h  Formats the sizes of files in a human-readable fashionrather than a number of bytes.-q  Print ? instead of non-printable characters.-R  Recursively list the contents of directories.-t  Sort files by modification time (most recent first).-S  Sort files by size.-r  Reverse the order of the sort.-u  Use time of last access instead of modification fordisplay and sorting.

二、ls 命令

        ls 命令用来查看 HDFS 系统中的目录和文件,命令如下:

$ hadoop fs -ls /

        也可以通过给 ls 添加 -R 参数来递归列出要查看目录下的所有目录和文件,命令如下:

$ hadoop fs -ls -R /

         由于目前在 HDFS 中并没有任何文件和目录,因此这里没有显示任何的结果。

三、put 命令

        put 命令用于将本地文件上传到 HDFS 系统中,命令如下:

$ hadoop fs -put test.txt /
$ hadoop fs -ls /
Found 1 items
-rw-r--r--   2 hadoop supergroup          5 2021-11-07 13:22 /test.txt

        通过 -put 命令将本地当前目录下的 test.txt 文件上传到了 HDFS 的 / 目录下,通过 -ls 命令可以看到文件已经上传到 HDFS 系统中了。

四、moveFromLocal 命令

        将本地文件移动到 HDFS 文件系统中,并将本地的文件进行删除,命令如下:

$ ll
总用量 84804
-rw-rw-r--. 1 hadoop hadoop        5 11月  7 13:27 abc.txt
$ hadoop fs -moveFromLocal abc.txt /
$ hadoop fs -ls /
Found 2 items
-rw-r--r--   2 hadoop supergroup          5 2021-11-07 13:27 /abc.txt
-rw-r--r--   2 hadoop supergroup          5 2021-11-07 13:22 /test.txt

        将本地的 abc.txt 文件上传到 HDFS 的 / 目录下,通过 -ls 命令查看 / 目录下已经有了 abc.txt 文件,再来查看本地文件,本地的 abc.txt 文件已经被移除。

五、get 命令

        get 命令用来将 HDFS 文件系统中的文件下载到本地,下载时的文件名不能与本地文件相同,否则会提示文件已存在。命令如下:

$ hadoop fs -get /abc.txt /home/hadoop/
$ ll
总用量 84804
-rw-r--r--. 1 hadoop hadoop        5 11月  7 13:42 abc.txt

        下载文件时确保文件不重名,否则提示文件已存在,命令如下:

$ hadoop fs -get / /home/hadoop/
get: `/home/hadoop/abc.txt': File exists
get: `/home/hadoop/test.txt': File exists

六、rm 命令

        rm 命令用来删除 HDFS 系统中的文件或文件夹,每次可以删除多个文件或目录,命令如下:

$ hadoop fs -rm /test.txt
Deleted /test.txt
$ hadoop fs -ls /
Found 1 items
-rw-r--r--   2 hadoop supergroup          5 2021-11-07 13:27 /abc.txt

七、mkdir 命令

        mkdir 命令用来在 HDFS 系统中创建目录,可以使用 -p 参数创建多级目录,即当父目录不存在时,则自动创建,若不使用 -p 参数,当父目录不存在时则会提示文件或目录不存在。命令如下:

$ hadoop fs -mkdir /test
$ hadoop fs -mkdir /abc/abc
mkdir: `/abc/abc': No such file or directory
$ hadoop fs -mkdir -p /abc/abc

八、cp 命令

        cp 命令在 HDFS 文件系统中用于文件的复制,命令如下:

$ hadoop fs -ls /
Found 3 items
drwxr-xr-x   - hadoop supergroup          0 2021-11-07 13:47 /abc
-rw-r--r--   2 hadoop supergroup          5 2021-11-07 13:27 /abc.txt
drwxr-xr-x   - hadoop supergroup          0 2021-11-07 13:47 /test
$ hadoop fs -cp /abc.txt /abc/
$ hadoop fs -ls -R /
drwxr-xr-x   - hadoop supergroup          0 2021-11-07 13:49 /abc
drwxr-xr-x   - hadoop supergroup          0 2021-11-07 13:47 /abc/abc
-rw-r--r--   2 hadoop supergroup          5 2021-11-07 13:49 /abc/abc.txt
-rw-r--r--   2 hadoop supergroup          5 2021-11-07 13:27 /abc.txt
drwxr-xr-x   - hadoop supergroup          0 2021-11-07 13:47 /test

        通过 cp 命令将 /abc.txt 文件复制到了 /abc/ 目录下,然后使用 ls -R 来递归查看目录。

九、mv 命令

        mv 命令用来在 HDFS 文件系统下完成移动的功能,也可以用来进行重命名。命令如下:

hadoop fs -mv /abc/abc.txt /test/
[hadoop@centos01 ~]$ hadoop fs -ls -R /
drwxr-xr-x   - hadoop supergroup          0 2021-11-07 13:52 /abc
drwxr-xr-x   - hadoop supergroup          0 2021-11-07 13:47 /abc/abc
-rw-r--r--   2 hadoop supergroup          5 2021-11-07 13:27 /abc.txt
drwxr-xr-x   - hadoop supergroup          0 2021-11-07 13:52 /test
-rw-r--r--   2 hadoop supergroup          5 2021-11-07 13:49 /test/abc.txt

        从上面的命令中可以看出,/abc/abc.txt 文件被移动到了 /test/ 目录下。再来看下它的重命名功能:

$ hadoop fs -mv /test/abc.txt /test/abcabc.txt
$ hadoop fs -ls /test/
Found 1 items
-rw-r--r--   2 hadoop supergroup          5 2021-11-07 13:49 /test/abcabc.txt

        通过 ls 命令可以看到,abc.txt 已经被重命名为了 abcabc.txt。

十、cat 命令

        cat 命令用来输出 HDFS 文件系统中某个文件的所有内容,命令如下:

$ hadoop fs -cat /test/abcabc.txt
1234
$ hadoop fs -cat /abc.txt
1234

十一、appendToFile 命令

        将单个或多个文件的内容从本地系统追加到 HDFS 系统的文件中,命令如下:

$ hadoop fs -appendToFile abc.txt /abc.txt
$ hadoop fs -cat /abc.txt
1234
1234

        可以看到,/abc.txt 的内容已经发生了改变。

十二、总结

        HDFS 关于文件的基本操作与 Linux 系统命令的基本是一样的,只是 HDFS 命令增加了 hadoop fs 这样的前缀。如果对 Linux 系统命令有些了解,那么 HDFS 的基本操作命令也会非常容易的上手。

图片

图片


http://chatgpt.dhexx.cn/article/wZnfM2UU.shtml

相关文章

HTML encode Decode

System.Web.dll中&#xff0c;System.Web.HttpUtility.HtmlEncode(string s)方法的原理是这样的&#xff1a; 首先判断传入的字符串是否为null&#xff0c;如果是&#xff0c;则返回null if (s null ) ... { return null; } 然后&#xff0c;尝试在传入的字符…

html代码

hello 这是一个模拟黑客的玩意 <!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml"><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <meta charset"UTF-8"><li…

C# .net 几种HtmlEncode,HtmlDecode的区别

一、C#中的编码 HttpUtility.HtmlDecode、HttpUtility.HtmlEncode与Server.HtmlDecode、Server.HtmlEncode与HttpServerUtility.HtmlDecode、HttpServerUtility.HtmlEncode的区别&#xff1f; 它们与下面一般手工写的代码有什么区别&#xff1f; [c-sharp] view plaincopy pu…

【C#】C#中的HtmlEncode与HtmlDecode:HttpUtility.HtmlEncode,Server.HtmlEncode,WebUtility.HtmlEncode

HtmlEncode(String) 将字符串转换为 HTML 编码字符串。 HtmlDecode(String) 将已经为 HTTP 传输进行过 HTML 编码的字符串转换为已解码的字符串。 在web端项目中通常使用HttpUtility.HtmlEecode&#xff0c;HttpUtility.HtmlDecode&#xff0c;Server.HtmlEncode&#xff0c;Se…

js htmlEncode

javascript处理HTML的Encode(转码)和Decode(解码)总结 HTML的Encode(转码)和解码(Decode)在平时的开发中也是经常要处理的&#xff0c;在这里总结了使用javascript处理HTML的Encode(转码)和解码(Decode)的常用方式 一、用浏览器内部转换器实现转换 1.1.用浏览器内部转换器实现…

READNE.md 语法

标题列表引用代码块链接图片分割线表格 1. 标题 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 2. 列表 2.1 有序列表 直接在前面写数字序号&#xff1a; 1. a 2. bc 3. 1234 2.2 无序列表 有三种方式&#xff1a;""、&qu…

# 今天要讲一下我所用的md语法

今天要讲一下我所用的md语法 首先md是一种标记语言&#xff0c;我们不要把它想的过于复杂&#xff0c;其实对于经常探索新知识的人来说上手速度非常快。 下面讲一下基本语法 标题语法 一级标题&#xff1a;# Heading level 1二级标题&#xff1a;## Heading level 2二级标题&…

.MD语法入门,教你写好readme文档

.md即markdown文件的基本常用编写语法,是一种快速标记、快速排版语言&#xff0c;现在很多前段项目中的说明文件readme等都是用.md文件编写的&#xff0c;而且很多企业也在在鼓励使用这种编辑方式&#xff0c;特别作为一个前端从业者更要学会使用这种语言。下面就简单和大家分享…

编辑MD文件的语法格式

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

.md,markdown文件的基本常用编写语法

序言&#xff1a; 很久没有写博客了&#xff0c;感觉只要是不写博客&#xff0c;人就很变得很懒&#xff0c;学的知识点感觉还是记不住&#xff0c;渐渐地让我明白&#xff0c;看的越多&#xff0c;懂的越少&#xff08;你这话不是有毛病吗&#xff1f;应该是看的越多&#xff…

.md即markdown文件常用语法

参阅cmd版官网&#xff1a;markdown 参考博文&#xff1a;Markdown语法介绍&#xff08;详细&#xff09; 1.标题 使用#符号包起来&#xff0c;符号和内容中间空格可省略&#xff0c;尾部#号可省略。依次1~6级标题&#xff0c;对应html中的h1~6标签 会使上一行成为一级标题&…

.md文件的常用语法

正文&#xff1a; 1、标题的几种写法&#xff1a; 第一种&#xff1a; 前面带#号&#xff0c;后面带文字&#xff0c;分别表示h1-h6,上图可以看出&#xff0c;只到h6&#xff0c;而且h1下面会有一条横线&#xff0c;注意&#xff0c;#号后面有空格 第二种&#xff1a; 这种方…

README.md 文件的作用和语法

一、README.md 文件的作用 md文件一般出现在项目的根目录下面&#xff0c;其作用是&#xff1a;对项目的主要信息进行描述。 如果一个项目你很长时间都没有动&#xff0c;突然你需要修改这个项目&#xff0c;那么通过README.md中对项目的描述能让你快速的再次上手&#xff1b;或…

md文档编写语法

md文档编写语法 一、标题 语法&#xff1a;#后面跟空格&#xff0c;再加文字&#xff0c;几级就加几个# 例如&#xff1a; 这是一级标题&#xff08;# 这是一级标题&#xff09; 这是二级标题&#xff08;## 这是二级标题&#xff09; 这是三级标题 这是四级标题 二、字体…

常用md语法

基本要素 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 分隔线 三个或更多的-表示分隔线 ---*斜体*斜体 **粗体**粗体 ***粗斜体***粗斜体 删除横线 ~~删除横线~~删除…

md基础语法总结

md即为Markdown,Markdown的目标是实现「易读易写」,可读性,无论如何,都是最重要的。其实md的底层最终还是将我们写的语法转化为html标签了 --------------------------------下面开始------------------------------------ 1.标题 # H1## H2### H3#### H4##### H5###### H6…

Markdown(MD)文档语法使用指南(学会后写文档写博客贼6)

文章目录 标题代码块多行代码块单行代码块 列表有序列表无序列表 图片链接分割线引用表格斜体、加粗、下划线、删除线 Markdown 是一种用来写作的轻量级「标记语言」&#xff0c;它用简洁的语法代替排版&#xff0c;而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版、…

.md文件格式语法详解,即markdown文件语法详解(图文并茂)

相关链接&#xff1a; 官网地址博客地址。截图博客地址。markdown版本&#xff0c;点击编辑源码地址。需IDEA克隆代码&#xff0c;用IDEA打开 Markdown 是一种轻量级的标记语言&#xff0c;本质是html。不同应用对md的支持度不一致(方言)&#xff0c;需要注意。 0.目录&…

md基本语法介绍

发现很多人都喜欢用.md&#xff08;markdown&#xff09;进行项目说明&#xff0c;眼馋其方便快捷的实用性&#xff0c;也学习一下&#xff0c;做个简单的笔记 1、标题修饰符 ‘#’ 标题分为h1~h6以#为标识符&#xff0c;#号的多少划分等级,而且仅有h1,h2是有下划线的&#xf…

Markdown最详细的语法教程,.md文件解读

.md即markdown文件的基本常用编写语法,是一种快速标记、快速排版语言&#xff0c;现在很多前段项目中的说明文件readme等都是用.md文件编写的&#xff0c;而且很多企业也在在鼓励使用这种编辑方式&#xff0c;特别作为一个前端从业者更要学会使用这种语言。 当然这种语言更适合…