
作為一名軟件工程師,我做過的最明智的投資就是學習 Linux。因為,在日常工作中,我們會經常與 Linux 系統(tǒng)打交道。而今天,作為一名 30 多歲的工程師,我仍受益于幾年前我碰巧學過的那些知識,所以技術學習需要不斷積累,不積跬步無以至千里。另外,在另一篇博客文章中,我將更詳細地解釋為什么 Linux 對于軟件開發(fā)人員來說更加務實。
在本文中,我將分享一些小眾卻十分有用的 Linux 命令。如果你使用 Macbook,那剛剛好。因為我推薦的大多數(shù)命令也能應用于 OSX 系統(tǒng)。
10.file
返回給定信息的類型。例如,你可以輸出圖像的尺寸信息:
file logo.png
返回:
> PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced
9.iotop, powertop, nethogs
你將如何監(jiān)控 Linux 系統(tǒng)中發(fā)生的狀況? 這三個命令可以解決你的燃眉之急。
-
Iotop:通過磁盤寫入對進程排序,并顯示程序寫入到磁盤的數(shù)量與頻次。 -
Powertop:監(jiān)控程序的電源使用情況。如果你無法及時充電時,這個命令就很重要了。 -
Nethogs:列出每個進程所使用的帶寬。
8.tee
將數(shù)據(jù)重定向到給定文件和屏幕上。例如,添加一個新的條目到 hosts 文件:
echo "127.0.0.1 foobar" | sudo tee -a /etc/hosts
7.pidof, kill 和 pkill
這三條重要的命令將幫助你控制系統(tǒng)中運行的程序。
Pidof:輸出正在運行程序的進程 ID。例如,以下命令將輸出 nginx 的進程 ID:
pidof nginx
你還可以通過kill命令,以及相應的數(shù)字來終止 nginx 進程:
kill -USR2 $(pidof nginx)'
pkill是一個快捷命令,可以按照進程名稱終止所有的進程:
pkill -f nginx
6.tmux
如果你還沒有安裝 tmux 的話,我極力推薦你安裝它。Tmux 是一款優(yōu)秀的終端中的窗口和會話管理器。譯者注:如果你想詳細了解 Tmux,參見本篇文章。
5.tree
以樹狀結構列出目錄內容。同時,通過設置相應的參數(shù)還可以只顯示目錄名稱:
tree -d
4.find
當我們在指定目錄下尋找具體文件時,這個命令將幫你大忙。我將在這里介紹幾個簡單的用例:
示例 1 - 列出所有的 CSS 文件(包括子目錄):
find . -type f -name "*.css"
示例 2 - 列出所有的 CSS 與 HTML 文件:
find . -type f \( -name "*.css" -or -name "*.html" \)
3.htop
Htop 是一個著名的進程查看器。它擁有漂亮、多彩的命令行界面,以及一些實用的字母快捷鍵:
-
\- 增量進程過濾器; -
/- 搜索進程; -
,- 選擇排序標準; -
k- 終止進程; -
u- 篩選某一特定用戶進程; -
t- 顯示/隱藏樹形結構; -
-和+- 展開/折疊選定的進程樹; -
H- 顯示/隱藏用戶線程。
2.chroot
這個命令的神奇之處在于,它可以幫助你在指定目錄中打開新的 TTY 。那么,你就可以創(chuàng)建一個文件夾,在其中設置新的 Linux 系統(tǒng),并隨時切換到該“子系統(tǒng)”。
1.dialog
方便與用戶交互的簡易命令。例如,下面的命令就顯示了一個漂亮的輸入框:
dialog --title "Oh hey" --inputbox "Howdy?" 8 55
上述介紹的大多數(shù)命令都可應用在 OSX 系統(tǒng)上,并且支持許多其他類型的對話:消息框、菜單、確認對話框、進度條等。另外,我所編寫《 Happy Hacking Linux 》的安裝向導中也應用了上述相關命令。
感謝你的閱讀。若你有所收獲,歡迎點贊與分享。
注:
- 本文版權歸原作者所有,僅用于學習與交流;
- 如需轉載譯文,煩請按下方注明出處信息,謝謝!
英文原文:10 Linux Commands Every Developer Should Know
作者:Azer Ko?ulu
譯者:IT程序獅
譯文地址:http://www.itdecent.cn/p/a86614d7cef9