HDFS的shell(命令列客戶端)操作
阿新 • • 發佈:2019-02-11
-help
功能:輸出這個命令引數手冊
-ls
功能:顯示目錄資訊
示例: hadoop fs -ls hdfs://hadoop-server01:9000/
備註:這些引數中,所有的hdfs路徑都可以簡寫
-->hadoop fs -ls / 等同於上一條命令的效果
-mkdir
功能:在hdfs上建立目錄
示例:hadoop fs -mkdir -p /aaa/bbb/cc/dd
-moveFromLocal
功能:從本地剪下貼上到hdfs
示例:hadoop fs - moveFromLocal /home/hadoop/a.txt /aaa/bbb/cc/dd
-moveToLocal
功能:從hdfs剪下貼上到本地
示例:hadoop fs - moveToLocal /aaa/bbb/cc/dd /home/hadoop/a.txt
--appendToFile
功能:追加一個檔案到已經存在的檔案末尾
示例:hadoop fs -appendToFile ./hello.txt hdfs://hadoop-server01:9000/hello.txt
可以簡寫為:
Hadoop fs -appendToFile ./hello.txt /hello.txt
-cat
功能:顯示檔案內容
示例:hadoop fs -cat /hello.txt
-tail
功能:顯示一個檔案的末尾
示例:hadoop fs -tail /weblog/access_log.1
-text
功能:以字元形式列印一個檔案的內容
示例:hadoop fs -text /weblog/access_log.1
-chgrp
-chmod
-chown
功能:linux檔案系統中的用法一樣,對檔案所屬許可權
示例:
hadoop fs -chmod 666 /hello.txt
hadoop fs -chown someuser:somegrp /hello.txt
-copyFromLocal
功能:從本地檔案系統中拷貝檔案到hdfs路徑去
示例:hadoop fs -copyFromLocal ./jdk.tar.gz /aaa/
-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 /
-get
功能:等同於copyToLocal,就是從hdfs下載檔案到本地
示例:hadoop fs -get /aaa/jdk.tar.gz
-getmerge
功能:合併下載多個檔案
示例:比如hdfs的目錄 /aaa/下有多個檔案:log.1, log.2,log.3,...
hadoop fs -getmerge /aaa/log.* ./log.sum
-put
功能:等同於copyFromLocal
示例:hadoop fs -put /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
-rm
功能:刪除檔案或資料夾
示例:hadoop fs -rm -r /aaa/bbb/
-rmdir
功能:刪除空目錄
示例:hadoop fs -rmdir /aaa/bbb/ccc
-df
功能:統計檔案系統的可用空間資訊
示例:hadoop fs -df -h /
-du
功能:統計資料夾的大小資訊
示例:
hadoop fs -du -s -h /aaa/*
-count
功能:統計一個指定目錄下的檔案節點數量
示例:hadoop fs -count /aaa/
-setrep
功能:設定hdfs中檔案的副本數量
示例:hadoop fs -setrep 3 /aaa/jdk.tar.gz
<這裡設定的副本數只是記錄在namenode的元資料中,是否真的會有這麼多副本,還得看datanode的數量>