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 :讓腳本進入一個條件總為真的循環中,也就是製造一個死循環,將裡邊的命令一遍遍地重複運行。
  • dodowhile語句中的關鍵字,它之後的命令會被執行,在它後邊可以放置一個或一系列命令。
  • date >> date.txt :運行date命令,並將其輸出寫入到data.txt文件中。注意我們使用>>,而不是>
  • >> :對文件(date.txt)進行追加寫的操作,這樣每次運行命令後,輸出內容會被追加到文件中。如果使用>的話,則會一遍遍地覆蓋之前的內容。
  • sleep 5 :讓腳本處於5秒睡眠狀態,然後再運行之後的命令。注意這裡的時間單位只能用秒。也就是說如果你想讓命令每6分鐘運行一次,你應該使用sleep 360
  • donewhile循環語句塊結束的標記。
  • & :將整個進程放到後台運行。

類似地,我們可以這樣運行任何腳本。下邊的例子是每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目錄,然後列出文件內容,最後又回到了當前目錄。並且它證明了命令成功執行了。你可以在括弧中包含任何命令,執行完都會順利返回到當前目錄。

這就是全部內容了,如果你知道任何類似的Linux技巧,你可以在文章下面的評論框中分享給我們,不要忘記將本文和朋友分享 🙂

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

作者:Avishek Kumar 譯者:goreliu 校對:wxy

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國