最實(shí)用的Linux命令行使用技巧匯總
譯文【51CTO.com快譯】我們每天都會(huì)頻繁使用Linux命令行,雖然網(wǎng)上關(guān)于其使用技巧的資料多種多樣,但很多朋友應(yīng)該并沒有進(jìn)行過實(shí)際嘗試。因此,今天的文章將對此進(jìn)行匯總,希望能為大家?guī)硪稽c(diǎn)幫助。
1.將輸出結(jié)果顯示為表
有時(shí)候,當(dāng)我們查看命令的輸出結(jié)果時(shí),大量擁護(hù)的字符串可能很難進(jìn)行閱讀。如果將命令整理為表?其實(shí)非常簡單!只需要輸入:
- mount | column –t:
在以上示例中,輸出結(jié)果因?yàn)楸豢崭窀糸_而顯得非常清晰。那么,如果分隔符是冒號或者其它符號(例如cat /etc/passwd)又該怎么辦?
只需要調(diào)整一條–s參數(shù)即可。
- cat /etc/passwd | column -t -s:
2.重復(fù)一條命令直到成功運(yùn)行
很多朋友都在網(wǎng)上搜索過這個(gè)問題。相關(guān)建議包括ping服務(wù)器直到生效、檢查某一包含特定擴(kuò)展名的文件是否從特定目錄處上傳完成以及檢查特定URL是否已經(jīng)存在等。
事實(shí)上,大家可以使用while true循環(huán)完成這項(xiàng)目標(biāo):
在本示例中,>/dev/null 2>&1會(huì)將程序的輸出結(jié)果重新定向至/dev/null。其中包括Standard Error與Standard Out。
這也是我個(gè)人最喜愛的Linux命令行使用技巧之一。
3.通過內(nèi)存使用量對進(jìn)程加以排序
- ps aux | sort -rnk 4:
4.根據(jù)CPU使用量對進(jìn)程加以排序
- ps aux | sort -nk 3:
要檢查架構(gòu),可使用:
- getconf LONG_BIT
5.同時(shí)查看多個(gè)日志文件
大家當(dāng)然可以使用tail命令查看日志,但有時(shí)候您可能需要同時(shí)查看多個(gè)日志文件。使用multi-tail命令即可輕松實(shí)現(xiàn)您所需要的文本高亮、過濾等各類需求:
如果系統(tǒng)中尚無此命令,您可以通過apt-get install multitail進(jìn)行下載。
6.返回此前目錄
只需要輸入cd –即可返回此前目錄。
7.讓非交互Shell會(huì)話實(shí)現(xiàn)交互能力
將設(shè)置~/.bashrc變更為~/.bash_profile即可。
8.以常規(guī)間隔監(jiān)控命令輸出結(jié)果
利用watch命令 (watch df –h),您將能夠查看到任何命令的輸出結(jié)果。例如,您可以查看剩余空間及其增長情況。
而配合變量數(shù)據(jù),watch命令還能發(fā)揮更多其它作用。
9.在會(huì)話關(guān)閉后運(yùn)行程序
如果在后臺(tái)運(yùn)行某程序并將其關(guān)閉,shell即會(huì)將其徹底停用。我們該如何在關(guān)閉shell后繼續(xù)保證其運(yùn)行?
大家可以使用nohup命令,其代表的是無掛斷:
- nohup wget site.com/file.zip
此命令也是常被忽略的Linux命令之一,因?yàn)槎鄶?shù)用戶會(huì)使用另一種命令式屏幕:
其會(huì)在同一目錄中生成名為nohup.out的文件,內(nèi)里包含當(dāng)前運(yùn)行程序的內(nèi)容:
很酷,對吧?
10.自動(dòng)對任意命令回復(fù)Yes或No
如果大家希望以自動(dòng)方式對請求回復(fù)yes,則可使用:yes | apt-get update。
如果您希望自動(dòng)回復(fù)no,則可使用yes no | command。
最實(shí)用的Linux命令行使用技巧匯總
11.創(chuàng)建特定大小的文件
大家可以利用dd命令創(chuàng)建特定大小的文件:
- dd if=/dev/zero of=out.txt bs=1M count=10.
這時(shí)新生成的文件大小為10 MB,全部以0填充:
12.以Root方式運(yùn)行上一條命令
有時(shí)候,大家可能在輸入某條需要root權(quán)限的命令時(shí)忘了加上sudo。不用再輸入一遍,直接輸入sudo即可!
13.記錄命令行會(huì)話
如果大家希望在shell屏幕上記錄自己的輸入內(nèi)容,則可使用script命令將輸入內(nèi)容保存成名為typescript的文件: script。
在輸出exit后,全部命令都將被寫入該文件以備隨后審查。
14.將空格替換為Tab
大家可以利用tr命令將某種字符替換為另一種字符:
- cat geeks.txt | tr ':[space]:' '\t' > out.txt。
15.將某一文件轉(zhuǎn)換為大寫或小寫形式
使用以下命令:
- cat myfile | tr a-z A-Z > output.txt。
16.強(qiáng)大的Xargs命令
xargs命令是Linux中最為重要的技巧之一。大家可以利用此命令將某一命令的輸出結(jié)果作為另一命令的參數(shù)。例如,大家可以搜索PNGpng文件并將其壓縮或者進(jìn)行其它操作:
- find. -name *.png -type f -print | xargs tar -cvzf images.tar.gz
或者,也許您在文件中保存了一份URL列表,并希望對其進(jìn)行下載或者處理:
- cat urls.txt | xargs wget
請注意,***條命令的輸出結(jié)果會(huì)被傳遞至xargs命令末尾。
如果我們需要將命令輸出結(jié)果傳遞至中間,又該如何?只需要使用{}再加上–i參數(shù),如下所示。這時(shí)替換參數(shù)將用于指定***條命令輸出結(jié)果的傳遞位置:
- ls /etc/*.conf | xargs -i cp {} /home/likegeeks/Desktop/out
當(dāng)然,這里只是一部分Linux命令行使用技巧。如果大家有需要,也可以嘗試awk與sed等命令!另外,也期待您在評論中分享自己的實(shí)踐與體會(huì)。
原文標(biāo)題:Most Useful Linux Command Line Tricks
原文作者:seco max
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】