HDFS的基本命令
阿新 • • 發佈:2019-01-30
HDFS常用命令:
注:以下執行命令均在spark安裝目錄的bin目錄下。
path 為路徑 src為檔案路徑 dist 為資料夾
1、-help[cmd] 顯示命令的幫助資訊
./hdfs dfs -help ls
2、-ls(r) 顯示當前目錄下的所有檔案 -R層層循出文件夾
./hdfs dfs -ls /log/map
./hdfs dfs -lsr /log/ (遞迴的)
3、-du(s) 顯示目錄中所有檔案大小,或者當只指定一個檔案時,顯示此檔案的大小
./hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://host:port/user/hadoop/dir1
4、-count[-q] 顯示當前目錄下的所有檔案大小
5、-mv 移動多個檔案目錄到目標目錄
./hdfs dfs -mv /user/hadoop/file1 /user/hadoop/file2
6、-cp 複製多個檔案到目標目錄
./hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2 (將檔案從源路徑複製到目標路徑。
這個命令允許有多個源路徑,此時目標路徑必須是一個目錄。)
7、-rm(r) 刪除檔案(夾)
./hdfs dfs -rmr /log/map1 (遞迴刪除)
8、-put 本地檔案複製到hdfs
./hdfs dfs -put test.txt /log/map/
9、-copyFromLocal 本地檔案複製到hdfs
./hdfs dfs -copyFromLOcal /usr/data/text.txt /log/map1/ (將本地的text.txt 複製到hdfs的/log/map1/下)
10、-moveFromLocal 本地檔案移動到hdfs
./hdfs dfs -moveFromLocal /usr/data/text.txt /log/map1/ (將本地的text.txt移動到hdfs的/log/map1/下)
11、-get[-ignoreCrc] 複製檔案到本地,可以忽略crc校驗
./hdfs dfs -get /log/map1/* . (複製到本地當前目錄下) /hdfs dfs -get /log/map1/* /usr/data (將hdfs下的/log/map1/下的所有檔案全部複製到本地的/usr/data/下 )
12、-getmerge[addnl] 將源目錄中的所有檔案排序合併到一個檔案中,接受一個源目錄和一個目標檔案作為輸入,並且將源目錄中所有的檔案連線成本地目標檔案。addnl是可選的,用於指定在每個檔案結尾新增一個換行符。
./hdfs dfs -getmerge /log/map1/* /usr/data(將hdfs上的/log/map1/下的所有檔案合併下載到本地的/usr/data下)
13、-cat 在終端顯示檔案內容
./hdfs dfs -cat /log/map1/part-00000 | head (讀取hdfs上的/log/map1下的part-00000檔案 head引數,代表前十行。)
/hdfs dfs -tail /log/map1/part-00000 (檢視檔案的最後一千行)
14、-text 在終端顯示檔案內容,將原始檔輸出為文字格式。允許的格式是zip和TextRecordInputStream
15、-copyToLocal[-ignoreCrc] 複製檔案到本地
16、-moveToLocal 移動檔案到本地
17、-mkdir 建立資料夾 後跟-p 可以建立不存在的父路徑
./hdfs dfs -mkdir -p /dir1/dir11/dir111
18、-touchz 建立一個空檔案
19、-grep 從hdfs上過濾包含某個字元的行內容
./hdfs dfs -cat /log/testlog/* | grep 過濾欄位