標籤:linux shell 終端 awk
原創blog,轉載請註明出處
Shell是命令直譯器
[[email protected] ~]# cat /etc/shells
查看本系統共支援哪些shell
1 tab 命令補全
這個幾乎每次都能用到,比如我有個檔案叫file.txt,如果這個目錄下只有一個檔案名稱以f開頭,則我輸入f然後tab就會自動補全出file.txt
2 兩個快速鍵
CTRL+L 清屏
CTRL+U 清除一行中(游標前的部分)
3 命令別名
alias:查看當前的別名
定義一個新的別名,這裡定義刪除目錄的別名xrm
當然,這樣定義僅僅是臨時定義,並沒有寫入到檔案中,每次重啟後都要重新alias
可以講自訂的別名寫道設定檔~/.bashrc中
解除一個別名用unalias
4.輸入輸出重新導向
就是把輸出的內容寫道另外一個地方,或者從一個地方獲得一個輸入
輸出重新導向:
[[email protected] ~]# ls -l >> /dev/null
將輸出的內容重新導向到/dev/null中,這裡可以理解/dev/null為一個黑洞,重新導向到這裡的東西都不會列印出來
符號 >> 是清空原內容,然後寫入
符號 > 是在原內容的末尾追加
輸入重新導向
符號 <
/dev/tty 這個檔案常用來重新導向到一個終端,對輸入來說十分有用
read password < /dev/tty 從終端讀取密碼
比如我要廣播file.txt中的內容
錯誤輸出重新導向,只有在遇到錯誤的時候才進行重新導向
常用的處理是產生相關的log檔案
例如,在備份伺服器檔案的時候,往往是選在下半夜伺服器訪問量很少的時候,這個時候你還在夢鄉呢,所以,對錯誤的資訊進行重新導向很重要。這樣第二天你上班只要看看錯誤的檔案就可以知道哪裡出問題了
cp –R /usr /backup/ 2> /bak.error
5 管道
管道就是把一個輸出作為另一個輸入,常用在分步處理
例如
ls -/etc |more;對檔案內容分頁瀏覽ls –l/etc | grep init;用命令執行結果裡提取ls –l /etc | grep init | wc –l;其中wc用於計算有多少行
這裡簡單講解下wc命令
wc命令用來統計多少行,多少個單詞,多少個字元
wc #會依次輸出 行數,單詞數,字元個數
wc -l #行數
wc -w#單詞數
wc -c #字元個數
6 命令串連符
&& 前一個命令執行成功,後一個命令才會執行
|| 前一個命令執行失敗,後一個命令才會執行
7 命令替換符號
在鍵盤tab上邊的那個·,注意不是引號
遇到命令替換符號,會把命令替換符號內的語句當成命令執行,然後把執行結果返回給上一層
8 讀取檔案的開頭或者結尾
head -n 檔案前幾行
tail -n file 檔案後幾行
tail -f file 持續觀察一個檔案的結尾,適合動態觀察log檔案
當然,我們也可以配合grep,只查看包含指定字元的log資訊
[[email protected] ~]#tail -f file | grep --line-buffered your_pattern
最後,附上之前寫的awk,grep,sed的連結
grep命令詳解-9個經典的使用情境
sed命令詳解
awk命令快速入門
總結自己使用shell命令列常用到的8個小技巧