HDFS 常用shell命令
1.shell基本格式
(1)針對HDFS的shell格式
例:
hadoop fs -ls hdfs://namenode:host/parent/child
也可以省略hdfs://namenode:host
hadoop fs -ls /parent/child
(2)針對本地檔案系統的shell格式
注:本地檔案系統指的是客戶端所在的系統。
hadoop fs -ls file:///parent/child
2.常用HDFS shell介紹
-ls
使用方法:hadoop fs -ls [-h] [-R] <args> 功能:顯示檔案、目錄資訊。 例1:
例2:-R查出資料夾及其子檔案的所有資訊
例3:優化檔案大小顯示
-mkdir
使用方法:hadoop fs -mkdir [-p] <paths> 功能:在 hdfs 上建立目錄,-p 表示會建立路徑中的各級父目錄。 示例:hadoop fs -mkdir –p /user/hadoop/dir1
-put
使用方法:hadoop fs -put [-f] [-p] [ -|<localsrc1> .. ]. <dst> 功能:將單個 src 或多個 srcs 從本地檔案系統複製到目標檔案系統。 -p:保留訪問和修改時間,所有權和許可權。 -f:覆蓋目的地(如果已經存在) 示例:hadoop fs -put -f localfile1 localfile2 /user/hadoop/hadoopdir
-get
使用方法:hadoop fs -get [-ignorecrc] [-crc] [-p] [-f] <src> <localdst> -ignorecrc:跳過對下載檔案的 CRC 檢查。 -crc:為下載的檔案寫 CRC 校驗和。 功能:將檔案複製到本地檔案系統。 示例:hadoop fs -get hdfs://host:port/user/hadoop/file localfile
-appendToFile
使用方法:hadoop fs -appendToFile <localsrc> ... <dst> 功能:追加一個檔案到已經存在的檔案末尾
注:hdfs不能進行修改,但是可以進行追加 示例:hadoop fs -appendToFile localfile /hadoop/hadoopfile
-cat
使用方法:hadoop fs -cat [-ignoreCrc] URI [URI ...] 功能:顯示檔案內容到 stdout 示例:hadoop fs -cat /hadoop/hadoopfile
-tail
使用方法:hadoop fs -tail [-f] URI 功能:將檔案的最後一千位元組內容顯示到 stdout。 -f 選項將在檔案增長時輸出附加資料。 示例:hadoop fs -tail /hadoop/hadoopfile
-chgrp
使用方法:hadoop fs -chgrp [-R] GROUP URI [URI ...] 功能:更改檔案組的關聯。使用者必須是檔案的所有者,否則是超級使用者。 -R 將使改變在目錄結構下遞迴進行。 示例:hadoop fs -chgrp othergroup /hadoop/hadoopfile
-chmod
功能:改變檔案的許可權。使用-R 將使改變在目錄結構下遞迴進行。 示例:hadoop fs -chmod 666 /hadoop/hadoopfile
-chown
功能:改變檔案的擁有者。使用-R 將使改變在目錄結構下遞迴進行。 示例:hadoop fs -chown someuser:somegrp /hadoop/hadoopfile
-copyFromLocal
使用方法:hadoop fs -copyFromLocal <localsrc> URI
功能:從本地檔案系統中拷貝檔案到 hdfs 路徑去
示例:hadoop fs -copyFromLocal /root/1.txt /
-copyToLocal
功能:從 hdfs 拷貝到本地 示例:hadoop fs -copyToLocal /aaa/jdk.tar.gz
-cp
功能:從 hdfs 的一個路徑拷貝 hdfs 的另一個路徑 示例: hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
-mv
功能:在 hdfs 目錄中移動檔案 示例: hadoop fs -mv /aaa/jdk.tar.gz /
-getmerge
功能:合併下載多個檔案 示例:比如 hdfs 的目錄 /aaa/下有多個檔案:log.1, log.2,log.3,... hadoop fs -getmerge /aaa/log.* ./log.sum
-rm
功能:刪除指定的檔案。只刪除非空目錄和檔案。-r 遞迴刪除。 示例:hadoop fs -rm -r /aaa/bbb/
-df
功能:統計檔案系統的可用空間資訊
示例:hadoop fs -df -h /
-du
功能:顯示目錄中所有檔案大小,當只指定一個檔案時,顯示此檔案的大小。
示例:hadoop fs -du /user/hadoop/dir1
-setrep
功能:改變一個檔案的副本系數。-R 選項用於遞迴改變目錄下所有檔案的副本 係數。
注:實際中這個功能不常用,副本大小會預先定義好。 示例:hadoop fs -setrep -w 3 -R /user/hadoop/dir1