FS Shell命令

HDFS命令基本格式

  1. hadoop fs -cmd args
  2. hdfs dfs -cmd args

cat

hadoop fs -cat URI [URI .....]

将路径指定文件的内容输出到stdout。

示例

  • hadoop fs -cat hdfs://192.168.17.128:9000/opt/learning/file.txt
  • hadoop fs -cat /opt/learning/file.txt

ls命令

hadoop fs -ls /

列出 hdfs文件系统根目录下的目录和文件

hadoop fs -ls -R /

列出hdfs文件系统所有的目录和文件

hadoop fs -ls -R /opt/learning/
列出hdfs文件系统在/opt/learning目录下的子目录和文件。

cp命令

``` hadoop fs -cp URI [URI …] dest ````
将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。

du命令

hadoop fs -du URI [URI.....]

显示目录所有文件的大小,或者当只指定一个文件时,显示此文件的大小

get

hadoop fs -get [-ignorecrc] < hdfs file > < local file or dir >

复制文件到本地文件系统。可用-ignorecrc选项复制CRC校验失败的文件。

mkdir

hadoop fs -mkdir < hdfs path >

只能一级一级的建目录,父目录不存在的话使用这个命令会报错

hadoop fs -mkdir -p < hdfs path >

所创建的目录如果父目录不存在就创建该父目录。

put

用法:
hadoop fs -put < localsrc > ... < dst >

从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。

示例:

hadoop fs -put localfile /user/hadoop/hadoopfile
复制本地文件 localfile内容到hadoop文件系统“/usr/hadoop/hadoopfile”文件中。hdfs file的父目录一定要存在,否则命令不执行。

hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
复制本地文件localfile1、localFile2到hdfs文件系统“/user/hadoop/hadoopdir”目录下。/user/hadoop/hadoopdir目录一定要存在,否则命令不会执行。

hadoop fs -put localfile hdfs://host:port/hadoop/hadoopfile

复制本地文件localfile到host:port对应的hdfs文件系统下的“hadoop/hadoopfile”文件里。

hadoop fs -put - < hdsf file>
从键盘读取输入到hdfs file中,按ctrl+c结束输入,hdfs file不能存在,否则会提示“file exists”。

rm

hadoop fs -rm < hdfs file > 
hadoop fs -rm -r <hdfs dir>

每次可以删除多个文件或目录

tail

hadoop fs -tail [-f] URI
与unix tail命令一样。

count 命令

hadoop fs -count < hdfs path >
统计hdfs对应路径下的目录个数,文件个数,文件总计大小。
显示为目录个数,文件个数,文件总计大小,输入路径。

getmerge

hadoop fs -getmerge < hdfs dir > < local file >

将hdfs指定目录下所有文件排序后合并到local指定的文件中,文件不存在时会自动创建,文件存在时会覆盖里面的内容。

hadoop fs -germerge -nl < hdfs dir > < local file >
加上nl后,合并到local file中的hdfs文件之间会空出一行。

mv命令

hadoops fs -mv < hdfs file > < hdfs file >

将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。不允许在不同的文件系统间移动文件。

** 示例:**

hadoop fs -mv /user/hadoop/file1  /user/hadoop/file2
hadoop fs -mv hdfs://host:port/file1 hdfs://host:port/file2 hdfs://host:port/file3 hdfs://host:port/dir1

更多命令

  1. HDFS 常用文件操作命令
  2. Hadoop Shell命令
posted @ 2017-10-23 09:39  做个有梦想的咸鱼  阅读(1210)  评论(0编辑  收藏  举报