目錄
(1)?? 向HDFS 中上傳任意文本文件,如果指定的文件在HDFS中已經(jīng)存在,由用戶指定是追加到原有文件末尾還是覆蓋原有的文件;
(2)?? 從HDFS中下載指定文件,如果本地文件與要下載的文件名稱相同,則自動(dòng)對(duì)下載的文件重命名;
(3)?? 將HDFS中指定文件的內(nèi)容輸出到終端中;
(4)?? 顯示 HDFS中指定的文件的讀寫(xiě)權(quán)限、大小、創(chuàng)建時(shí)間、路徑等信息;
(5)?? 給定HDFS中某一個(gè)目錄,輸出該目錄下的所有文件的讀寫(xiě)權(quán)限、大小、創(chuàng)建時(shí)間、路徑等信息,如果該文件是目錄,則遞歸輸出該目錄下所有文件相關(guān)信息;
(6)?? 提供一個(gè)HDFS內(nèi)的文件的路徑,對(duì)該文件進(jìn)行創(chuàng)建和刪除操作。如果文件所在目錄不存在,則自動(dòng)創(chuàng)建目錄;
(7)?? 提供一個(gè) HDFS的目錄的路徑,對(duì)該目錄進(jìn)行創(chuàng)建和刪除操作。創(chuàng)建目錄時(shí),如果目錄文件所在目錄不存在則自動(dòng)創(chuàng)建相應(yīng)目錄;刪除目錄時(shí),由用戶指定當(dāng)該目錄不為空時(shí)是否還刪除該目錄;
(8)?? 向HDFS中指定的文件追加內(nèi)容,由用戶指定內(nèi)容追加到原有文件的開(kāi)頭或結(jié)尾;
(9)?? 刪除HDFS中指定的文件;
(10) 刪除HDFS中指定的目錄,由用戶指定目錄中如果存在文件時(shí)是否刪除目錄;
(11) 在 HDFS 中,將文件從源路徑移動(dòng)到目的路徑。
準(zhǔn)備工作
加入環(huán)境變量
$ export PATH=$PATH:/usr/local/hadoop/bin
路徑是hadoop安裝路徑下的bin
開(kāi)啟hadoop服務(wù)
$ ./sbin/start-dfs.sh
創(chuàng)建兩個(gè)文件
echo “hello local” ?> local.txt
echo ?“hello cloud” ?> cloud.txt
(1)?? 向HDFS 中上傳任意文本文件,如果指定的文件在HDFS中已經(jīng)存在,由用戶指定是追加到原有文件末尾還是覆蓋原有的文件;
上傳cloud.txt文檔
$ hadoop fs -put cloud.txt
將local.txt內(nèi)容追加到cloud.txt末尾
$ hadoop fs -appendToFile local.txt cloud.txt
將local.txt內(nèi)容覆蓋到cloud.txt
$ hadoop fs -copyFromLocal -f local.txt cloud.txt
(2)?? 從HDFS中下載指定文件,如果本地文件與要下載的文件名稱相同,則自動(dòng)對(duì)下載的文件重命名;
$ if $(hadoop fs -test -e file:///usr/local/hadoop/cloud/txt);#如果cloud.txt文件存在
> then $(hadoop fs -copyToLocal cloud.txt ./cloud2.txt);#重命名為cloud2.txt
> else $(hadoop fs -copyToLocal cloud.txt ./cloud.txt);#否則為cloud.txt
> fi
(3)?? 將HDFS中指定文件的內(nèi)容輸出到終端中;
$ hadoop fs -cat cloud.txt
(4)?? 顯示 HDFS中指定的文件的讀寫(xiě)權(quán)限、大小、創(chuàng)建時(shí)間、路徑等信息;
$ hadoop fs -ls -h cloud.txt
(5)?? 給定HDFS中某一個(gè)目錄,輸出該目錄下的所有文件的讀寫(xiě)權(quán)限、大小、創(chuàng)建時(shí)間、路徑等信息,如果該文件是目錄,則遞歸輸出該目錄下所有文件相關(guān)信息;
$ hadoop fs -ls -R -h /user/hadoop
(6)?? 提供一個(gè)HDFS內(nèi)的文件的路徑,對(duì)該文件進(jìn)行創(chuàng)建和刪除操作。如果文件所在目錄不存在,則自動(dòng)創(chuàng)建目錄;
$ if $(hadoop fs -test -d test1/test2);
then $(hadoop fs -touch test1/test2/test.txt);
else $(hadoop fs -mkdir -p test1/test2 && hadoop fs -touch test1/test2/test.txt);
fi
$ hadoop fs -rm test1/test2/test.text #刪除文件
(7)?? 提供一個(gè) HDFS的目錄的路徑,對(duì)該目錄進(jìn)行創(chuàng)建和刪除操作。創(chuàng)建目錄時(shí),如果目錄文件所在目錄不存在則自動(dòng)創(chuàng)建相應(yīng)目錄;刪除目錄時(shí),由用戶指定當(dāng)該目錄不為空時(shí)是否還刪除該目錄;
#創(chuàng)建目錄
$ hadoop fs -mkdir -p test1/test2
#刪除目錄
$ hadoop fs -rmdir test1/test2
#目錄有文件時(shí)刪除
$ hadoop fs -rm -R test1/test2
(8)?? 向HDFS中指定的文件追加內(nèi)容,由用戶指定內(nèi)容追加到原有文件的開(kāi)頭或結(jié)尾;
追加文件開(kāi)頭
$ hadoop fs -get cloud.txt
$ cat cloud.txt >> local.txt
$ hadoop fs -copyFromLocal -f local.txt cloud.txt
追加文件末尾
$ hadoop fs -appendToFile local.txt cloud.txt
(9)?? 刪除HDFS中指定的文件;
$ hadoop fs -rm test.txt
(10) 刪除HDFS中指定的目錄,由用戶指定目錄中如果存在文件時(shí)是否刪除目錄;
$ hadoop fs -rm -r test1/test2
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-409499.html
(11) 在 HDFS 中,將文件從源路徑移動(dòng)到目的路徑。
$ hadoop fs -mv cloud.txt ./cloud3.txt
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-409499.html
到了這里,關(guān)于HDFS操作常用的Shell命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!