hadoop shell命令字典詳解

能夠帶着下面問題來閱讀:

1.chmod與chown的區別是什麼?
2.cat將路徑指定文件的內容輸出到哪裏?
3.cp可否是不一樣之間複製?
4.hdfs如何查看文件大小?
5.hdfs如何合併文件?
6.如何顯示當前路徑下的全部文件夾和文件
7.rm刪除文件失敗的緣由什麼?
8.如何查看文件的建立時間
9.查看文件命令的內容有哪些?可否說出三種?
10.如何判斷文件是否存在?
11.如何建立0字節文件

對於命令,咱們一次性記住,可能之後又忘記了,這裏你們用到的時候,能夠查看一下。


html

調用文件系統(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://namenode:namenodeport/parent/child,或者更簡單的/parent/child(假設你配置文件中的默認值是namenode:namenodeport)。大多數FS Shell命令的行爲和對應的Unix Shell命令相似,不一樣之處會在下面介紹各命令使用詳情時指出。出錯信息會輸出到stderr,其餘信息輸出到stdout。node

(stderr與stdout這裏能夠理解爲文件)shell


catapache

使用方法:hadoop fs -cat URI [URI …]ide

將路徑指定文件的內容輸出到stdout。oop

示例:ui

  • hadoop fs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2spa

  • hadoop fs -cat file:///file3 /user/hadoop/file4
    設計

返回值:
成功返回0,失敗返回-1。unix


chgrp

使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …] Change group association of files. With -R, make the change recursively through the directory structure. The user must be the owner of files, or else a super-user. Additional information is in the Permissions User Guide. -->

改變文件所屬的組。使用-R將使改變在目錄結構下遞歸進行。命令的使用者必須是文件的全部者或者超級用戶。更多的信息請參見HDFS權限用戶指南


chmod

使用方法:hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI …]

改變文件的權限。使用-R將使改變在目錄結構下遞歸進行。命令的使用者必須是文件的全部者或者超級用戶。更多的信息請參見HDFS權限用戶指南


chown

使用方法:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]

改變文件的擁有者。使用-R將使改變在目錄結構下遞歸進行。命令的使用者必須是超級用戶。更多的信息請參見HDFS權限用戶指南


copyFromLocal

使用方法:hadoop fs -copyFromLocal <localsrc> URI

除了限定源路徑是一個本地文件外,和put命令類似。


copyToLocal

使用方法:hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>

除了限定目標路徑是一個本地文件外,和get命令相似。


cp

使用方法:hadoop fs -cp URI [URI …] <dest>

將文件從源路徑複製到目標路徑。這個命令容許有多個源路徑,此時目標路徑必須是一個目錄。 
示例:

  • hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2

  • hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir

返回值:

成功返回0,失敗返回-1。


du

使用方法:hadoop fs -du URI [URI …]

顯示目錄中全部文件的大小,或者當只指定一個文件時,顯示此文件的大小。
示例:
hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://host:port/user/hadoop/dir1 
返回值:
成功返回0,失敗返回-1。 


dus

使用方法:hadoop fs -dus <args>

顯示文件的大小。


expunge

使用方法:hadoop fs -expunge

清空回收站。請參考HDFS設計文檔以獲取更多關於回收站特性的信息。


get

使用方法:hadoop fs -get [-ignorecrc] [-crc] <src> <localdst> 

複製文件到本地文件系統。可用-ignorecrc選項複製CRC校驗失敗的文件。使用-crc選項複製文件以及CRC信息。

示例:

  • hadoop fs -get /user/hadoop/file localfile

  • hadoop fs -get hdfs://host:port/user/hadoop/file localfile

返回值:

成功返回0,失敗返回-1。


getmerge

使用方法:hadoop fs -getmerge <src> <localdst> [addnl]

接受一個源目錄和一個目標文件做爲輸入,而且將源目錄中全部的文件鏈接成本地目標文件。addnl是可選的,用於指定在每一個文件結尾添加一個換行符。


ls

使用方法:hadoop fs -ls <args>

若是是文件,則按照以下格式返回文件信息:
文件名 <副本數> 文件大小 修改日期 修改時間 權限 用戶ID 組ID 
若是是目錄,則返回它直接子文件的一個列表,就像在Unix中同樣。目錄返回列表的信息以下:
目錄名 <dir> 修改日期 修改時間 權限 用戶ID 組ID 
示例:
hadoop fs -ls /user/hadoop/file1 /user/hadoop/file2 hdfs://host:port/user/hadoop/dir1 /nonexistentfile 
返回值:
成功返回0,失敗返回-1。 


lsr

使用方法:hadoop fs -lsr <args> 
ls命令的遞歸版本。相似於Unix中的ls -R。


mkdir

使用方法:hadoop fs -mkdir <paths> 

接受路徑指定的uri做爲參數,建立這些目錄。其行爲相似於Unix的mkdir -p,它會建立路徑中的各級父目錄。

示例:

  • hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2

  • hadoop fs -mkdir hdfs://host1:port1/user/hadoop/dir hdfs://host2:port2/user/hadoop/dir

返回值:

成功返回0,失敗返回-1。


movefromLocal

使用方法:dfs -moveFromLocal <src> <dst>

輸出一個」not implemented「信息。


mv

使用方法:hadoop fs -mv URI [URI …] <dest>

將文件從源路徑移動到目標路徑。這個命令容許有多個源路徑,此時目標路徑必須是一個目錄。不容許在不一樣的文件系統間移動文件。 
示例:

  • hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2

  • hadoop fs -mv hdfs://host:port/file1 hdfs://host:port/file2 hdfs://host:port/file3 hdfs://host:port/dir1

返回值:

成功返回0,失敗返回-1。


put

使用方法:hadoop fs -put <localsrc> ... <dst>

從本地文件系統中複製單個或多個源路徑到目標文件系統。也支持從標準輸入中讀取輸入寫入目標文件系統。

  • hadoop fs -put localfile /user/hadoop/hadoopfile

  • hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir

  • hadoop fs -put localfile hdfs://host:port/hadoop/hadoopfile

  • hadoop fs -put - hdfs://host:port/hadoop/hadoopfile 
    從標準輸入中讀取輸入。

返回值:

成功返回0,失敗返回-1。


rm

使用方法:hadoop fs -rm URI [URI …]

刪除指定的文件。只刪除非空目錄和文件。請參考rmr命令瞭解遞歸刪除。
示例:

  • hadoop fs -rm hdfs://host:port/file /user/hadoop/emptydir

返回值:

成功返回0,失敗返回-1。


rmr

使用方法:hadoop fs -rmr URI [URI …]

delete的遞歸版本。
示例:

  • hadoop fs -rmr /user/hadoop/dir

  • hadoop fs -rmr hdfs://host:port/user/hadoop/dir

返回值:

成功返回0,失敗返回-1。


setrep

使用方法:hadoop fs -setrep [-R] <path>

改變一個文件的副本系數。-R選項用於遞歸改變目錄下全部文件的副本系數。

示例:

  • hadoop fs -setrep -w 3 -R /user/hadoop/dir1

返回值:

成功返回0,失敗返回-1。


stat

使用方法:hadoop fs -stat URI [URI …]

返回指定路徑的統計信息。

示例:

  • hadoop fs -stat path

返回值:
成功返回0,失敗返回-1。


tail

使用方法:hadoop fs -tail [-f] URI

將文件尾部1K字節的內容輸出到stdout。支持-f選項,行爲和Unix中一致。

示例:

  • hadoop fs -tail pathname

返回值:
成功返回0,失敗返回-1。


test

使用方法:hadoop fs -test -[ezd] URI

選項:
-e 檢查文件是否存在。若是存在則返回0。
-z 檢查文件是不是0字節。若是是則返回0。 
-d 若是路徑是個目錄,則返回1,不然返回0。

示例:

  • hadoop fs -test -e filename


text

使用方法:hadoop fs -text <src> 

將源文件輸出爲文本格式。容許的格式是zip和TextRecordInputStream。


touchz

使用方法:hadoop fs -touchz URI [URI …] 

建立一個0字節的空文件。

示例:

  • hadoop -touchz pathname

返回值:
成功返回0,失敗返回-1。


推薦文章

hadoop入門:hadoop使用shell命令總結


補充部分

在整理一下,算是補充
查閱幫助查閱某個命令的幫助命令以下:
Hadoop fs –help ls

HDFS文件命令列表cat  hadoop fs –cat file [file…]顯示文件內容。若要讀取壓縮文件,應該使用text命令。

chgrp    hadoop fs –chgrp [-R] GROUP PATH [PATH …] 變動文件和目錄的羣組。選項-R遞歸的執行變動。用戶必須爲文件的全部者或超級用戶。

chmod   hadoop fs –chmod [-R]MODE[,MODE …] PATH [PATH …]變動文件和目錄的訪問權限。相似於unix對應的命令,MODE能夠爲一個3位8進制數,或{augo}+/-{rwxX}.選項-R遞歸的執行變動。用戶必須爲文件全部者或超級用戶。

chown   hadoop fs–chown [-R] [OWNER] [:[GROUP]] PATH [PATH …]變動文件和目錄的全部者。選項-R爲遞歸執行變動。用戶必須爲超級用戶。

copyFromLocal   hadoop fs–copyFromLocal LOCALSRC [LOCALSRC …] DST等同於put,從本地文件系統中複製文件。

copyToLocal hadoop fs –copyToLocal[-ignoreecrc] [-crc] SRC [SRC …] LOCALDST等同於get,將文件複製到本地文件系統中。

count    hadoop fs–count [-q] PATH [PATH …] 顯示由PATH肯定的子目錄個數、文件個數、使用字節個數,以及全部的文件/目錄名。選項-q顯示額度信息。

cp   hadoop fs –cp SRC [SRC …]DST     將文件從源複製到目的地。若是指定了多個源,目的端必須爲一個目錄。

du   hadoop fs –du PATH [PATH..]  顯示文件大小,若是PATH是一個目錄,會顯示該目錄中每一個文件的大小。文件名用完整的URI協議前綴表示。請注意雖然du反映了磁盤使用狀況,但不能望文生義,由於真實的磁盤使用狀況依賴於塊大小和副本系數。

dus  hadoop fs –dus PATH [PATH…]      相似於du,可是看成用於目錄時,dus會顯示文件大小之和。
expunge      hadoop fs–expunge 清空回收站。若是打開回收站屬性,當文件被刪除時,它首先會移動到臨時目錄.Trash/中。只有超過用戶設置的延遲以後,文件纔會被永久刪除。而expunge命令強制刪除.Trash/目錄中的全部文件。

get  hadoop fs –get[ignorecrc] [-crc] SRC [SRC …]LOCALDST      將文件複製到本地文件系統。若是指定了多個源文件,本地目的端必須爲一個目錄。若是LOCALDST被置爲-,文件被複制到stdout。

getmerge    hadoop fs–getmerge SRC [SRC …] LOCALDST[addnl]    獲取由SRC指定的全部文件,將它們合併爲單個文件,並寫入打本地文件系統中的LOCALDST。選項addnl將在每一個文件的末尾處加上一個換行符。

help      hadoop fs–help[CMD]    顯示命令CMD的用法信息。若是不顯示CMD,則顯示全部命令的用法信息。

ls    hadoop fs –lsPATH[PATH…]   列出文件和目錄,每一個入口點會顯示文件名、權限、全部者、組、大小和修改時間。文件入口點還會顯示它們的副本系數。

lsr   hadoop fs –lsr PATH [PATH…]  ls的遞歸版本。

mkdir hadoop fs–mkdir   PATH [PATH..]    建立目錄,會建立路徑中全部缺失的父目錄(相似於unix的mkdir–p)    


moveFromLocal  hadoop fs –moveFromLocalLOCALSRC [LOCALSRC …]DST   相似於put,只是本地的源在複製以後會被刪除。

moveToLocal      hadoop fs–moveToLocal [-crc] SRC [SRC …]LOCALDST         顯示一條「not implemented yet」消息。

mv  hadoop fs–mv    SRC [SRC…]DST     將文件從源移動到目的地。若是指定多個源文件,目的端必須爲一個目錄。不容許跨文件系統的移動。

put  hadoop fs –put LOCALSRC[LOCALSRC …]DST   從本地文件系統中複製文件或目錄到HDFS。若是LOCALSRC被置爲-,則輸入爲stdin且DST必須爲文件。

rm  hadoop fs –rm PATH[PATH…]       刪除文件和空目錄。

rmr     hadoop fs–rmr PATH [PATH…]     rm的遞歸版本。

setrep   hadoop fs–setrep [-R] [-w] REP PATH [PATH …] 改變文件的目標副本系數,放入REP中。選項-R將遞歸的改變PATH指定的目錄中全部文件的目標副本系數。副本系數須要必定的時間才能達到目標值。選項-w將等待副本系數以與目標值相匹配。
stat hadoop fs –stat [FORMAT]PATH [PATH …]  顯示文件中的統計信息。FORMAT字符串徹底被打印出來,但會按照如下設定的格式進行替換
                                                                            %b 以數據塊爲單位的文件大小
                                                                            %F根據文件類型爲字符串「directory」或「regularfile」
                                                                            %n文件名
                                                                            %o塊大小
                                                                            %r 副本
                                                                            %y 以yyyy-MM-dd HH:mm:ss格式顯示的UTC時間。
                                                                           %Y 自1970年1月1日起(UTC)計的毫秒數。

tail  hadoop fs –tail [-f]FILE    顯示FILE中最後的1KB數據。

test hadoop fs –test –[ezd]PATH   對PATH進行以下類型的檢查。
             -e PATH是否存在。若是PATH存在,返回0.
             -z 文件是否爲空。若是長度爲0,返回0.
             -d 是否爲目錄。若是PATH爲目錄,返回0.

text hadoop fs –text FILE [FILE…]   顯示文件的文本內容。當文件爲文本文件時,等同於cat。文件爲壓縮格式(gzip以及hadoop的二進制序列文件格式)時,會先解壓縮。

touchz   hadoop fs–touchz FILE [FILE…]     建立長度爲0的文件。若是文件已存在,且長度非0,則報錯。


文章摘自: aboutyun 轉載請註明出處。

相關文章
相關標籤/搜索