作為一名軟體工程師,學習Linux是我所做的最好投資。因為Linux是一個使用者必須了解和維護的系統,是以日常體驗就像向水坑加水滴一樣。時間一長,水坑就會成為湖泊,甚至是海洋。是以我們必須杜微慎防。
今天,我作為一名30多歲的工程師,仍然受益于我幾年前機緣巧合學到的一大堆知識,在我還是一個具有雄心壯志的初學者的時候。在另一篇部落格中,我已經更詳細地解釋了為什麼Linux對于軟體開發人員來說是一個更加務實的選擇。
在這篇博文中,我将分享一些不太受歡迎但非常有用的Linux指令,我個人極力推薦。如果你是在Macbook上工作,那也沒關系,因為我提到的大部分指令也存在于OSX系統中。
<a href="http://s4.51cto.com/wyfs02/M02/08/36/wKiom1neF1jT2-kFAACpNZSpbfg981.jpg-wh_651x-s_2353987450.jpg" target="_blank"></a>
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
它會分割程式的輸出,進而可以列印和儲存。例如,添加一個新的條目到hosts檔案;
echo "127.0.0.1 foobar" | sudo tee -a /etc/hosts
7.pidof,kill和pkill
這三個重要的指令可以幫助你控制系統中的運作程式。
pidof列印出正在運作的程式的程序ID。例如,以下指令将輸出nginx的程序ID:
pidof nginx
你可以通過kill指令殺死nginx:
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發送殺死信号
u使用者過濾結果
t打開/關閉樹模式
-和+ 折疊 / 展開標明的流程樹
H關閉顯示線程
2.chroot
很多人喜歡這個指令,是因為它在給定的目錄中打開了一個新的TTY。這意味着,你可以建立一個檔案夾,在其中設定一個新的Linux系統,并随時切換到該“子系統”。
是不是很強大?
1.dialog
在指令行上與使用者互動的一種非常簡單又良好的方式。例如,下面的指令展示了一個不錯的輸入框:
dialog --title "Oh hey" --inputbox "Howdy?" 8 55
它既存在于Linux,也存在于OSX系統上,并支援許多其他類型的對話框;消息框,菜單,确認,進度條…我為Happy Hacking Linux編寫的安裝向導就是用這個令人驚歎的指令制作的!
原文釋出時間為:2017-10-11
本文作者:小峰翻譯
本文來自雲栖社群合作夥伴“51CTO”,了解相關資訊可以關注。