每個開發人員都應該知道的10個Linux命令
譯者注:讓你生活更簡單的幾個不常用的Linux命令。以下為譯文:
作為一個軟體工程師,學習Linux是我做過的最好的時間投資。因為它是一個使用者必須理解和維護的系統,每天的使用經驗就像在水坑中新增一滴水一樣。很長時間以後,水坑就變成了湖泊,甚至海洋。
今天,作為一名30歲的工程師,我仍然受益於多年前學到的知識,那時我是一個雄心勃勃的初學者。在另一篇部落格文章中,我更詳細地解釋了為什麼Linux更適合軟體開發人員。
在這篇文章中,我將分享我個人使用和推薦的一些不太流行但非常有用的Linux命令。如果你有一個蘋果筆記本,那很好,因為我提到的大部分命令也存在於OSX中。
10. file
返回一個指定檔案的資訊。例如,你可以用它來輸出一個圖片檔案的尺寸資訊。
file logo.png
輸出結果:
> PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced
9. iotop, powertop, nethogs
你如何監控Linux系統中發生了什麼?這三個命令可以幫上大忙;
* iotop: 將程序按磁碟寫次數排序,並且顯示程式寫磁碟的次數和頻率。
* powertop: 將程序按能量消耗列表顯示。這是一個重要的命令,尤其是當你在外面不能為你的電腦充電的時候。
* nethogs: 將程序按網路流量列表顯示。
8. tee
tee 將程式的輸出結果重定向,使得我們可以同時顯示和儲存結果,例如,新增一個新的條目到hosts檔案中:
echo "127.0.0.1 foobar" | sudo tee -a /etc/hosts
7. pidof, kill and pkill
這三個重要命令幫助你控制系統中執行的程式。
pidof 打印出正在執行程式的程序ID。例如,下面的命令將輸出nginx的程序ID:
pidof nginx
你可以把nginx的程序ID輸入到 kill 命令來終止它。
kill -USR2 $(pidof nginx)'
pkill 是一個快捷命令,可以終止匹配的程序:
pkill -f nginx
6. tmux
如果還你沒有安裝tmux,請一定安裝它。 tmux是你終端的優秀視窗和會話管理器。
5. tree
以樹狀格式列出目錄的內容。它有簡潔的選項,比如只顯示目錄;
tree -d
4. find
當我們在幾十個檔案中尋找特定的檔案時,這個命令可以幫忙。我將在這裡介紹幾個簡單的用例。
例1:列出所有的 CSS 檔案,(包括子目錄):
find . -type f -name "*.css"
例2:列出所有的 CSS 或HTML 檔案:
find . -type f \( -name "*.css" -or -name "*.html" \)
3. htop
著名的程序監視器。它有一個漂亮多彩的命令列介面。一些有用的快捷鍵:
* \ 過濾
* / 搜尋
* ,選擇排序條件
* k 傳送kill指令
* u 按使用者過濾結果
* t 開啟/關閉 樹形(tree) 模式
* -和+ 展開/關閉程序樹
* H 關閉顯示程序
2. chroot
魔術師們喜歡這個命令,因為它在給定的目錄中打開了一個新的TTY。這意味著,你可以建立一個資料夾,在其中設定一個新的Linux系統,並隨時切換到該“子系統”。
是不是很強大?
1. dialog
在命令列上與使用者互動的一種非常簡單而且不錯的方式。例如,下面的命令顯示了一個不錯的輸入框:
dialog --title "Oh hey" --inputbox "Howdy?" 8 55
它存在於Linux和OSX系統上,並支援許多其他型別的對話方塊:訊息框,選單,確認框,進度條…我為Happy Hacking Linux編寫的安裝嚮導就是用這個神奇的命令製作的!