做爲一名軟件工程師,學習Linux是我所作的最好投資。由於Linux是一個用戶必須理解和維護的系統,因此平常體驗就像向水坑加水滴同樣。時間一長,水坑就會成爲湖泊,甚至是海洋。因此咱們必須杜微慎防。css
今天,我做爲一名30多歲的工程師,仍然受益於我幾年前機緣巧合學到的一大堆知識,在我仍是一個具備雄心壯志的初學者的時候。在另外一篇博客中,我已經更詳細地解釋了爲何Linux對於軟件開發人員來講是一個更加務實的選擇。html
在這篇博文中,我將分享一些不太受歡迎但很是有用的Linux命令,我我的極力推薦。若是你是在Macbook上工做,那也不要緊,由於我提到的大部分命令也存在於OSX系統中。linux
返回給定文件的信息。例如,你能夠輸出圖像的尺寸信息:nginx
file logo.png
返回:網絡
> PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced
你怎麼監控Linux系統中正在發生的狀況?這三個命令是你的救星:app
它會分割程序的輸出,從而能夠打印和保存。例如,添加一個新的條目到hosts文件;學習
echo "127.0.0.1 foobar" | sudo tee -a /etc/hosts
這三個重要的命令能夠幫助你控制系統中的運行程序。spa
pidof打印出正在運行的程序的進程ID。例如,如下命令將輸出nginx的進程ID:命令行
pidof nginx
你能夠經過kill命令殺死nginx:線程
kill -USR2 $(pidof nginx)'
pkill是一個快捷命令,能夠殺死進程匹配模式:
pkill -f nginx
若是尚未安裝tmux的話,那麼你必須安裝。Tmux是終端的優秀窗口和會話管理器。
以樹狀格式列出目錄的內容。它有整潔的選項,如只顯示目錄;
tree -d
當咱們正在數十個文件中尋找特定文件時,這個命令就是救星。我將在這裏介紹幾個簡單的用例。
示例1:列出全部CSS文件(包括子目錄):
find . -type f -name "*.css"
示例2:列出全部CSS或HTML文件:
find . -type f \( -name "*.css" -or -name "*.html" \)
有名的過程監控。它有一個漂亮又多彩的命令行界面。一些有用的鍵綁定:
不少人喜歡這個命令,是由於它在給定的目錄中打開了一個新的TTY。這意味着,你能夠建立一個文件夾,在其中設置一個新的Linux系統,並隨時切換到該「子系統」。
是否是很強大?
在命令行上與用戶交互的一種很是簡單又良好的方式。例如,下面的命令展現了一個不錯的輸入框:
dialog --title "Oh hey" --inputbox "Howdy?" 8 55
它既存在於Linux,也存在於OSX系統上,並支持許多其餘類型的對話框;消息框,菜單,確認,進度條…我爲Happy Hacking Linux編寫的安裝嚮導就是用這個使人驚歎的命令製做的!
注:譯文連接:http://www.codeceo.com/article/10-linux-command-every-programmer-must-know-2.html,英文原文:10 Linux Commands Every Developer Should Know,翻譯做者:碼農網 – 小峯,轉載請註明出處。作一隻勤勞的IT乾貨搬運工,喜歡就給個讚唄。