[譯] Linux 使用者的 3 個命令列小技巧,linux小技巧

來源:互聯網
上載者:User

[譯] Linux 使用者的 3 個命令列小技巧,linux小技巧

  Linux世界充滿了樂趣,我們越深入進去,就會發現越多有趣的事物。我們會努力給你提供一些小技巧,讓你和其他人有所不同,下面就是我們準備的3個小技巧。

 

  1. 如何在不使用Cron的情況調度Linux下的任務

 

  在Linux下,調度一個任務/命令稱之為Cron。當我們需要調度一個任務時,我們會使用Cron,但你知道我們在不使用Cron的情況也可以調度一個在將來時間啟動並執行任務嗎?你可以按照如下建議操作……

 

  每5秒鐘運行一個命令(date)然後將結果寫入到一個檔案(data.txt)。為了實現這一點,我們可以直接在命令提示字元運行如下單行指令碼。

 

  $ while true; do date 》 date.txt ; sleep 5 ; done &

 

  上述指令碼的解釋:

 

  while true :讓指令碼進入一個條件總為真的迴圈中,也就是製造一個死迴圈,將裡邊的命令一遍遍地重複運行。

 

  do :do是while語句中的關鍵字,它之後的命令會被執行,在它後邊可以放置一個或一系列命令。

 

  date 》 date.txt :運行date命令,並將其輸出寫入到data.txt檔案中。注意我們使用》,而不是>。

 

  》 :對檔案(date.txt)進行追加寫的操作,這樣每次運行命令後,輸出內容會被追加到檔案中。如果使用>的話,則會一遍遍地覆蓋之前的內容。

 

  sleep 5 :讓指令碼處於5秒睡眠狀態,然後再運行之後的命令。注意這裡的時間單位只能用秒。也就是說如果你想讓命令每6分鐘運行一次,你應該使用sleep 360。

 

  done :while迴圈語句塊結束的標記。

 

  & :將整個進程放到後台運行。

 

  類似地,我們可以這樣運行任何指令碼。下邊的例子是每100秒運行一個名為script_name.sh的指令碼。

 

  另外值得一提的是上面提到的指令檔必須處於目前的目錄中,否則需要使用完整路徑(/home/$USER/…/script_name.sh)。實現如上功能的單行指令碼如下:

 

  $ while true; do /bin/sh script_name.sh ; sleep 100 ; done &

 

  總結:上述的單行指令碼並不是Cron的替代品,因為Cron工具支援眾多選項,更加靈活,可定製性也更高。然而如果我們想運行某些測試,比如I/O評測,上述的單行指令碼也管用。

 

  還可以參考:Linux 下 11 個定時調度任務例子

 

  2. 如何不使用clear命令清空終端的內容

 

  你如何清空終端的內容?你可能會認為這是一個傻問題。好吧,大家都清楚可以使用clear命令。如果養成使用ctrl + l快速鍵的習慣,我們會節省大量時間。

 

  Ctrl + l快速鍵的效果和clear命令一樣。所以下一次你就可以使用ctrl + l來清空終端的內容了。

 

  總結:因為ctrl + l是一個快速鍵,我們不可以在指令碼中使用。所以如果我們需要在指令碼中清空螢幕內容,還是需要使用clear命令。但我能想到的所有其他情況,ctrl + l都更加有效。

 

  3. 在其它目錄運行一個命令,然後自動返回當前工作目錄

 

  這是一個很多人可能不知道的令人吃驚的技巧。你可能想在其它目錄運行任何一個命令,然後再回到目前的目錄。要實現這樣的目的,你只需要將命令放在一個圓括弧裡。

 

  我們來看一個例子:

 

  avi@deb:~$ (cd /home/avi/Downloads/)

 

  樣本輸出:

 

  avi@deb:~

 

  它首先會cd到Downloads目錄,然後又回到了之前的家目錄。也許你認為裡邊的命令根本沒有執行,或者是出了某種錯誤,因為從命令提示字元看不出任何變化。讓我們簡單修改一下這個命令:

 

  avi@deb:~$ (cd /home/avi/Downloads/ && ls -l)

 

  樣本輸出:

 

  -rw-r----- 1 avi avi 54272 May 3 18:37 text1.txt -rw-r----- 1 avi avi 54272 May 3 18:37 text2.txt -rw-r----- 1 avi avi 54272 May 3 18:37 text3.txt avi@deb:~$

 

  在上述命令中,它首先進入Downloads目錄,然後列出檔案內容,最後又回到了目前的目錄。並且它證明了命令成功執行了。你可以在括弧中包含任何命令,執行完都會順利返回到目前的目錄。

 

  via: http://www.tecmint.com/useful-linux-hacks-commands/

 

  作者:Avishek Kumar

 

  譯者:goreliu

 

  校對:wxy

 

  本文由 LCTT 原創翻譯,Linux中國 榮譽推出

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.