一、HDFS的Shell的基本概念

1.调用文件系统(FS)Shell命令应使用 bin/hadoop fs 命令或 bin/hdfs dfs 命令的形式。[为了简便,一般将bin目录添加到path中]

2.所有的FS shell命令使用URI路径作为参数。

  URI格式是scheme://authority/path。HDFS的scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。例如:hdfs://namenode:namenodePort/parent/child,可以表示成/parent/child(假设配置文件是namenode:namenodePort)

3.大多数FS Shell命令的行为和对应的LINUX Shell命令类似。

二、HDFS的Shell命令


-help [cmd] //显示命令的帮助信息 -ls(r) <path> //显示当前目录下所有文件 -du(s) <path> //显示目录中所有文件大小 -count[-q] <path> //显示目录中文件数量 -mv <src> <dst> //移动多个文件到目标目录 -cp <src> <dst> //复制多个文件到目标目录 -rm(r) //删除文件(夹) -put <localsrc> <dst> //本地文件复制到hdfs -copyFromLocal //同put -moveFromLocal //从本地文件移动到hdfs -get [-ignoreCrc] <src> <localdst> //复制文件到本地,可以忽略crc校验 -getmerge <src> <localdst> //将源目录中的所有文件排序合并到一个文件中 -cat <src> //在终端显示文件内容 -text <src> //在终端显示文件内容 -copyToLocal [-ignoreCrc] <src> <localdst> //复制到本地 -moveToLocal <src> <localdst> -mkdir <path> //创建文件夹 -touchz <path> //创建一个空文件


三、HDFS的Shell命令(练习)

#hadoop fs -ls / 查看HDFS根目录

#hadoop fs -mkdir /test 在根目录创建一个目录test

#hadoop fs -put ./test.txt /test 或 #hadoop fs -copyFromLocal /test.txt /test 上传文件

#hadoop fs -get /test/test.txt 或 #hadoop fs -getToLocal /test/test.txt 下载文件

#hadoop fs -rm /test1/test.txt 删除文件

#hadoop fs -rmr /test1 删除文件夹

#hadoop fs -mv /test/test.txt /test1 移动文件