首先,這是一個確鑿的事實,許多IT專業(yè)人士使用Linux命令行,即使在GUI也可用的情況下。嘿,我們的第一個Linux 命令行指南的點(diǎn)擊量超過了5萬次。但是讓我們聽一聽來自IT專家的理由,在這個案例中,我們傾聽來自工程部gotalk高級技術(shù)專家David Witham的理由。
“我就靠著命令行為生。命令行給你對你所做的事情和需要完成的事情的最終控制權(quán)。如果沒有命令來完成的話,你可以編寫腳本或者管線來完成。使用GUI的話,所見即所得。你通常不能再構(gòu)建你自己的GUI附件了。一個大的好處就是遠(yuǎn)程訪問。使用命令行進(jìn)行遠(yuǎn)程訪問通常要容易得多,它占用的帶寬比終端服務(wù)或者其他的圖形化遠(yuǎn)程訪問方式更少。”
Joe Klemmer:
1 expect:“我使用expect來完成許多通常需要反復(fù)執(zhí)行的需要很多時間的系統(tǒng)管理任務(wù);類似在我的桌面電腦和服務(wù)器之間移動文件這樣的事情就可以用expect來完成。”
2 lft:“lft就像是類固醇的追蹤路由。你可以獲得比追蹤路由更多得多的信息,用于調(diào)試連接或者只是用來尋找機(jī)器或者系統(tǒng)在哪里。”
3 mc:“它是最好的文件管理器。自從我在DOS上使用了Norton Commander,從DOS到Linux的轉(zhuǎn)換變得如此輕松。”
David Witham:
4 sdiff:“sdiff對2個文本文件之間的差別產(chǎn)生對人類友好的描述。它將文件分列兩側(cè),使用符號來顯示只在左邊文件中的行,還有2個文件之間有差異的行,還有只在右邊文件存在的行。它的結(jié)果閱讀起來比diff的輸出要容易得多。”
Jim Reem:
5 xargs:“xargs從標(biāo)準(zhǔn)輸出的數(shù)據(jù)中創(chuàng)建命令行。”
6 for, while:“for, while用于‘在一列選項中循環(huán),對每個選項都完成一定的動作。’”
7 read:用來“將標(biāo)準(zhǔn)輸入的文本行讀入shell變量,以便以后的處理”
8 sort:用來“將文本按照字母或者數(shù)字順序進(jìn)行排列;支持多個排列關(guān)鍵字。”
9 uniq:用來“刪除列表中重復(fù)的行”
10 tr:用來“轉(zhuǎn)換或者刪除來自文本流的字符”
11 od:用來“將二進(jìn)制文件以十進(jìn)制(或者十六進(jìn)制)存儲”
12 wc:用來“統(tǒng)計文件中的字?jǐn)?shù)”
13 top:“好像vmstat,獲得關(guān)于系統(tǒng)運(yùn)行情況的視圖,了解哪個進(jìn)程占用了全部的內(nèi)存。”
14 ps:“了解某個進(jìn)程的細(xì)節(jié)”
Christian P. Roberts:
15 date:“在制訂基準(zhǔn)的時候,放在腳本中進(jìn)行調(diào)用,以便輸出當(dāng)前的信息,很有用”
16 env:“在解決dotfiles的麻煩的時候,用另外一個賬號來查看環(huán)境變量。”
17 ln:“啊……軟鏈接是在網(wǎng)站上工作的必需品。”
18 mget:“用得不是非常多了,但是它在用一個命令處理多個文件方面確實不錯。”
19 nslookup:計算機(jī)的真實名字是什么……或者“到那里去是否安全?”
20 passwd:通常讓其他人發(fā)送這個命令來設(shè)置一個我臨時使用的密碼。
21 ps:通常用于連接“kill”命令
22 uname:當(dāng)在不同的計算機(jī)上工作的時候很有幫助,因為這些計算機(jī)在操作系統(tǒng)層面可能不同步。
23 whoami:是的,我是誰……意思就是“我在以什么身份運(yùn)行?”