HDFS中的shell操作


HDFS文件系統: 

HDFS 是存取數據的分布式文件系統,那么對 HDFS 的操作,就是文件系統的基本操作,比如文件的創建、修改、刪除、修改權限等,文件夾的創建、刪除、重命名等。對HDFS 的操作命令類似於 lLinux 的 shell 對文件的操作,如 ls、mkdir、rm 等。

我們執行以下操作的時候,一定要確定 hadoop 是正常運行的,使用 jps 命令確保看到各個hadoop進程。
我們執行命令 hadoop fs,如圖 4-1 所示

這里的命令並不是很全,下表中的命令是所有的HDFS-shell支持的命令:

選項名稱 使用格式 含義
-ls -ls<路徑> 查看指定目錄的當前目錄結構
-lsr -lsr<路徑> 遞歸查看指定路徑的目錄結構
-du -du<路徑> 統計目錄下文件大小
-dus -dus<路徑> 匯總統計目錄下文件(夾)大小
-count -count[-q]<路徑> 統計文件夾數量
-mv -mv<源路徑><目的路徑> 移動
-cp -cp<源路徑><目的路徑> 復制
-rm -rm[-skipTrash]<路徑> 刪除文件或者空白文件夾
-rmr -rmr[-skipTrash]<路徑> 遞歸刪除
-put -put[多個linux上的文件><hdfs路徑> 上傳文件
-copyFromLocal -copyFromLocal<多個linux上的文件><hdfs路徑> 從本地復制
-moveFromLocal -moveFromLocal<多個linux上的文件><hdfs路徑> 從本地移動
-getmerge -getmerge<源路徑><linux路徑> 合並到文件
-cat -cat<hdfs文件內容> 查看文件內容
-text -text<hdfs文件內容> 查看文件內容
-copyToLocal -copyToLocal[-ignoreCrc][-crc][hdfs源路徑][linux目的路徑] 從本地復制
-moveToLocal -moveToLocal [-crc] <hdfs 源路徑> <linux目的路徑> 從本地移動
-mkdir -mkdir<hdfs路徑> 創建空白文件夾
-setrep -setrep[-r][-w]<副本數><路徑> 修改副本文件
-touchz -touchz<文件路徑> 創建空白文件
-stat -stat[format]<路徑> 顯示文件統計信息
-tail -tail[-f]<文件> 查看文件尾部信息
-chmod -chmod[-R]<權限模式>[路徑] 修改權限
-chown -chown[-R][屬主][:[屬組]]路徑 修改屬主
-chgrp -chgrp[-R] 屬組名稱 路徑 修改屬組
-help -help [命令選項] 幫助

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-ls 顯示當前目錄結構

查看指定路徑的當前目錄結構,后面跟hdfs路徑,如圖:

上圖中的路徑是hdfs的根目錄,顯示的文件目錄與linux的命令-ls -l顯示的內容格式非常相似,下面解析每一行的內容格式:

  • 首字母表示文件夾還是文件,“d”表示文件夾,“-”表示文件;
  • 后面的九位字符表示權限;
  • 后面的數字或者是“-”表示副本數。如果是文件,使用數字表示副本數,文件夾沒有副本;
  • 后面的root表示屬主;
  • root后面的supergroup表示屬組;
  • 后面的0/6176/37645表示文件的大小,單位是字節;
  • 后面的時間表示修改時間,時間表示年月日時分;
  • 最后一項表示文件的路徑;

注意:如果該命令選項后面沒有路徑,那么就會訪問/user/<當前用戶>目錄,比如說,我們使用的是root用戶登錄,因此會訪問/user/root/目錄,如果沒有/user/root/,會提示文件不存在的錯誤。

 -lsr 遞歸的顯示目錄結構

表示遞歸的顯示當前路徑下的目錄結構,后面跟hdfs路徑,如圖:

在user/目錄下有文件abc,有個目錄root。

-du 統計目錄下各文件大小

該命令選項顯示指定路徑下的文件大小,單位是字節,如圖:

-dus匯總統計目錄下文件大小

該命令顯示指定路徑的文件大小,單位是字節,如圖:

比較-du和-dus的執行結果,-du顯示的是該路徑下所有文件的大小,-dus顯示的是該路徑下文件的總大小。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM