作為一名軟件工程師,我做過的最明智的投資就是學(xué)習(xí) Linux凌停。因?yàn)椋谌粘9ぷ髦惺勐耍覀儠?jīng)常與 Linux 系統(tǒng)打交道罚拟。而今天,作為一名 30 多歲的工程師完箩,我仍受益于幾年前我碰巧學(xué)過的那些知識赐俗,所以技術(shù)學(xué)習(xí)需要不斷積累,不積跬步無以至千里弊知。另外阻逮,在另一篇博客文章中,我將更詳細(xì)地解釋為什么 Linux 對于軟件開發(fā)人員來說更加務(wù)實(shí)秩彤。
在本文中叔扼,我將分享一些小眾卻十分有用的 Linux 命令。如果你使用 Macbook漫雷,那剛剛好币励。因?yàn)槲彝扑]的大多數(shù)命令也能應(yīng)用于 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ā)生的狀況? 這三個(gè)命令可以解決你的燃眉之急澎现。
-
Iotop
:通過磁盤寫入對進(jìn)程排序仅胞,并顯示程序?qū)懭氲酱疟P的數(shù)量與頻次。 -
Powertop
:監(jiān)控程序的電源使用情況剑辫。如果你無法及時(shí)充電時(shí)干旧,這個(gè)命令就很重要了。 -
Nethogs
:列出每個(gè)進(jìn)程所使用的帶寬妹蔽。
8.tee
將數(shù)據(jù)重定向到給定文件和屏幕上椎眯。例如,添加一個(gè)新的條目到 hosts 文件:
echo "127.0.0.1 foobar" | sudo tee -a /etc/hosts
7.pidof, kill 和 pkill
這三條重要的命令將幫助你控制系統(tǒng)中運(yùn)行的程序胳岂。
Pidof
:輸出正在運(yùn)行程序的進(jìn)程 ID编整。例如,以下命令將輸出 nginx 的進(jìn)程 ID:
pidof nginx
你還可以通過kill
命令乳丰,以及相應(yīng)的數(shù)字來終止 nginx 進(jìn)程:
kill -USR2 $(pidof nginx)'
pkill
是一個(gè)快捷命令掌测,可以按照進(jìn)程名稱終止所有的進(jìn)程:
pkill -f nginx
6.tmux
如果你還沒有安裝 tmux 的話,我極力推薦你安裝它产园。Tmux 是一款優(yōu)秀的終端中的窗口和會話管理器汞斧。譯者注:如果你想詳細(xì)了解 Tmux夜郁,參見本篇文章。
5.tree
以樹狀結(jié)構(gòu)列出目錄內(nèi)容粘勒。同時(shí)竞端,通過設(shè)置相應(yīng)的參數(shù)還可以只顯示目錄名稱:
tree -d
4.find
當(dāng)我們在指定目錄下尋找具體文件時(shí),這個(gè)命令將幫你大忙庙睡。我將在這里介紹幾個(gè)簡單的用例:
示例 1 - 列出所有的 CSS 文件(包括子目錄):
find . -type f -name "*.css"
示例 2 - 列出所有的 CSS 與 HTML 文件:
find . -type f \( -name "*.css" -or -name "*.html" \)
3.htop
Htop 是一個(gè)著名的進(jìn)程查看器婶熬。它擁有漂亮、多彩的命令行界面埃撵,以及一些實(shí)用的字母快捷鍵:
-
\
- 增量進(jìn)程過濾器; -
/
- 搜索進(jìn)程虽另; -
,
- 選擇排序標(biāo)準(zhǔn)暂刘; -
k
- 終止進(jìn)程; -
u
- 篩選某一特定用戶進(jìn)程捂刺; -
t
- 顯示/隱藏樹形結(jié)構(gòu)谣拣; -
-
和+
- 展開/折疊選定的進(jìn)程樹; -
H
- 顯示/隱藏用戶線程族展。
2.chroot
這個(gè)命令的神奇之處在于森缠,它可以幫助你在指定目錄中打開新的 TTY 。那么仪缸,你就可以創(chuàng)建一個(gè)文件夾贵涵,在其中設(shè)置新的 Linux 系統(tǒng),并隨時(shí)切換到該“子系統(tǒng)”恰画。
1.dialog
方便與用戶交互的簡易命令宾茂。例如,下面的命令就顯示了一個(gè)漂亮的輸入框:
dialog --title "Oh hey" --inputbox "Howdy?" 8 55
上述介紹的大多數(shù)命令都可應(yīng)用在 OSX 系統(tǒng)上拴还,并且支持許多其他類型的對話:消息框跨晴、菜單、確認(rèn)對話框片林、進(jìn)度條等端盆。另外,我所編寫《 Happy Hacking Linux 》的安裝向?qū)е幸矐?yīng)用了上述相關(guān)命令费封。
感謝你的閱讀焕妙。若你有所收獲,歡迎點(diǎn)贊與分享弓摘。
注:
- 本文版權(quán)歸原作者所有访敌,僅用于學(xué)習(xí)與交流;
- 如需轉(zhuǎn)載譯文衣盾,煩請按下方注明出處信息寺旺,謝謝爷抓!
英文原文:10 Linux Commands Every Developer Should Know
作者:Azer Ko?ulu
譯者:IT程序獅
譯文地址:http://www.reibang.com/p/a86614d7cef9