添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
HDFS常用命令

HDFS常用命令

您可以在已经创建好的 E-MapReduce(简称 EMR)集群中,直接使用 hadoop fs 命令来对 HDFS 中的文件进行操作。本文为您介绍 HDFS 的常见命令。

背景信息

HDFS 常见命令如下表所示。

命令

功能

mkdir

HDFS 文件系统中创建目录。

touchz

HDFS 文件系统中新建一个空文件。

ls

在文件或者目录创建完之后,您可以查看指定路径下的文件或目录信息。在查看文件或目录信息的时候需要给出绝对路径。

put

上传本地文件到 HDFS 的指定路径。

du

显示文件的大小或者目录中所有文件的大小。

cat

查看 HDFS 上文件的内容。

cp

HDFS 系统中,复制文件或目录到目标路径,并且保持源文件内容或目录结构不变。此命令允许有多个源路径,此时目标路径必须是一个目录。

mv

HDFS 系统中,移动文件或目录到目标路径,并且不保留源文件内容或目录结构。此命令允许有多个源路径,此时目标路径必须是一个目录。

get

下载 HDFS 指定路径的文件到本地路径。

rm

删除 HDFS 系统中指定的文件。

rmr

递归删除 HDFS 系统中指定的目录及其文件。

关于 Apache Hadoop 的详细介绍,请参见 Apache Hadoop 官网

mkdir

HDFS 文件系统中创建目录。

  • 语法

    hadoop fs -mkdir <path1> [path2] ... [pathn]
  • 示例:

    • HDFS 文件系统中,创建 dir 目录。

      hadoop fs -mkdir /dir

      您可以通过 hadoop fs -ls / 命令查看创建的目录。

    • dir 目录下,创建 sub-dir 目录。

      hadoop fs -mkdir /dir/sub-dir

      您可以通过 hadoop fs -ls /dir/ 命令查看创建的目录。

touchz

HDFS 文件系统中新建一个空文件。

  • 语法

    hadoop fs -touchz URI [URI ...]
  • 示例:在 HDFS 文件系统中新建 /dir/ 目录下的 emptyfile.txt 文件。

    hadoop fs -touchz /dir/emptyfile.txt

    您可以通过 hadoop fs -ls /dir/ 命令查看新建的文件。

ls

在文件或者目录创建完之后,您可以查看指定路径下的文件或目录信息。在查看文件或目录信息的时候需要给出绝对路径。

说明

hadoop fs 没有进入某个目录下的概念。

  • 语法

    hadoop fs -ls <path>
  • 示例:查看 /dir/sub-dir 目录的信息。

    hadoop fs -ls /dir/sub-dir

put

上传本地文件到 HDFS 的指定路径。

  • 语法

    hadoop fs -put <path1> <path2>
  • 示例:上传本地文件 hello.txt HDFS /dir/sub-dir 路径下。

    hadoop fs -put hello.txt /dir/sub-dir

    您可以通过 hadoop fs -ls /dir/sub-dir 命令查看文件上传的情况。

du

显示文件的大小或者目录中所有文件的大小。

  • 语法

    hadoop fs -du <path>
  • 示例

    • 查看文件的大小。

      hadoop fs -du /hello.txt
    • 查看目录下所有文件的大小。

      hadoop fs -du /dir

cat

查看 HDFS 上文件的内容。

  • 语法

    hadoop fs -cat <path>
  • 示例:

    • 查看 hello.txt 文件的内容。

      hadoop fs -cat /hello.txt
    • 查看 /dir/sub-dir/ 目录下 hello_world.txt 文件的内容。

      hadoop fs -cat /dir/sub-dir/hello_world.txt

cp

HDFS 系统中,复制文件或目录到目标路径,并且保持源文件内容或目录结构不变。此命令允许有多个源路径,此时目标路径必须是一个目录。

说明

您也可以使用此命令对文件重命名,以保留源文件或目录。

  • 语法

    hadoop fs -cp <path1> <path2>
  • 示例:复制 /dir/sub-dir/ 目录下的文件 hello_world.txt /tmp 目录下。

    hadoop fs -cp /dir/sub-dir/hello_world.txt /tmp

    您可以通过 hadoop fs -ls /tmp 命令查看文件复制的情况。

mv

HDFS 系统中,移动文件或目录到目标路径,并且不保留源文件内容或目录结构。此命令允许有多个源路径,此时目标路径必须是一个目录。

  • 语法

    hadoop fs -mv <path1> <path2>
  • 示例

    • 移动 /tmp/ 目录下的文件 hello_world2.txt /dir/sub-dir/ 目录下。

      hadoop fs -mv /tmp/hello_world2.txt /dir/sub-dir/

      您可以通过 hadoop fs -ls /dir/sub-dir/ 命令查看文件移动的情况。

    • 移动 /tmp/ 路径下的 test 目录至 /dir/sub-dir/ 目录下。

      hadoop fs -mv /tmp/test /dir/sub-dir/

      您可以通过 hadoop fs -ls /tmp/ 命令查看目录移动的情况。

get

下载 HDFS 指定路径的文件到本地路径。

  • 语法

    hadoop fs -get <path1> <path2>
  • 示例:下载 HDFS 系统中 /dir/sub-dir/ 目录下的文件 hello_world2.txt 至本地的 /emr 路径下。

    hadoop fs -get /dir/sub-dir/hello_world2.txt /emr

    您可以通过 ls 命令查看文件下载的情况。

rm

删除 HDFS 系统中指定的文件。

  • 语法

    hadoop fs -rm <path>
  • 示例:删除 HDFS 系统中 /dir/sub-dir/ 目录下的文件 hello_world2.txt

    hadoop fs -rm /dir/sub-dir/hello_world2.txt

    您可以通过 hadoop fs -ls /dir/sub-dir/ 命令查看文件删除的情况。

rmr

递归删除 HDFS 系统中指定的目录及其文件。

  • 语法

    hadoop fs -rmr <path>
  • 示例:递归删除 HDFS 系统中 /dir/ 下的 sub-dir 目录及其文件。

     hadoop fs -rmr /dir/sub-dir/

    您可以通过 hadoop fs -ls /dir/ 命令查看目录删除的情况。

相关文档

如果您的集群开启了高可用,请参见 HDFS 高可用相关命令(HaAdmin)介绍