最實用的Linux命令列使用技巧彙總

51cto發表於2017-03-16

  我們每天都會頻繁使用Linux命令列,雖然網上關於其使用技巧的資料多種多樣,但很多朋友應該並沒有進行過實際嘗試。因此,今天的文章將對此進行彙總,希望能為大家帶來一點幫助。

  1.將輸出結果顯示為表

  有時候,當我們檢視命令的輸出結果時,大量擁護的字串可能很難進行閱讀。如果將命令整理為表?其實非常簡單!只需要輸入:

mount | column –t: 

  在以上示例中,輸出結果因為被空格隔開而顯得非常清晰。那麼,如果分隔符是冒號或者其它符號(例如cat /etc/passwd)又該怎麼辦?

  只需要調整一條–s引數即可。

cat /etc/passwd | column -t -s: 

  2.重複一條命令直到成功執行

  很多朋友都在網上搜尋過這個問題。相關建議包括ping伺服器直到生效、檢查某一包含特定副檔名的檔案是否從特定目錄處上傳完成以及檢查特定URL是否已經存在等。

  事實上,大家可以使用while true迴圈完成這專案標:

  在本示例中,>/dev/null 2>&1會將程式的輸出結果重新定向至/dev/null。其中包括Standard Error與Standard Out。

  這也是我個人最喜愛的Linux命令列使用技巧之一。

  3.通過記憶體使用量對程式加以排序

ps aux | sort -rnk 4: 

  4.根據CPU使用量對程式加以排序

ps aux | sort -nk 3: 

  要檢查架構,可使用:

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命令,其代表的是無結束通話:

nohup wget site.com/file.zip 

  此命令也是常被忽略的Linux命令之一,因為多數使用者會使用另一種命令式螢幕:

  其會在同一目錄中生成名為nohup.out的檔案,內裡包含當前執行程式的內容:

  很酷,對吧?

  10.自動對任意命令回覆Yes或No

  如果大家希望以自動方式對請求回覆yes,則可使用:yes | apt-get update。

  如果您希望自動回覆no,則可使用yes no | command。

  最實用的Linux命令列使用技巧彙總

  11.建立特定大小的檔案

  大家可以利用dd命令建立特定大小的檔案:

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命令將某種字元替換為另一種字元:

cat geeks.txt | tr ':[space]:' '\t' > out.txt。 

  15.將某一檔案轉換為大寫或小寫形式

  使用以下命令:

cat myfile | tr a-z A-Z > output.txt。 

  16.強大的Xargs命令

  xargs命令是Linux中最為重要的技巧之一。大家可以利用此命令將某一命令的輸出結果作為另一命令的引數。例如,大家可以搜尋PNGpng檔案並將其壓縮或者進行其它操作:

find. -name *.png -type f -print | xargs tar -cvzf images.tar.gz 

  或者,也許您在檔案中儲存了一份URL列表,並希望對其進行下載或者處理:

cat urls.txt | xargs wget 

  請注意,第一條命令的輸出結果會被傳遞至xargs命令末尾。

  如果我們需要將命令輸出結果傳遞至中間,又該如何?只需要使用{}再加上–i引數,如下所示。這時替換引數將用於指定第一條命令輸出結果的傳遞位置:

ls /etc/*.conf | xargs -i cp {} /home/likegeeks/Desktop/out 

  當然,這裡只是一部分Linux命令列使用技巧。如果大家有需要,也可以嘗試awk與sed等命令!另外,也期待您在評論中分享自己的實踐與體會。

相關文章