標籤:des http io os 使用 ar for 檔案 資料
overview
檔案系統(FS) shell包含各種與HDFS互動的命令, 比如 Local FS, HFTP FS, S3 FS, and other. FS shell 執行通過下面的命令:
bin/hdfs dfs <args>
所有的FS shell的可以使用路徑URI作為參數。URI的格式是 scheme:authority/path。 HDFS的scheme是hdfs,本地檔案的scheme是file。scheme和authority是可選的,如果沒有指定,預設的使用設定檔中指定的scheme。 HDFS 檔案或者目錄比如 /parent/child 可以是被指定為hdfs://namdenodehost/parent/child 或者簡單的路徑 。
FS大多數命令類似於Unix命令的拼字。 不同的是每個命令的描述。錯誤被發送到stderr或者輸出到stdout。
appendToFile
Usage: hdfs dfs -appendToFile <localsrc> ... <dst>
追加個簡單的src,或者多個srcs 從本地檔案到目的檔案系統。 也可以從stdin中讀到input或者追加到目標檔案。
hdfs dfs -appendToFile localfile /usr/hadoop/hadoopfile
hdfs dfs -appendToFile localfile1 localfile2 /usr/hadoop/hadoopfile
hdfs dfs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile
hdfs dfs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin.
結束代碼: 0表示成功,1表示失敗。
cat
Usage: hdfs dfs -cat URI [URI ...]
複製源路徑到stdout。
例如:
hdfs dfs -cat hdfs://nn1.example.com/file1/ hdfs://nn2.example.com/file2/
hdfs dfs -cat file:///file3 /user/hadoop/file4
結束代碼: 0代表成功, 1代表失敗。
chgrp
Usage: hdfs dfs -chgrp [-R] GROUP URI [URI ...]
改變檔案所屬的組,必須是使用者自己的檔案,或者是超級管理員。 更多資訊請參考 Permissions Guide.
Options
-R 選項將會遞迴的邊改目錄結構。
chmod
Usage: hdfs dfs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...]
改變檔案的許可權。使用-R,迴圈的改變目錄結構。檔案必須屬於使用者自己,或者是一個超級管理員。更多資訊請參考Permissions Guide.、
Options
-R 選項將會遞迴的邊改目錄結構。
chown
Usage: hdfs dfs -chown [-R] [OWNER][: [GROUP]] URI [URI]
改變檔案的歸屬者,修改的使用者必須是一個超級管理員。更多資訊請參考Permissions Guide.
Options
-R 選項將會遞迴的邊改目錄結構。
copyFromLocal
Usage: hdfs dfs -copyFromLocal <localhostsrc> URI
類似於put命令,除了這個源是一個受限制的本地系統引用。
Options:
-f選項表示如果這個目標檔案已經存在將會被覆蓋。
copyToLocal
Usage:hdfs dfs -copyToLocal [ignorecrc] [-crc] URI [localdst]
類似於get命令,除了這個源是一個受限制的本地系統引用。
count
Usage: hdfs dfs -count [-q] <paths>
統計與指定檔案相匹配模式下的目錄,檔案,位元組的數量。用-count輸出的列是:FILE_COUNT, CONTENT_SIZE FILE_NAME。
用 -count -q 輸出的列式 : QUOTA, REMAINING_QUATA, SPACE_QUOTA, REMAINING_SPACE_QUOTA, DIR_COUNT, FILE_COUNT, CONTENT_SIZE, FILE_NAME
例如:
hdfs dfs -count hdfs://nn1.example.com/file1 hdfs://nn.example.com/file2
hdfs dfs -count -q hdfs://nn1.example.com/file1
結束代碼:0表示成功,1表示失敗。
cp
Usage:hdfs dfs -cp [-f] URI [URI...] <dest>
複製檔案從source到destination。這個命令允許有多個源但是目標檔案必須是一個目錄。
Option:
-f 表示當目標檔案存在的時候將要覆蓋此檔案
例如:
hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2
hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir
結束代碼:0表示成功,1表示失敗。
du
Usage: hdfs dfs -du [-s] [-h] URI[URI...]
選項:
The -s option will result in an aggregate summary of file lengths being displayed, rather than the individual files.
The -h option will format file sizes in a "human-readable" fashion (e.g 64.0m instead of 67108864)
Example:
- hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1
結束代碼:0表示成功,1表示失敗。
dus
Usage:hdfs dfs -dus <args>
顯示檔案的長度,這是hdfs dfs -du -s的另一種凡方式。
expunge
Usage:hdfs dfs -expunge
清空垃圾箱,瞭解更多的資訊請參考 HDFS Architecture Guide。
get
Usage:hdfs dfs [-ignorecrc] [-crc] <src> <localdst>
複製檔案到本地檔案系統, 檔案的CRC檢驗失敗可以使用copied選項被複製, 檔案和CRCs可以使用-crc選項複製。
Example:
hdfs dfs -get /user/hadoop/file localfile
hdfs dfs -get hdfs://nn.example.com/user/hadoop/file localfie
返回0代表成功,1代表失敗。
getfacl
Usage:hdfs dfs -getfacl [-R] <path>
顯示檔案或者目錄的存取控制清單。如果目錄有一個預設的ACL(Access Control List),getfacl也可以顯示預設的ACL。
Options:
-R: 遞迴的列出檔案目錄下所有的ACL。
-path:檔案或者目錄路徑。
Example:
hdfs dfs -getfacl /file
hdfs dfs -getfacl -R /file
返回0代表成功,1代表失敗。
getmerge
Usage: hdfs dfs -getmerge <src> <localdst> [addn1]
ls
Usage:hdfs dfs -ls <args>
以下面格式返迴文件的狀態:
permissions nuber_of_replicas userid groupid filesize modification_data modification_time filename
返回目錄下子目錄的資訊,一個目錄列表如下:
permissions userid groupid modification_date modification_tie dirname.
Example:
hdfs dfs -ls /user/hadoop/file1
返回0成功,返回1失敗。
lsr
Usage:hdfs dfs -lsr <args>
ls的遞迴版本,類似於Unix的ls -R
mkdir
Usage: hdfs dfs -mkdr [-p] <paths>
使用url路徑作為參數,穿建立一個目錄。
Options:
-p選項的行為類似於Unix mkdir -p,建立父目錄路徑。
Example:
hdfs dfs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
hdfs dfs -mkdir hdfs://nn1.example.com/user/hadoop/dir1 hdfs://nn1.example.com/user/hadoop/dir2
返回0成功,返回1失敗。
moveFromLocal
Usage:hdfs dfs -moveFromLocal <localsrc> <dst>
類似於put命令,除了源localsrc是在它被複製後刪除。
moveToLocal
Usage:hdfs dfs -moveToLocal [-crc] [src] [dst]
顯示一個“Not implemented yet”的訊息
mv
Usage: hdfs dfs -mv URI [URI...] <dest>
從目的地移動檔案,這個命令允許多個目錄被作為目的檔案,在檔案系統移動檔案是不允許的。
Example:
hdfs dfs -mv /user/hadoop/file1 /user/hadoop/file2
hdfs dfs -mv hdfs://nn.example.com/file1 hdfs://nn.example.com/file2 hdfs://nn.example.com/file3 hdfs://nn.example.com/dir1
返回0表示成功,返回1表示失敗。
put
Usage: hdfs dfs -put <localsrc> ... <dstsrc>
從本地複製一個或者多個源到目標檔案系統,也可以從stdin讀取input並寫入到目標檔案系統。
hdfs dfs -put localfile /user/hadoop/hadoopfile
hdfs dfs -put localfile /user/hadoop/hadoopdir
hdfs dfs -put localfile hdfs://nn.example.com/hadoopfile
hdfs dfs -put - hdfs://nn.example.com/hadoopfile (從stdin中讀取input)
結束代碼:0表示成功,-1表示失敗。
rm
Usage:hdfs dfs -rm [-skipTrash] URI [URI...]
刪除指定參數的檔案,只刪除非空的目錄。如果-skipTrash被指定,trash被允許,通過指定的檔案將立即被刪除,當有必要從一個over-quota目錄刪除檔案的時候這可能是有用的。引用rar遞迴刪除。
Example:
hdfs dfs -rm hdfs://nn.example.com/file /user/hadoop/emptydir
結束代碼:0表示成功,-1表示失敗。
rmr
Usage: hdfs dfs -rmr [-skipTrash] URI[URI...]
刪除的遞迴版本。如果-skipTrash被指定,trash被允許,通過指定的檔案將立即被刪除,當有必要一個over-quota目錄刪除檔案的時候這可能是有用的。
Example:
hdfs dfs -rmr hdfs://nn.example.com/file/
hdfs dfs -rmr /user/hadoop/dir
結束代碼:0表示成功,-1表示失敗。
setfacl
Usage:hdfs dfs -setfacl [-R] [-b|-k| -m|-x <acl_spec> <path>] | [--set <acl_spec> <path>]
檔案和目錄存取控制清單集合。
Options:
-b:
-k:
-R:
-m:
-x:
--set:
acl_spec:
path:
Example:
hdfs dfs -setfacl -m user:hadoop:rw- file
hdfs dfs -setfacl -x user:hadoop /file
hdfs dfs -setfacl -b /file
hdfs dfs -setacl -k /dir
hdfs dfs -setacl --set user::rw-,user::hadoop:rw-,group::r--,other:r-- /file
hdfs dfs -setacl -R -m user:hadoop:r-w /dir
hdfs dfs -setacl -m default:user:hadoop:r-x /dir
結束代碼:0表示成功,-1表示失敗。
setrep
Usage: hdfs dfs -setrep [-R] [-W] <numReplicas> <path>
改變一個檔案的重複因子,如果path是一個目錄,這個命令將遞迴以樹的方式來改變重複因子。
Options:
-w表示請求命令等待覆制完成,可能將會花很長一段時間。
-R
Example:
hdfs dfs -setrep -w 3 /user/hadoop/dir1
結束代碼:0表示成功,-1表示失敗。
stat
Usage:hdfs dfs -stat URI [URI...]
返回path中的資訊狀態。
Example:
hdfs dfs -stat path
結束代碼:0表示成功,-1表示錯誤。
tail
Usage:hdfs dfs -tail [-f] URI
顯示輸出檔案的KB。
Options:
-f選項將輸出追加資料作為檔案的增長。
Example:
hdfs dfs -tail pathname
結束代碼:0表示成功,-1表示錯誤。
test
Usage: hdfs dfs -test -[ezd] URI
Options:
-e選項用於檢測檔案是否存在,若存在返回0
-z選項用於檢測檔案長度是否為0,若長度為0則返回0
-d選項用於檢測路徑是否為目錄,返回0表示真
Example:
hdfs hdf -test -e filename
text
Usage: hdfs dfs -text <src>
讓一個源檔案用text的格式輸出,允許的格式是Zip和TextRecordInputStream。
touchz
Usage:hdfs dfs -touchz URI [URI...]
建立一個長度為0的檔案。
Example:
hdfs dfs -touchz pathname
結束代碼:0表示成功,-1表示失敗。
Apache Hadoop2.4.1 Filesystem shell