超詳細linux基本命令學習以及hdfs命令詳解

前言:
本人剛接觸linux不久但是就是這不久的接觸使我愛上了linux的腳本
linux腳本就幾十個基本命令但是就是這幾十個基本命令經過簡單的組合後可以創造出實現各種功能的強大命令如:同樣是處理數據使用linux僅僅只需要幾秒,但是如果使用Excel可能要使用半個小時或是更久特別是龐大的數據excel可能束手無策使用linux腳本可能僅僅是一兩分鐘所以極大的提高了辦事的效率。
以上僅僅是本人個人觀點你可以保持個人觀點 勿噴

1:接下來就是來講命令了
在學習hdfs的編程實踐的同時我們先來回顧一下linux的基本指令
cd 切換目錄的命令 cd ~ 當前用戶的家目錄 cd - 查看前一個目錄
mkdir 命令創建目錄命令 rmdir是刪除空文件的命令
cp 命令拷貝文件的命令
mv 移動文件的命令
ls 查看當前所在的文件夾
cat 命令顯示文件到屏幕
ls -i 命令就是在每個文件的前面加一個索引節點號
ll 就是顯示長文件的命令
ls -a 就是查看當前目錄的所有的文件包括以點開頭的文件
echo 就是將它後面的東西返回
** 命令有轉義的意思就是如果你要輸出一個\就是用 echo \纔會輸出
\n換行 \t製表
sed s’/這個是舊的東西 /新的東西 /g’ 替換的命令
tr ’ ’ ‘\n’ 一行變多行 tr ’ ’ ’ ’ 該命令就是多行變一行
xargs -i 命令一次次的傳遞
grep 命令搜索命令
rm -rf 刪除文件的命令 r 表示整個的目錄 f表示不詢問
put 命令傳遞文件的命令
bash -c 就是將傳遞來的東西執行一下
{} 可以說就是傳遞來的東西 參數或文件
seq 是生成數的命令 如seq 5 就是從一到五生成5個數 1 2 3 4 5
seq 5 30 就是依次生成 5 10 15 20 25 35 這幾個數
seq 5 -1 3 生成的數依次是5 4 3 從大到小
| 是管道命令就是將上一級命令的執行結果傳遞到下一級
. 在linux中表示的是當前的路徑
空格 還有在linux中命令是用來區分東西的
如:
seq 5 | xargs -i sl 該命令表示的是 在linux中開5次火車
生成 5 數 | 通過管道傳遞到下一級 xargs -i 就是一次次傳遞(傳遞5次) 給sl執行
shuf 生成隨機數

linux基本指令之重定向
> 輸出重重定向 就是將命令的執行結果重定向到另一個文件 如:echo hello word > 1
就是本來是將hello word返回顯示到屏幕上的但是現在不到屏幕了到 1 這個文件(但是不支持文件的追加寫入)
>> 附加輸出重定向 和輸出重定向一樣但是它支持追加寫入
< 輸入重定向 將文件的命令的標準的格式寫入該文件
2> 錯誤輸出重定向 將文件的錯誤執行結果傳遞到指定文件夾

cat命令解析
cat 顯示文件到屏幕
cat和並文件還可以 cat 1 2 > 3 將1 2 問件合併到 3
cat 建立小型的文件 cat > 文件名 如: cat > 3 建立了一個名爲三的文件

reboot 重啓命令
who 命令就是查看當前用戶
pwd命令返回所在路徑的命令
mkdir 命令就是創建文件的命令
mkdir -p 表示遞歸創建文件的命令 如:mkdir /user/local/software**/hadoop/file** 該條命令就是一次性的創建了個的目錄 從user 到 file
jps 命令就是查看當前系統有關java的進程
chmod 命令就是賦予相關權限的命令
就是關閉系統的命令 shutdown -h now 立刻關閉系統 shutdown -r now 立刻重啓系統 shutdown 10 十分鐘後進入單用戶維護模式 shutdown now 立刻進入單用戶維護模式
vim / vi 命令進入配置文件的命令 在命令行中 : 表示進入命令行模式 w 表是保存 q 表示退出 !表示強制執行
dd命令刪除一行的命令

相關有關hadoop的的命令
start-all.sh 就是開啓hadoop的相關進程 /或是開啓當前系統的所有的進程
stop-all.sh 就是關閉hadoop的相關進程 /或是開啓當前系統的所有的進程

linux中的單元格操作awk操作
**awk ’{system("seq "$1);}’**在這個腳本中 awk 只認識 '{}'裏面的東西 裏面你可以寫你想要的東西
linux中的通配符
**$**在awk中表示單元格 在AWK 外表示的是參數
***** 表示任意一個字符 . 表示單個字符 []指定一個符號的取值範圍 如[a-c] 等

sed ‘1d’ 表示的是刪除第一行 xd表示的是x行

以上就是我現在所回憶的基本的指令
現在我們結合具體的實例來使用這些命令
結合我上課老師所傳授的理念說linux就是一個創造的工具在互聯網發展迅速的今天
我們可以通過linux的基本指令簡單的結合創造出各種實現功能的命令方便而快捷的實現
相比於在window中的一些圖形界面的操作我們使用linux僅僅需在命令行寫幾個腳本字母即可實現可以更方
便的實現各種操作如數據的統計 等等等等

以下是及格腳本組合的簡單例子:
1:命令一 seq 10 | xargs -i sl
命令的解析 生成10個隨機的數 | 將命令的執行結果通過管道傳遞到下一級 然後一次次的傳遞給 sl去執行 該命令的功能是開火車10次
命令 seq 10 | xargs -i bash -c “sl;sleep 10” 該命令經過了一些的變換
解析 命令的解析 生成10個隨機的數 | 將命令的執行結果通過管道傳遞到下一級 然後一次次的傳遞給 bash -c “”去執行 將“”號裏面的看做是一個整體
;是用來對小事件進行分塊 bash -c 將“”裏面的東西執行10次 (該命令實現的功能是開10 次火車 10 秒一次)

*2:命令二 seq 5 | sed 's//echo123/gseds/[az]/./g515seds//echo123 /g' | sed 's/[a-z]/./g'** *命令的解析 就是生成5個數從1-5 | 管道將執行的結果傳遞到下一級 sed 's//echo123 /g’替換 就是$表是的是舊的東西生成的5個數然後替換爲
echo123 | 管道傳遞到下一級 sed 's/[a-z]/./g’將小寫的字母換爲一個字符就是將echo 換爲…

3:命令三 cat z1 | tr ’ ’ ‘\n’ | sed 's/^/echo /g’
解析命令就是顯示z1這個文件 | 管道傳遞到下一級 | tr ’ ’ ‘\n’ 將多行變一行 | 管道傳遞 sed 's/^/echo /g’將行頭替換爲echo 空格
cat z1 | tr ’ ’ ‘\n’ | sed ‘s/^/echo /g’ | xargs -i bash -c “{}”
解析:就是顯示z1這個文件 | 管道傳遞到下一級 | tr ’ ’ ‘\n’ 將多行變一行 | 管道傳遞 sed 's/^/echo /g’將行頭替換爲echo 空格
|管道傳遞到下一級 xargs -i bash -c "{}"一次次的傳遞 交給 bash -c "{}"去執行 將文件返回 {} 就是傳遞回來的東西

好學習了這些基本的linux指令後我相信你們已經可以看懂一些linux的
命令了。

接下來我們來學習hadoop的hdfs編程:
hdfs的編程實踐

查看hdfs中的信息使用命令
hadoop dfs -ls / 查看hdfs根目錄的信息

在hdfs中創建目錄的命令
hadoop dfs -mkdir /user_file
在hdfs中遞歸創建了兩個目錄 -mkdir -p 就是遞歸創建的意思

在hdfs中上傳文件的命令
hadoop dfs -put /home/user_table /user_file
將文件/home/user_table.txt 文件上傳到hdfs根目錄下的user_file下的原始文件中

使用ls命令驗證上傳的文件
hadoop dfs -ls /user_file

使用hdfs檢索數據
之前我們在hdfs中創建一個名爲user_file的文件我們要從hadoop hdfs的文件系統中檢索所需要的的數據
首先查看hdfs中的數據
hadoop dfs -cat /

在hdfs中我們使用get命令將文件從hdfs中獲取到本地的文件系統
hadoop dfs -get /hihihi /home/get_user
就是將文件從hdfs中的/hihihi下獲取到本地文件系統的家目錄下的get_user的文件下

在hdfs中創建文件的命令
hadoop dfs -touchz /hihihi
在hdfs的根目錄創建hihihi文件

在hdfs中移動文件的命令 在linux中我們使用mv命令對文件進行移動
hadoop dfs -mv /home/user_table /user_file
將本地文件系統中的將目錄下的文件 移動到hdfs分佈式文件系統的/user_file下

刪除文件的命令rm 命令 -r 就是將指定的文件夾以及以下的子文件夾刪除
hadoop dfs -rm /hihihi 命令只刪除非空的文件和目錄
hadoop dfs -rm -r 就是將指定的文件夾下的文件及其子目錄遞歸刪除

在hdfs中拷貝文件的命令
hadoop dfs -cp 源文件的路徑 目標文件的路徑
hadoop dfs -cp /home/user_table /hihihi

在hdfs中的du命令顯示指定文件或文件夾中所有文件的大小
hadoop dfs -du /user_table
顯示hdfs中的 user_table 文件夾的大小以字節的方式

在hadoop中的hdfs中的清空回收站的命令expunge
hadoop dfs -expunge 清空回收站

區分hadoop中的test 命令 和 text命令
在hadoop中的test命令就是檢查指定文件的相關信息
hadoop dfs -e 檢查文件的相關信息 存在返回 0 不存在返回 1
hadoop dfs -z 檢查文件是否爲0字節 是返回 0 不是返回 1
hadoop dfs -d 檢查文件是目錄是返回 1 不是返回 0

hadoop hdfs中的text命令
指定文件的輸出格式如zip和其他的輸出格式
hadoop dfs -text
命令的使用經過驗證不用擔心
以上的命令的實現截圖如下截圖同時帶有解析由於博主趕時間截圖和以上命令可能順序不同但是截圖是從頭做到尾的且帶有解析 解析 解析
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述接下來補充一點小的知識hadoop新建用戶和無密碼登陸
在hadoop中如何創用戶和跟換密碼
su 命令切換用戶
useradd 增加一個新的用戶
爲新的用戶設置密碼
passwd
在hadoop中設置無密碼登陸
就是使用命令
ssh-keygen -t rsa
cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
在hadoop中設置無密碼登陸的的必要就是在hadoop的集羣中我們需要對hadoop進行不同的操作
如開啓和關閉集羣這就需要對不同的用戶進行身份驗證就需要hadoop爲用戶提供公鑰對和私鑰對
和不同的用戶進行共享
以上的代碼就是使用ssh生成鍵值對 將公共祕鑰的表單id_rsa.pub複製到authorized_keys中
並分別給擁有者授予authorized_keys的讀寫權限

最後:如果本篇文章對你有用請給我點個贊,本人將傾力奉獻更多的優秀文章
QAQ QAQ QAQ
鳴謝讀者 :你的鼓勵是我最大的動力

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章