溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

HDFS中fs命令怎么用

發(fā)布時(shí)間:2021-12-09 11:39:19 來(lái)源:億速云 閱讀:135 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹了HDFS中fs命令怎么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

版本:Hadoop 2.7.4

-- 查看hadoop fs幫助信息
[root@hadp-master sbin]# hadoop fs
Usage: hadoop fs [generic options]
[-appendToFile <localsrc> ... <dst>]
[-cat [-ignoreCrc] <src> ...]
[-checksum <src> ...]
[-chgrp [-R] GROUP PATH...]
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
[-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]
[-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-count [-q] [-h] <path> ...]
[-cp [-f] [-p | -p[topax]] <src> ... <dst>]
[-createSnapshot <snapshotDir> [<snapshotName>]]
[-deleteSnapshot <snapshotDir> <snapshotName>]
[-df [-h] [<path> ...]]
[-du [-s] [-h] <path> ...]
[-expunge]
[-find <path> ... <expression> ...]
[-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-getfacl [-R] <path>]
[-getfattr [-R] {-n name | -d} [-e en] <path>]
[-getmerge [-nl] <src> <localdst>]
[-help [cmd ...]]
[-ls [-d] [-h] [-R] [<path> ...]]
[-mkdir [-p] <path> ...]
[-moveFromLocal <localsrc> ... <dst>]
[-moveToLocal <src> <localdst>]
[-mv <src> ... <dst>]
[-put [-f] [-p] [-l] <localsrc> ... <dst>]
[-renameSnapshot <snapshotDir> <oldName> <newName>]
[-rm [-f] [-r|-R] [-skipTrash] <src> ...]
[-rmdir [--ignore-fail-on-non-empty] <dir> ...]
[-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
[-setfattr {-n name [-v value] | -x name} <path>]
[-setrep [-R] [-w] <rep> <path> ...]
[-stat [format] <path> ...]
[-tail [-f] <file>]
[-test -[defsz] <path>]
[-text [-ignoreCrc] <src> ...]
[-touchz <path> ...]
[-truncate [-w] <length> <path> ...]
[-usage [cmd ...]]

注意:

以下指令均是在,Linux 命令行窗口界面操作。
[ ]表示可選參數(shù),<>表示必須參數(shù)。
開始使用命令前,必須啟動(dòng)Hadoop
(1)-appendToFile

用法: hadoop fs -appendToFile <localsrc> ... <dst>

作用:是將一個(gè)或者多個(gè)文件添加到HDFS系統(tǒng)中。

示例:

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.
  
(2)-cat

用法:hadoop fs -cat URI [URI ...]

作用:查看文件內(nèi)容(可以查看本地和HDFS上的內(nèi)容)。

示例:

hadoop fs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
hadoop fs -cat file:///file3 /user/hadoop/file4  

(3)-checksum

用法: hadoop fs -checksum URI

作用:查看校驗(yàn)碼信息。(例子顯示了MD5)

示例:

hadoop fs -checksum hdfs://nn1.example.com/file1
hadoop fs -checksum file:///etc/hosts
  
(4)-chgrp

用法: hadoop fs -chgrp [-R] GROUP URI [URI ...]

作用:改變文件所屬的組。(Change group association of files.)

使用-R 將使改變?cè)谀夸浗Y(jié)構(gòu)下遞歸進(jìn)行。

(5)-chmod

作用:改變文件訪問(wèn)權(quán)限。

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

這里可以參考 Linux下文件系統(tǒng)的chmod的用法,基本類似。

(6)-chown

作用:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]

用法:改變文件的所有者。使用-R 將使改變?cè)谀夸浗Y(jié)構(gòu)下遞歸進(jìn)行。命令的使用者必須是超級(jí)用戶。

(7)-copyFromLocal

用法:hadoop fs -copyFromLocal <localsrc> URI

作用:類似于put命令,和put不同的是,拷貝的源地址必須是本地文件地址。

-f 參數(shù) 當(dāng)拷貝的目標(biāo)文件存在時(shí),進(jìn)行覆蓋。

示例:

[root@two1 fanrui]# hadoop fs -copyFromLocal testFlatMap.txt /1.txt
copyFromLocal: `/1.txt': File exists
  
這個(gè)時(shí)候加上-f參數(shù)。即可覆蓋。

[root@two1 fanrui]# hadoop fs -copyFromLocal -f testFlatMap.txt /1.txt

(8)-copyToLocal

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

作用:類似于get指令。和get不同的是,拷貝的目的地址必須是本地文件地址。

(9)-count

作用:計(jì)算paths下的目錄數(shù),文件數(shù)和字節(jié)數(shù)。

用法: hadoop fs -count [-q] [-h] [-v] <paths>

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
  
(10)-cp
用法:hadoop fs -cp [-f] [-p | -p[topax]] URI [URI ...] <dest>
作用:拷貝,HDFS文件系統(tǒng)中進(jìn)行的拷貝操作。
-f 參數(shù)選項(xiàng):當(dāng)文件存在時(shí),進(jìn)行覆蓋。
-p 參數(shù)選項(xiàng):將權(quán)限、所屬組、時(shí)間戳、ACL以及XAttr等也進(jìn)行拷貝。下面是官網(wǎng)的描述。

The -p option will preserve file attributes [topx] (timestamps, ownership, permission, ACL, XAttr). If -p is specified with no arg, then preserves timestamps, ownership, permission. If -pa is specified, then preserves permission also because ACL is a super-set of permission. Determination of whether raw namespace extended attributes are preserved is independent of the -p flag.

示例:

[root@two1 fanrui]# hadoop fs -cp -p /tmp/fan /tmp/fan1
  
(11)-df
用法:hadoop fs -df [-h] URI [URI ...]
作用:顯示剩余空間。
示例:

[root@two1 fanrui]# hadoop fs -df /
Filesystem Size Used Available Use%
hdfs://localhost:9000 37626667008 311296 24792702976 0%

(12)-dus
作用:顯示文件長(zhǎng)度概要。該方法已經(jīng)被舍去,等價(jià)于 -du -s 方法。見(11)

(13)-expunge
作用:從垃圾桶目錄永久刪除超過(guò)保留閾值的檢查點(diǎn)中的文件,并創(chuàng)建新檢查點(diǎn)。

用法:hadoop fs -expunge

(14)-find
作用:查找滿足表達(dá)式的文件和文件夾。沒有配置path的話,默認(rèn)的就是全部目錄/;如果表達(dá)式?jīng)]有配置,則默認(rèn)為-print。
用法: hadoop fs -find <path> ... <expression> ...
-name pattern 所要查找文件的文件名。
-iname pattern 所要查找的文件名,不區(qū)分大小寫。
-print 打印。
-print0 打印在一行,如下圖所示。

示例:

hadoop fs -find / -name test -print
  
(15)-get
作用:從HDFS上拷貝文件到本地。
用法:hadoop fs -get [-ignorecrc] [-crc] <src> <localdst>
示例:

hadoop fs -get /user/hadoop/file localfile
hadoop fs -get hdfs://nn.example.com/user/hadoop/file localfile

(16)getfacl

作用:顯示文件和文件夾的ACLs(Access Control Lists)。如果目錄有默認(rèn)的ACL,則顯示之。
-R參數(shù):遞歸顯示。
用法:

hadoop fs -getfacl [-R] <path>

Options:

-R: List the ACLs of all files and directories recursively.
path: File or directory to list.
示例:

hadoop fs -getfacl /file
hadoop fs -getfacl -R /dir
  
Exit Code:

Returns 0 on success and non-zero on error.

(17)getfattr

作用:顯示文件或目錄的擴(kuò)展屬性名和值(如果有的話)

用法:hadoop fs -getfattr [-R] -n name | -d [-e en] <path>

Options:

-R:遞歸顯示文件夾和文件。
-n name:轉(zhuǎn)儲(chǔ)命名的擴(kuò)展屬性值。
-d:轉(zhuǎn)儲(chǔ)與路徑名相關(guān)聯(lián)的所有擴(kuò)展屬性值。
-e en: 檢索后的值進(jìn)行編碼。 有效的編碼是 “text”, “hex”, and “base64”. 值編碼作為文本字符串是用雙引號(hào)括起來(lái)的(“),值編碼作為16進(jìn)制和64進(jìn)制,前綴分別為 0x 和 0s。
path:文件或文件夾路徑。

示例:

hadoop fs -getfattr -d /file
hadoop fs -getfattr -R -n user.myAttr /dir
  
(18)-getmerge
作用:是將HDFS上一個(gè)目錄中所有的文件合并到一起輸出到一個(gè)本地文件上。
用法:hadoop fs -getmerge [-nl] <src> <localdst>

示例:

hadoop fs -getmerge -nl /src /opt/output.txt
hadoop fs -getmerge -nl /src/file1.txt /src/file2.txt /output.txt
  
(19)-help
作用:幫助文檔

用法:hadoop fs -help

(20)-ls
作用:查看文件,與linux下ls命令基本類似。
用法:hadoop fs -ls [-d] [-h] [-R] <args>
選項(xiàng):
-d:只展示查詢展示目錄;

-h:顯示為人眼更易識(shí)別的單位(原來(lái)是字節(jié))。

-R:遞歸展示,顯示所有的文件夾及文件

示例:

hadoop fs -ls -d /
hadoop fs -ls -h /
hadoop fs -ls -R /
  
-lsr
作用:已經(jīng)被舍去,效果等同于-ls -R

(21)-mkdir
作用:創(chuàng)建文件夾。

用法:hadoop fs -mkdir [-p] <paths>
選項(xiàng):
-p:創(chuàng)建父目錄。類似于Unix的mkdir -p命令。
示例:

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
  
(22)-moveFromLocal
用法:hadoop fs -moveFromLocal <localsrc> <dst>
作用:類似于put命令,不同put命令的是,該操作是移動(dòng)(意思就是localsrc將被刪除)。localsrc應(yīng)是本地文件。

(23)-moveToLocal
用法:hadoop fs -moveToLocal [-crc] <src> <dst>
作用:該命令尚未實(shí)現(xiàn),顯示“Not implemented yet”。

(24)-mv 
用法:移動(dòng)文件。
作用: 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

(25)-put
用法: hadoop fs -put <localsrc> ... <dst>
作用:將本地的文件上傳(復(fù)制)到HDFS是dst目錄下。

示例:

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.
  
(26)-rm
用法:hadoop fs -rm [-f] [-r |-R] [-skipTrash] URI [URI ...]
作用:刪除文件。
選項(xiàng):

The -f option will not display a diagnostic message or modify the exit status to reflect an error if the file does not exist.
The -R option deletes the directory and any content under it recursively.
The -r option is equivalent to -R.
The -skipTrash option will bypass trash, if enabled, and delete the specified file(s) immediately. This can be useful when it is necessary to delete files from an over-quota directory.

示例:

hadoop fs -rm hdfs://nn.example.com/file /user/hadoop/emptydir

(27)-rmdir
用法:hadoop fs -rmdir [--ignore-fail-on-non-empty] URI [URI ...]
作用:刪除空目錄。
選項(xiàng):
—ignore-fail-on-non-empty:使用它的時(shí)候,忽略因文件夾非空刪除失敗的信息。

(28)-rmr
作用:該方法已經(jīng)被舍去。和-rm -r效果一樣。遞歸刪除。

(29)-setfacl
用法:hadoop fs -setfacl [-R] [-b |-k -m |-x <acl_spec> <path>] |[--set <acl_spec> <path>]
作用:設(shè)置訪問(wèn)控制列表(ACL)的文件和目錄。

選項(xiàng):

-b:移除所有除了基本的ACL條目。用戶、組和其他的條目被保留為與權(quán)限位的兼容性。
-k:刪除默認(rèn)的ACL。
-R: 遞歸應(yīng)用于所有文件和目錄的操作。
-m:修改ACL。新的項(xiàng)目添加到ACL,并保留現(xiàn)有的條目。
-x:刪除指定的ACL條目。其他保留ACL條目。
–set:完全替換ACL,丟棄所有現(xiàn)有的條目。acl_spec必須包括用戶,組,和其他有權(quán)限位的兼容性。
acl_spec:逗號(hào)分隔的ACL條目列表。
path:修改文件或目錄。

示例:

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
  
(30)-setrep
用法:hadoop fs -setrep [-R] [-w] <numReplicas> <path>
作用:改變文件的目標(biāo)副本系數(shù),放入REP中。選項(xiàng)-R將遞歸的改變PATH指定的目錄中所有文件的目標(biāo)副本系數(shù)。副本系數(shù)需要一定的時(shí)間才能達(dá)到目標(biāo)值。選項(xiàng)-w將等待副本系數(shù)以與目標(biāo)值相匹配。

示例:

hadoop fs -setrep -w 3 /user/hadoop/dir1
  
(31)-stat
用法: hadoop fs -stat [format] <path> ...
作用:根據(jù)一定格式打印文件/文件夾的統(tǒng)計(jì)信息。 文件大小 (%b), 類型 (%F), 所有者所在組 (%g), 名字 (%n), 塊大小 (%o), 副本 (%r), 用戶名(%u), 修改時(shí)間 (%y, %Y)。默認(rèn)的是%y。
示例:
hadoop fs -stat "%F %u:%g %b %y %n" /file

(32)-tail
用法:hadoop fs -tail [-f] URI
作用:輸出文件最后1kb的內(nèi)容。
選項(xiàng):
-f:和unix中tail -f命令類似,當(dāng)文件內(nèi)容更新時(shí),輸出將會(huì)改變,具有實(shí)時(shí)性。

示例:用一個(gè)場(chǎng)景測(cè)試下。首先HDFS的/目錄下有文件mpwtest1.txt
命令:hadoop fs -tail -f /mpwtest1.txt
開啟另外一個(gè)終端。輸入命令: hadoop fs -appendToFile mpwtest2.txt /mpwtest1.txt
可以發(fā)現(xiàn) 窗口1 有變化。

(33)-test

作用:判斷文件信息

用法:hadoop fs -test -[defsz] URI

選項(xiàng):

-d:如果路徑是一個(gè)目錄,返回0
-e:如果路徑已經(jīng)存在,返回0
-f: 如果路徑是一個(gè)文件,返回0
-s:如果路徑不是空,返回0
-z:如果文件長(zhǎng)度為0,返回0
URI:資源地址,可以是文件也可以是目錄。

示例:

hadoop fs -test -e filename

(34)-text
用法:hadoop fs -text <src>
作用:將HDFS中文件以文本形式輸出(包括zip包,jar包等形式)
示例:hadoop fs -text /wc.jar

(35)-touchz
用法: hadoop fs -touchz URI [URI ...]
作用:創(chuàng)建一個(gè)空文件。
示例:hadoop fs -touchz /hello.jar

(35)-truncate
用法: hadoop fs -truncate [-w] <length> <paths>

作用:截?cái)嘀付ㄩL(zhǎng)度匹配的所有文件內(nèi)容。

選項(xiàng):

-w:需要等待命令完成塊恢復(fù)。如果沒有-w選項(xiàng),在恢復(fù)的過(guò)程中可能是未閉合的。
length:截?cái)嗵幍闹?,如果?00,則表示在100B處截?cái)唷?br/>paths:文件地址。

示例:

hadoop fs -truncate 55 /user/hadoop/file1 /user/hadoop/file2
hadoop fs -truncate -w 127 hdfs://nn1.example.com/user/hadoop/file1

(36)-usage
用法: hadoop fs -usage command
作用:返回命令的help信息。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“HDFS中fs命令怎么用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI