hdfs常用命令 講解
常用命令引數介紹
-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的數量>