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