HDFS常用命令
您可以在已經(jīng)創(chuàng)建好的E-MapReduce(簡稱EMR)集群中,直接使用hadoop fs命令來對HDFS中的文件進行操作。本文為您介紹HDFS的常見命令。
背景信息
HDFS常見命令如下表所示。
命令 | 功能 |
在HDFS文件系統(tǒng)中創(chuàng)建目錄。 | |
在HDFS文件系統(tǒng)中新建一個空文件。 | |
在文件或者目錄創(chuàng)建完之后,您可以查看指定路徑下的文件或目錄信息。在查看文件或目錄信息的時候需要給出絕對路徑。 | |
上傳本地文件到HDFS的指定路徑。 | |
顯示文件的大小或者目錄中所有文件的大小。 | |
查看HDFS上文件的內(nèi)容。 | |
在HDFS系統(tǒng)中,復制文件或目錄到目標路徑,并且保持源文件內(nèi)容或目錄結(jié)構(gòu)不變。此命令允許有多個源路徑,此時目標路徑必須是一個目錄。 | |
在HDFS系統(tǒng)中,移動文件或目錄到目標路徑,并且不保留源文件內(nèi)容或目錄結(jié)構(gòu)。此命令允許有多個源路徑,此時目標路徑必須是一個目錄。 | |
下載HDFS指定路徑的文件到本地路徑。 | |
刪除HDFS系統(tǒng)中指定的文件。 | |
遞歸刪除HDFS系統(tǒng)中指定的目錄及其文件。 |
關(guān)于Apache Hadoop的詳細介紹,請參見Apache Hadoop官網(wǎng)。
mkdir
在HDFS文件系統(tǒng)中創(chuàng)建目錄。
語法
hadoop fs -mkdir <path1> [path2] ... [pathn]
示例:
在HDFS文件系統(tǒng)中,創(chuàng)建dir目錄。
hadoop fs -mkdir dir
您可以通過
hadoop fs -ls /
命令查看創(chuàng)建的目錄。在dir目錄下,創(chuàng)建sub-dir目錄。
hadoop fs -mkdir /dir/sub-dir
您可以通過
hadoop fs -ls /dir/
命令查看創(chuàng)建的目錄。
touchz
在HDFS文件系統(tǒng)中新建一個空文件。
語法
hadoop fs -touchz URI [URI ...]
示例:在HDFS文件系統(tǒng)中新建/dir/目錄下的emptyfile.txt文件。
hadoop fs -touchz /dir/emptyfile.txt
您可以通過
hadoop fs -ls /dir/
命令查看新建的文件。
ls
在文件或者目錄創(chuàng)建完之后,您可以查看指定路徑下的文件或目錄信息。在查看文件或目錄信息的時候需要給出絕對路徑。
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上文件的內(nèi)容。
語法
hadoop fs -cat <path>
示例:
查看hello.txt文件的內(nèi)容。
hadoop fs -cat /hello.txt
查看/dir/sub-dir/目錄下hello_world.txt文件的內(nèi)容。
hadoop fs -cat /dir/sub-dir/hello_world.txt
cp
在HDFS系統(tǒng)中,復制文件或目錄到目標路徑,并且保持源文件內(nèi)容或目錄結(jié)構(gòu)不變。此命令允許有多個源路徑,此時目標路徑必須是一個目錄。
您也可以使用此命令對文件重命名,以保留源文件或目錄。
語法
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系統(tǒng)中,移動文件或目錄到目標路徑,并且不保留源文件內(nèi)容或目錄結(jié)構(gòu)。此命令允許有多個源路徑,此時目標路徑必須是一個目錄。
語法
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系統(tǒng)中/dir/sub-dir/目錄下的文件hello_world2.txt至本地的/emr路徑下。
hadoop fs -get /dir/sub-dir/hello_world2.txt /emr
您可以通過
ls
命令查看文件下載的情況。
rm
刪除HDFS系統(tǒng)中指定的文件。
語法
hadoop fs -rm <path>
示例:刪除HDFS系統(tǒng)中/dir/sub-dir/目錄下的文件hello_world2.txt。
hadoop fs -rm /dir/sub-dir/hello_world2.txt
您可以通過
hadoop fs -ls /dir/sub-dir/
命令查看文件刪除的情況。
rmr
遞歸刪除HDFS系統(tǒng)中指定的目錄及其文件。
語法
hadoop fs -rmr <path>
示例:遞歸刪除HDFS系統(tǒng)中/dir/下的sub-dir目錄及其文件。
hadoop fs -rmr /dir/sub-dir/
您可以通過
hadoop fs -ls /dir/
命令查看目錄刪除的情況。
相關(guān)文檔
如果您的集群開啟了高可用,請參見HDFS高可用相關(guān)命令(HaAdmin)介紹。