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