Hadoop/HDFS常用命令 (FileSystem Shell)

概述

文件系统(FS)shell包含了一系列的与shell相似的命令,很多都对应着Unix中的命令,这些命令可以直接与Hadoop分布式文件系统(HDFS)以及Hadoop支持的其他文件系统,如本地FS、HFTP、S3等进行交互。可以通过如下方法调用:bin/hadoop fs <args>。args都是以路径URI作为参数,本篇文章都是基于HDFS来介绍说明的。

一个HDFS中的文件或目录的格式大致是这样:hdfs://namenodehost/test/a.txt。namenodehost即为NameNode节点的主机名。如果你的Hadoop安装目录…/hadoop/etc/hadoop/core-site.xml的文件中有如下配置,那么在操作一个文件或目录时,可以省掉前缀,即/test/a.txt。

<property>
	<name>fs.defaultFS</name>
	<value>hdfs://namenodehost</value>
</property>

命令

ls

  返回指定文件或指定目录下所有文件的权限、副本数、所属用户组等信息。

  示例:hadoop fs -ls /test/

cat

  显示文件内容到标准输出。

  示例:
    hadoop fs -cat /test/src.txt     显示文件src.txt的所有内容
    hadoop fs -cat /test/src.txt | less     对于内容较多的文件可以用less上下翻页

cp

  拷贝文件从源地址到目标地址。允许拷贝一次拷贝多个文件到目标目录下。

  示例:hadoop fs -cp /test/src.txt /test/des.txt    拷贝时可以改变文件名

mv

  将文件或目录从源地址移动到目标地址。

  示例:hadoop fs -mv /test/src.txt /test2/

touchz

  创建一个空文件。

  示例:hadoop fs -touchz /test/src.txt

mkdir

  创建目录。

  示例:
    hadoop fs -mkdir /test/dir  创建目录dir
    hadoop fs -mkdir -p /test/dir1/dir2/dir3  递归地创建dir1、dir2和dir3

rm

  删除指定的文件。

  示例:
    hadoop fs -rm /test/des.txt  删除文件des.txt
    hadoop fs -rm -r /test  递归地删除test目录以及test下面的所有目录和文件(慎用啊!)。

rmr

  递归地删除文件和目录。此命令已被弃用,代替使用-rm -r。

rmdir

  删除指定目录。

  示例:hadoop fs -rmdir /test

get

  拷贝HDFS中的文件到本地文件系统。

  示例:hadoop fs -get /test/src.txt .     拷贝src.txt文件到本地文件系统的当前目录下

put

  拷贝本地文件系统中的文件到HDFS上。

  示例:hadoop fs -put src.txt /test/

copyFromLocal

  功能和put类似,除了要求源文件一定要是本地文件。

copyToLocal

  功能和get类似,除了目标文件要是本地文件引用。

moveFromLocal

  功能类似put,除了拷贝之后会删除源文件。

moveToLocal

  目前无法使用,执行命令会显示 “Not implemented yet” 。

df

  显示文件系统空间占用情况。

  示例:hadoop fs -df -h /test/src.txt
    Filesystem   Size  Used  Available  Use%
    hdfs://nnhost  5T   2.1T   2.9T    42%

du

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

  示例:
    hadoop fs -du -h /test/src.txt  显示文件大小
    hadoop fs -du -h /test/  依次显示目录下所有文件的大小

find

  显示指定目录下匹配指定表达式的所有文件。

  示例:hadoop fs -find /test -name “*.txt”  显示/test目录下所有以.txt结尾的文件

count

  依次显示URI下面的总的目录数、文件数和字节数。

  示例:hadoop fs -count /test/
    目录数  文件数  字节数
    50000   10000   409600000

tail

  显示文件的最后一kb到标准输出。

  示例:hadoop fs -tail /test/src.txt

chmod

  修改文件的权限。

  示例:
    hadoop fs -chmod 744 /test/src.txt    修改文件src.txt的权限为r+w+x
    hadoop fs -chmod -R 744 /test/    递归地修改test目录及其子目录下所有文件的权限

chown

  修改文件所属的用户

    示例:hadoop fs -chown [-R] owner:group /test/src.txt

checksum

  查看文件的校验信息。

  示例:hadoop fs -checksum /test/src.txt

A&F
发布了14 篇原创文章 · 获赞 3 · 访问量 4946

猜你喜欢

转载自blog.csdn.net/lovetechlovelife/article/details/95459775