Linux系統HDFS操作常用Shell命令

HDFS支持很多Shell命令,例如hadoop fshdfs dfs都是HDFS最常用的Shell命令,兩者功能和用法相同,都可以查看HDFS文件系統的目錄結構、上傳和下載數據、創建文件等。

在使用HDFS的Shell命令時最好配置一下PATH變量,因爲每次輸入命令都帶上路徑着實很麻煩,如何PATH變量請參照:Linux系統Hadoop僞分佈式模式配置第九條。

因爲hadoop fshdfs dfs兩個命令等同,所以在此只列出hadoop fs命令的常用操作:

命令 含義
hadoop fs 顯示hadoop fs命令所支持的所有操作
hadoop fs -help <command> 顯示command指定的命令的具體用法
hadoop fs -ls <path> 顯示path指定的文件的詳細信息
hadoop fs -ls -R <path> ls命令的遞歸版本
hadoop fs -cat <path> 將path指定的文件的內容輸出到標準輸出(stdout)
hadoop fs -chgrp [-R] group <path> 將path指定的文件所屬的組改爲group,使用-R對path指定的文件夾內的文件進行遞歸操作,這個命令只適用於超級用戶
hadoop fs -chown [-R] [owner] [: [group]] <path> 改變path指定的文件的擁有者,-R用於遞歸改變文件夾內的文件的擁有者,這個命令只適用於超級用戶
hadoop fs -chmod [-R] <mode> <path> 將path指定的文件的權限更改爲mode,這個命令只適用於超級用戶和文件的所有者
hadoop fs -tail [-f] <path> 將path指定的文件最後1KB的內容輸出到標準輸出(stdout)上,-f選項用於持續檢測新添加到文件中的內容
hadoop fs -stat [format] <path> 以指定的格式返回path指定的文件的相關信息,當不指定format的時候,返回文件path的創建日期
hadoop fs -touchz <path> 創建一個path指定的空文件
hadoop fs -mkdir [-p] <paths> 創建paths指定的一個或多個文件夾,-p 選項用於遞歸創建子文件夾
hadoop fs -copyFromLocal <localsrc> <dst> 將本地源文件localsrc複製到路徑dst指定的文件或文件夾中
hadoop fs -copyToLocal [-ignorecrc] [-crc] <target> <localdst> 將目標文件target複製到本地文件或文件夾localdst中,可用-ignorecre選項複製CRC校驗失敗的文件,使用-crc選項複製文件以及CRC信息
hadoop fs -cp <src> <dst> 將文件從源路徑src複製到目標路徑dst
hadoop fs -du <path> 顯示path指定的文件或文件夾中所有文件的大小
hadoop fs -expunge 清空回收站
hadoop fs -get [-ignorecrc] [-crc] <src> <localdst> 複製src指定的文件到本地文件系統localdst指定的文件或文件夾,可用-ignorecrc選項複製CRC校驗失敗的文件,使用-crc選項複製文件以及CRC信息
hadoop fs -getmerge [-nl] <src> <localdst> 對src指定的源目錄中的所有文件進行合併,寫入localdst指定的本地文件,-nl 是可選的,用於指定在每個文件結尾添加一個換行符
hadoop fs -put <localsrc> <dst> 從本地文件系統中複製localsrc指定的單個或多個源文件到dst指定的目標文件系統中,也支持從標準輸入(stdin)中讀取輸入寫入目標文件系統
hadoop fs -moveFromLocal <localsrc> <dst> 與put命令功能相同,但是文件上傳結束後會從本地文件系統中刪除localsrc指定的文件
hadoop fs -mv <src> <dst> 將文件從源路徑src移動到目標路徑dst
hadoop fs -rm <path> 刪除path指定的文件
hadoop fs -rm -r <path> 刪除path指定的文件夾及其下的所有文件,-r選項表示遞歸刪除子目錄
hadoop fs -setrep [-R] <path> 改變path指定的文件的副本系數,-R選項用於遞歸改變目錄下所有文件的副本系數
hadoop fs -test -[ezd] <path> 檢查path指定的文件或文件夾的相關信息,不同選項的作用如下:-e檢查文件是否存在,如果存在則返回0,否則返回1;-z檢查文件是否是0字節,如果是則返回0,否則返回1;-d檢查路徑是否是個目錄,如果是則則返回1,否則返回0
hadoop fs -text <path> 將path指定的文件輸出爲文本格式,文件的格式允許是zip和TextRecordInputStream等
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章