HDFS shell

HDFS shell命令行解释说明

介绍

  • 命令行界面(英语:command-line interface,缩写:CLI),是指用户通过键盘输入指令,计算机接收到指令后,予以一种人际交互方式。
  • Hadoop提供了文件系统的shell命令行客户端:hadoop fs[generic options]

文件系统协议

  • HDFS shell CIL支持操作多种文件系统,包括本地文件系统(file:///)、分布式文件系统(hdfs://nn:8020)等
  • 具体操作的是什么文件系统取决于命令中文件路径URL中的前缀协议
  • 如果没有指定前缀,将会读取环境变量中的fs.defaultFS属性,以该属性值作为默认文件系统

区别

  • hadoop dfs只能操作HDFS文件系统(包括与Local FS间的操作),不过已经Deprecated;
  • hdfs dfs只能操作HDFS文件系统相关(包括与Local FS间的操作),常用
  • hadoop fs可操作任意文件系统,不仅仅是hdfs文件系统,使用范围更广
    目前版本来看,官方最终推荐使用的是hadoop fs。当然hdfs dfs在市面上的使用也比较多

参数说明

  • HDFS文件系统的操作命令很多和Linux类似,因此学习成本较低
  • 可通过hadoop fs -help命令来查看每个命令的详细用法

HDFS shell命令行常用操作

创建文件夹

  • hadoop fs -mkdir [-p]< path >…
    path 为待创建的目录
    -p选项的行为与Unix mkdir -p非常相似,它会沿着路径创建父目录

查看指定目录下内容

  • hadoop fs -ls [-h] [-R] [< path>…]
    path指定目录路径
    -h人性化显示文件size
    -R递归查看指定目录及子目录

上传文件到HDFS指定目录下

  • hadoop fs -put [-f] [-p] < localsrc >…< dst >
    -f 覆盖目标文件(已存在下)
    -p保留访问和修改时间,所有权和权限。
    localsrc本地文件系统(客户端所在机器)
    dst目标文件系统(HDFS)

查看HDFS文件内容

  • hadoop fs -cat < src >…
    读取指定文件全部内容,显示在标准输出控制台
    注意:对于大文件内容读取,慎重

下载HDFS文件

  • hadoop fs -get [-f] [-p]< src >…< localdst >
    下载文件到本地文件系统指定目录,localdst必须是目录
    -f覆盖目标文件(已存在下)
    -p保留访问和修改时间,所有权和权限

拷贝HDFS文件

hadoop fs -cp [-f] < src >…< dst >
-f覆盖目标文件下(已存在下)

追加数据到HDFS文件中

  • hadoop fs -appendToFile < localsrc >… < dst >
    将所有给定本地文件的内容追加到给定dst文件。
    dst度过文件不存在,将创建该文件
    如果< localSrc >为-,则输入为从标准输入中读取。

HDFS数据移动操作

  • hadoop fs -mv < src> … < dst >
    移动文件到指定文件夹下
    可以使用该命令移动数据,重命名文件的名称
### HDFS Shell 使用方法 HDFS Shell 提供了与 HDFS 进行交互的命令行界面,可在命令行下进行文件系统的操作,使用时在命令行中输入 `hdfs dfs` ,后面跟上具体的操作命令和参数即可。例如,查看指定路径下的文件和目录信息,可使用 `hdfs dfs -ls -h /test` 命令 [^1][^3]。 ### 常见命令介绍 - **查看文件和目录信息** - `-ls`:列出指定目录下的文件和目录信息,例如 `hdfs dfs -ls /` 会列出根目录下的内容。使用 `-h` 选项可以以人类可读的格式显示文件大小,如 `hdfs dfs -ls -h /test` [^3]。 - `-lsr`:递归列出目录、子目录及文件信息。 - **文件和目录操作** - `-mkdir`:创建目录,如 `hdfs dfs -mkdir /new_dir` 会在 HDFS 根目录下创建一个名为 `new_dir` 的目录。 - `-rm`:删除文件或目录,例如 `hdfs dfs -rm /file.txt` 会删除指定的文件,使用 `-r` 选项可以递归删除目录,如 `hdfs dfs -rm -r /dir`。 - `-mv`:移动或重命名文件/目录,`hdfs dfs -mv /old_path /new_path` 可将文件或目录从旧路径移动到新路径。 - `-cp`:复制文件或目录,`hdfs dfs -cp /source /destination` 会将源文件或目录复制到目标位置。 - **文件内容操作** - `-cat`:查看文件内容,`hdfs dfs -cat /file.txt` 会将文件内容输出到控制台。 - `-tail`:查看文件末尾内容,`hdfs dfs -tail /file.txt` 可查看文件的最后一部分内容。 - **其他操作** - `-expunge`:清空 HDFS 垃圾桶,命令为 `hdfs dfs -expunge` [^4]。 ### 代码示例 以下是一些使用 HDFS Shell 命令的示例: ```bash # 列出根目录下的文件和目录信息 hdfs dfs -ls / # 创建一个新目录 hdfs dfs -mkdir /my_new_directory # 将本地文件上传到 HDFS hdfs dfs -put /local/path/file.txt /hdfs/path/ # 查看 HDFS 文件内容 hdfs dfs -cat /hdfs/path/file.txt ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火眼猊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值