2021年大数据Hadoop(八):HDFS的Shell命令行使用
2021大數(shù)據(jù)領(lǐng)域優(yōu)質(zhì)創(chuàng)作博客,帶你從入門到精通,該博客每天更新,逐漸完善大數(shù)據(jù)各個知識體系的文章,幫助大家更高效學(xué)習(xí)。
有對大數(shù)據(jù)感興趣的可以關(guān)注微信公眾號:三幫大數(shù)據(jù)
目錄
HDFS的Shell命令行使用
一、Shell命令行客戶端
二、Shell命令選項
三、常用的Shell命令
-ls
-lsr
-mkdir
-put
-moveFromLocal
-moveToLocal
-get
-getmerge ? ?
-mv
-rm
-cp
-cat
-du
-chmod
-chown
-appendToFile
HDFS的Shell命令行使用
一、Shell命令行客戶端
HDFS是存取數(shù)據(jù)的分布式文件系統(tǒng),那么對HDFS的操作,就是文件系統(tǒng)的基本操作,比如文件的創(chuàng)建、修改、刪除、修改權(quán)限等,文件夾的創(chuàng)建、刪除、重命名等。對HDFS的操作命令類似于Linux的shell對文件的操作,如ls、mkdir、rm等。
Hadoop提供了文件系統(tǒng)的shell命令行客戶端,使用方法如下:
hadoop ?fs ?<args>
文件系統(tǒng)shell包括與Hadoop分布式文件系統(tǒng)(HDFS)以及Hadoop支持的其他文件系統(tǒng)(如本地FS,HFTP FS,S3 FS等)直接交互的各種類似shell的命令。
所有FS shell命令都將路徑URI作為參數(shù)。URI格式為scheme://authority/path。對于HDFS,該scheme是hdfs,對于本地FS,該scheme是file。scheme和authority是可選的。如果未指定,則使用配置中指定的默認(rèn)方案。
對于HDFS,命令示例如下:
hadoop fs -ls ?hdfs://namenode:port/parent/childhadoop fs -ls ?/parent/child ???#core-site.xml中的fs.defaultFS中有配置
對于本地文件系統(tǒng),命令示例如下:
hadoop fs -ls file:///root/
如果使用的文件系統(tǒng)是HDFS,則也可使用hdfs dfs 命令。
二、Shell命令選項
| 選項名稱 | 使用格式 | 含義 |
| -ls | -ls <路徑> | 查看指定路徑的當(dāng)前目錄結(jié)構(gòu) |
| -lsr | -lsr <路徑> | 遞歸查看指定路徑的目錄結(jié)構(gòu) |
| -du | -du <路徑> | 統(tǒng)計目錄下個文件大小 |
| -dus | -dus <路徑> | 匯總統(tǒng)計目錄下文件(夾)大小 |
| -count | -count [-q] <路徑> | 統(tǒng)計文件(夾)數(shù)量 |
| -mv | -mv <源路徑> <目的路徑> | 移動 |
| -cp | -cp <源路徑> <目的路徑> | 復(fù)制 |
| -rm | -rm [-skipTrash] <路徑> | 刪除文件/空白文件夾 |
| -rmr | -rmr [-skipTrash] <路徑> | 遞歸刪除 |
| -put | -put <多個linux上的文件> | 上傳文件 |
| -copyFromLocal | -copyFromLocal <多個linux上的文件> | 從本地復(fù)制 |
| -moveFromLocal | -moveFromLocal <多個linux上的文件> | 從本地移動 |
| -getmerge | -getmerge <源路徑> | 合并到本地 |
| -cat | -cat | 查看文件內(nèi)容 |
| -text | -text | 查看文件內(nèi)容 |
| -copyToLocal | -copyToLocal [-ignoreCrc] [-crc] [hdfs源路徑] [linux目的路徑] | 從本地復(fù)制 |
| -moveToLocal | -moveToLocal [-crc] | 從本地移動 |
| -mkdir | -mkdir | 創(chuàng)建空白文件夾 |
| -touchz | -touchz <文件路徑> | 創(chuàng)建空白文件 |
| -stat | -stat [format] <路徑> | 顯示文件統(tǒng)計信息 |
| -tail | -tail [-f] <文件> | 查看文件尾部信息 |
| -chmod | -chmod [-R] <權(quán)限模式> [路徑] | 修改權(quán)限 |
| -chown | -chown [-R] [屬主][:[屬組]] 路徑 | 修改屬主 |
| -chgrp | -chgrp [-R] 屬組名稱 路徑 | 修改屬組 |
| -help | -help [命令選項] | 幫助 |
三、常用的Shell命令
-ls
格式:? hadoop fs -ls ?URI
作用:類似于Linux的ls命令,顯示文件列表
hadoop fs -ls ?/
-lsr
格式 ?:?? hdfs ?dfs -lsr URI
作用 ?:?在整個目錄下遞歸執(zhí)行l(wèi)s,?與UNIX中的ls-R類似
hadoop fs ? -lsr ?/
-mkdir
格式 : hdfs ?dfs [-p] -mkdir
作用 : ? 以中的URI作為參數(shù),創(chuàng)建目錄。使用-p參數(shù)可以遞歸創(chuàng)建目錄
hadoop fs -mkdir /dir1
hadoop fs -mkdir /dir2
hadoop fs -p -mkdir /aaa/bbb/ccc
-put
格式 ? : hadoop fs -put ?...
作用 : ?將單個的源文件src或者多個源文件srcs從本地文件系統(tǒng)拷貝到目標(biāo)文件系統(tǒng)中(對應(yīng)的路徑)。也可以從標(biāo)準(zhǔn)輸入中讀取輸入,寫入目標(biāo)文件系統(tǒng)中
echo “Hello HDFS”?>> /root/1.txt
hadoop fs -put ?/root/1.txt ?/dir1
-moveFromLocal
格式: hdfs ?dfs -moveFromLocal ?<localsrc>?? <dst>
作用:?? 和put命令類似,但是源文件localsrc拷貝之后自身被刪除
echo “Hello HDFS”?>> /root/2.txt
hdfs ?dfs -moveFromLocal ?/root/2.txt ?/
-moveToLocal
格式 ; hadoop??dfs??-moveToLocal 【-crc】
作用: 輸出“Not implement yet ”??還未實現(xiàn)moveToLocal: Option '-moveToLocal' is not implemented yet.
未實現(xiàn)
-get
? 格式 ? hadoop fs ?-get [-ignorecrc ] ?[-crc] ?
? 作用:將文件拷貝到本地文件系統(tǒng)。 CRC 校驗失敗的文件通過-ignorecrc選項拷貝。 文件和CRC校驗和可以通過-CRC選項拷貝? hadoop fs ?-get ? /2.txt ?/export/dat
-getmerge ? ?
格式: hadoop fs -getmerge -nl ?< hdfs dir > ?< local file >
功能:合并下載多個文件
參數(shù): 加上nl后,合并到local file中的hdfs文件之間會空出一行
示例:比如hdfs的目錄 /aaa/下有多個文件:log.1, log.2,log.3,...
hadoop fs -getmerge ?/aaa/log.* ?./log.sum
-mv
?格式 ?: hdfs ?dfs -mv URI ?
?作用: 將hdfs上的文件從原路徑移動到目標(biāo)路徑(移動之后文件刪除),該命令不能夸文件系統(tǒng)
?hdfs ?dfs ?-mv ?/dir1/a.txt ? /dir2
-rm
格式: hadoop fs?-rm?[-r] 【-skipTrash】 URI 【URI 。。。】
作用:?? 刪除參數(shù)指定的文件和目錄,參數(shù)可以有多個,刪除目錄需要加-r參數(shù)
如果指定-skipTrash選項,那么在回收站可用的情況下,該選項將跳過回收站而直接刪除文件;
否則,在回收站可用時,在HDFS Shell 中執(zhí)行此命令,會將文件暫時放到回收站中。
hadoop fs -rm /2.txt ??????#刪除文件
hadoop fs?-rm ?-r ?/dir1??#刪除目錄
-cp
格式:???? hdfs? dfs? -cp URI [URI ...]
作用:??? 將文件拷貝到目標(biāo)路徑中。如果? 為目錄的話,可以將多個文件拷貝到該目錄下。
-f?選項將覆蓋目標(biāo),如果它已經(jīng)存在。
-p?選項將保留文件屬性(時間戳、所有權(quán)、許可、ACL、XAttr)。
hadoop fs?-cp /dir1/1.txt ?/dir2/2.txt
-cat
hadoop fs??-cat ?URI [uri ?...]
作用:將參數(shù)所指示的文件內(nèi)容輸出到控制臺
hadoop fs??-cat??/dir2/2.txt
-du
hadoop fs??-du? URI
功能:顯示目錄中所有文件大小,當(dāng)只指定一個文件時,顯示此文件的大小。
hadoop fs -du /
-chmod
格式:????? hadoop fs? -chmod? [-R]? URI[URI? ...]
作用:??? 改變文件權(quán)限。如果使用? -R 選項,則對整個目錄有效遞歸執(zhí)行。使用這一命令的用戶必須是文件的所屬用戶,或者超級用戶。例如:可以創(chuàng)建一個用戶hadoop,將/a.txt的所屬用戶和所屬用戶組修改為hadoop
hadoop fs?-chmod -R 777 /dir1
-chown
格式:????? hdfs?? dfs? -chmod? [-R]? URI[URI? ...]
作用:??? 改變文件的所屬用戶和用戶組。如果使用? -R 選項,則對整個目錄有效遞歸執(zhí)行。使用這一命令的用戶必須是文件的所屬用戶,或者超級用戶。hadoop fs??-chown ?-R hadoop:hadoop ?/a.txt
-appendToFile
格式:?hadoop fs?-appendToFile ...
作用: 追加一個或者多個文件到hdfs指定文件中.也可以從命令行讀取輸入.cd /export/server/hadoop2.7.5/etc/hadoop/
hadoop fs?-appendToFile ?*.xml ?/big.xml
- 📢博客主頁:https://lansonli.blog.csdn.net
- 📢歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正!
- 📢本文由 Lansonli 原創(chuàng),首發(fā)于 CSDN博客🙉
- 📢大數(shù)據(jù)系列文章會每天更新,停下休息的時候不要忘了別人還在奔跑,希望大家抓緊時間學(xué)習(xí),全力奔赴更美好的生活?
總結(jié)
以上是生活随笔為你收集整理的2021年大数据Hadoop(八):HDFS的Shell命令行使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年大数据Hadoop(七):HD
- 下一篇: 2021年大数据Hadoop(九):HD