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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章