您好,登錄后才能下訂單哦!
Hadoop Shell命令(版本:2.7.2)
官方文檔2.7.2
官方中文1.0.4
文件系統(FS)shell包括各種類似shell的命令,這些命令直接與Hadoop分布式文件系統(HDFS)以及Hadoop支持的其他文件系統交互,例如本地FS,HFTP FS,S3 FS等。FS shell由以下方式調用:
bin/hadoop fs <args>
所有的的FS shell命令使用URI路徑作為參數。URI格式是scheme://authority/path。對HDFS文件系統,scheme是hdfs,對本地文件系統,scheme是file。其中scheme和authority參數都是可選的,如果未加指定,就會使用配置中指定的默認scheme。可以將HDFS文件或目錄(例如/parent/child)指定為hdfs://namenodehost/parent/child或簡單地指定為/parent/child(假設您的配置設置為指向hdfs://namenodehost)。
大多數FS Shell命令的行為和對應的Unix Shell命令類似,不同之處會在下面介紹各命令使用詳情時指出。出錯信息會輸出到stderr,其他信息輸出到stdout。
如果正在使用HDFS,則hdfs dfs是同義詞。
有關通用shell選項,請參閱命令手冊。
用法:
hadoop fs -appendToFile <localsrc> ... <dst>
將單個src或多個srcs從本地文件系統附加到目標文件系統。還從stdin讀取輸入并附加到目標文件系統。
hadoop fs -appendToFile localfile /user/hadoop/hadoopfile
hadoop fs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile
hadoop fs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile
hadoop fs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin.
退出代碼:
成功時返回0,錯誤時返回1。
用法:
hadoop fs -cat URI [URI ...]
將路徑指定文件的內容輸出到stdout。
hadoop fs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
hadoop fs -cat file:///file3 /user/hadoop/file4
退出代碼:
成功時返回0,錯誤時返回-1。
用法:
hadoop fs -checksum URI
返回文件的校驗和信息。
例:
hadoop fs -checksum hdfs://nn1.example.com/file1
hadoop fs -checksum file:///etc/hosts
用法:
hadoop fs -chgrp [-R] GROUP URI [URI ...]
更改文件的組關聯。用戶必須是文件的所有者,否則必須是超級用戶。其他信息在“ 權限指南”中。
選項
用法:
hadoop fs -chmod [-R] <MODE [,MODE] ... | OCTALMODE> URI [URI ...]
更改文件的權限。使用-R,通過目錄結構遞歸更改。用戶必須是文件的所有者,否則必須是超級用戶。其他信息在“ 權限指南”中。
用法:
hadoop fs -chown [-R] [OWNER] [:[GROUP]] URI [URI]
更改文件的所有者。用戶必須是超級用戶。其他信息在“ 權限指南”中。
選項
用法:
hadoop fs -copyFromLocal <localsrc> URI
與put命令類似,但源僅限于本地文件引用。
用法:
hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
與get命令類似,但目標僅限于本地文件引用。
用法:
hadoop fs -count [-q] [-h] [-v] <paths>
計算與指定文件模式匹配的路徑下的目錄,文件和字節數。-count的輸出列為:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,PATHNAME
-count -q的輸出列為:QUOTA,REMAINING_QUATA,SPACE_QUOTA,REMAINING_SPACE_QUOTA,DIR_COUNT,FILE_COUNT,CONTENT_SIZE,PATHNAME
-h選項以人類可讀格式顯示大小。
-v選項顯示標題行。
例:
hadoop fs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
hadoop fs -count -q hdfs://nn1.example.com/file1
hadoop fs -count -q -h hdfs://nn1.example.com/file1
hdfs dfs -count -q -h -v hdfs://nn1.example.com/file1
```shell
退出代碼:
成功時返回0,錯誤時返回-1。
## cp
用法:
```shell
hadoop fs -cp [-f] [-p | -p [topax]] URI [URI ...] <dest>
將文件從源復制到目標。此命令也允許多個源,在這種情況下,目標必須是目錄。
如果(1)源文件系統和目標文件系統支持它們(僅限HDFS),并且(2)所有源和目標路徑名都在/.reserved/raw層次結構中,則保留'raw。'命名空間擴展屬性。是否保留raw。 namespace xattrs的確定與-p(保留)標志無關。
如果目標已存在,則-f選項將覆蓋目標。
-p選項將保留文件屬性[topx](時間戳,所有權,權限,ACL,XAttr)。如果指定了-p且沒有arg,則保留時間戳,所有權和權限。如果指定了-pa,則還保留權限,因為ACL是一組超級權限。確定是否保留原始命名空間擴展屬性與-p標志無關。
例:
hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2
hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir
退出代碼:
成功時返回0,錯誤時返回-1。
請參閱"HDFS快照指南"。
請參閱"HDFS快照指南"。
用法:
hadoop fs -df [-h] URI [URI ...]
顯示可用空間。
例:
hadoop dfs -df /user/hadoop/dir1
用法:
hadoop fs -du [-s] [-h] URI [URI ...]
顯示給定目錄中包含的文件和目錄的大小或文件的長度,以防它只是一個文件。
例:
hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1
退出代碼:成功時返回0,錯誤時返回-1。
用法:
hadoop fs -dus <args>
顯示文件長度的摘要。
注意:不推薦使用此命令。而是使用hadoop fs -du -s。
用法:
hadoop fs -expunge
清空垃圾。有關“廢紙簍”功能的詳細信息,請參閱"HDFS體系結構指南"。
用法:
hadoop fs -find <path> ... <expression> ...
查找與指定表達式匹配的所有文件,并將選定的操作應用于它們。如果未指定路徑,則默認為當前工作目錄。如果未指定表達式,則默認為-print。
識別以下主要表達式:
如果文件的基名與使用標準文件系統globbing的模式匹配,則求值為true。如果使用-iname,則匹配不區分大小寫。
評估為真。使當前路徑名寫入標準輸出。如果使用-print0表達式,則附加ASCII NULL字符。
以下運營商得到承認:
用于連接兩個表達式的邏輯AND運算符。如果兩個子表達式都返回true,則返回true。由兩個表達式的并置所暗示,因此不需要明確指定。如果第一個表達式失敗,則不會應用第二個表達式。
例:
hadoop fs -find / -name test -print
退出代碼:
成功時返回0,錯誤時返回-1。
用法:
hadoop fs -get [-ignorecrc] [-crc] <src> <localdst>
將文件復制到本地文件系統。可以使用-ignorecrc選項復制CRC校驗失敗的文件。可以使用-crc選項復制文件和CRC。
例:
hadoop fs -get /user/hadoop/file localfile
hadoop fs -get hdfs://nn.example.com/user/hadoop/file localfile
退出代碼:
成功時返回0,錯誤時返回-1。
用法:
hadoop fs -getfacl [-R] <path>
顯示文件和目錄的訪問控制列表(ACL)。如果目錄具有默認ACL,則getfacl還會顯示默認ACL。
例子:
hadoop fs -getfacl /file
hadoop fs -getfacl -R /dir
退出代碼:
成功時返回0,錯誤時返回非零。
用法:
hadoop fs -getfattr [-R] -n name | -d [-e en] <path>
顯示文件或目錄的擴展屬性名稱和值(如果有)。
選項:
例子:
hadoop fs -getfattr -d /file
hadoop fs -getfattr -R -n user.myAttr /dir
退出代碼:
成功時返回0,錯誤時返回非零。
用法:
hadoop fs -getmerge [-nl] <src> <localdst>
將源目錄和目標文件作為輸入,并將src中的文件連接到目標本地文件。可選地,-nl可以設置為允許在每個文件的末尾添加換行符(LF)。
例子:
hadoop fs -getmerge -nl /src /opt/output.txt
hadoop fs -getmerge -nl /src/file1.txt /src/file2.txt /output.txt
退出代碼:
成功時返回0,錯誤時返回非零。
用法:
hadoop fs -help
返回使用量輸出。
用法:
hadoop fs -ls [-d] [-h] [-R] <args>
選項:
對于文件,ls使用以下格式返回文件的stat:
permissions number_of_replicas userid groupid filesize modification_date modification_time filename
對于目錄,它返回其直接子節點的列表,如在Unix中。目錄列為:
permissions userid groupid modification_date modification_time dirname
默認情況下,目錄中的文件按文件名排序。
例:
hadoop fs -ls /user/hadoop/file1
退出代碼:
成功時返回0,錯誤時返回-1。
用法:
hadoop fs -lsr <args>
ls的遞歸版本。
注意:不推薦使用此命令。而是使用hadoop fs -ls -R
用法:
hadoop fs -mkdir [-p] <paths>
將路徑uri作為參數并創建目錄。
選項:
例:
hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
hadoop fs -mkdir hdfs://nn1.example.com/user/hadoop/dir hdfs://nn2.example.com/user/hadoop/dir
退出代碼:
成功時返回0,錯誤時返回-1。
用法:
hadoop fs -moveFromLocal <localsrc> <dst>
與put命令類似,只是在復制后刪除了源localsrc。
用法:
hadoop fs -moveToLocal [-crc] <src> <dst>
顯示“尚未實現”消息。
用法:
hadoop fs -mv URI [URI ...] <dest>
將文件從源移動到目標。此命令允許多個源,在這種情況下,目標需要是目錄。不允許跨文件系統移動文件。
例:
hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2
hadoop fs -mv hdfs://nn.example.com/file1 hdfs://nn.example.com/file2 hdfs://nn.example.com/file3 hdfs://nn.example.com/dir1
退出代碼:
成功時返回0,錯誤時返回-1。
用法:
hadoop fs -put <localsrc> ... <dst>
將單個src或多個srcs從本地文件系統復制到目標文件系統。還從stdin讀取輸入并寫入目標文件系統。
hadoop fs -put localfile /user/hadoop/hadoopfile
hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
hadoop fs -put localfile hdfs://nn.example.com/hadoop/hadoopfile
hadoop fs -put - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin.
退出代碼:
成功時返回0,錯誤時返回-1。
請參閱"HDFS快照指南"。
用法:
hadoop fs -rm [-f] [-r | -R] [-skipTrash] URI [URI ...]
刪除指定為args的文件。
選項:
例:
hadoop fs -rm hdfs://nn.example.com/file /user/hadoop/emptydir
退出代碼:
成功時返回0,錯誤時返回-1。
用法:
hadoop fs -rmdir [--ignore-fail-on-non-empty] URI [URI ...]
刪除目錄。
選項:
例:
hadoop fs -rmdir /user/hadoop/emptydir
用法:
hadoop fs -rmr [-skipTrash] URI [URI ...]
刪除的遞歸版本。
注意:不推薦使用此命令。而是使用hadoop fs -rm -r
用法:
hadoop fs -setfacl [-R] [-b | -k -m | -x <acl_spec> <path>] | [ - set <acl_spec> <path>]
設置文件和目錄的訪問控制列表(ACL)。
選項:
例子:
hadoop fs -setfacl -m user:hadoop:rw- /file
hadoop fs -setfacl -x user:hadoop /file
hadoop fs -setfacl -b /file
hadoop fs -setfacl -k /dir
hadoop fs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r-- /file
hadoop fs -setfacl -R -m user:hadoop:r-x /dir
hadoop fs -setfacl -m default:user:hadoop:r-x /dir
退出代碼:
成功時返回0,錯誤時返回非零。
用法:
hadoop fs -setfattr -n name [-v value] | -x name <path>
設置文件或目錄的擴展屬性名稱和值。
選項:
例子:
hadoop fs -setfattr -n user.myAttr -v myValue /file
hadoop fs -setfattr -n user.noValue /file
hadoop fs -setfattr -x user.myAttr /file
退出代碼:
成功時返回0,錯誤時返回非零。
用法:
hadoop fs -setrep [-R] [-w] <numReplicas> <path>
更改文件的復制因子。如果path是目錄,則命令以遞歸方式更改以path為根的目錄樹下的所有文件的復制因子。
選項:
例:
hadoop fs -setrep -w 3 /user/hadoop/dir1
退出代碼:
成功時返回0,錯誤時返回-1。
用法:
hadoop fs -stat [格式] <路徑> ...
以指定格式打印有關<path>的文件/目錄的統計信息。格式接受塊(%b),類型(%F),所有者組名(%g),名稱(%n),塊大小(%o),復制(%r),所有者用戶名(%)的文件大小u)和修改日期(%y,%Y)。%y將UTC日期顯示為“yyyy-MM-dd HH:mm:ss”,%Y顯示自1970年1月1日UTC以來的毫秒數。如果未指定格式,則默認使用%y。
例:
hadoop fs -stat "%F %u:%g %b %y %n" /file
退出代碼:成功時返回0,錯誤時返回-1。
用法:
hadoop fs -tail [-f] URI
顯示文件的最后一千字節到stdout。
選項:
例:
hadoop fs -tail pathname
退出代碼:成功時返回0,錯誤時返回-1。
用法:
hadoop fs -test - [defsz] URI
選項:
例:
hadoop fs -test -e filename
用法:
hadoop fs -text <src>
獲取源文件并以文本格式輸出文件。允許的格式為zip和TextRecordInputStream。
用法:
hadoop fs -touchz URI [URI ...]
創建一個零長度的文件。
例:
hadoop fs -touchz pathname
退出代碼:成功時返回0,錯誤時返回-1。
用法:
hadoop fs -truncate [-w] <length> <paths>
將與指定文件模式匹配的所有文件截斷為指定的長度。
選項:
例:
hadoop fs -truncate 55 /user/hadoop/file1 /user/hadoop/file2
hadoop fs -truncate -w 127 hdfs://nn1.example.com/user/hadoop/file1
用法:
hadoop fs -usage命令
返回單個命令的幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。