Linux世界充滿了樂趣,咱們越深刻進去,就會發現越多有趣的事物。咱們會努力給你提供一些小技巧,讓你和其餘人有所不一樣,下面就是咱們準備的3個小技巧。linux
1. 如何在不使用Cron的狀況調度Linux下的任務web
在Linux下,調度一個任務/命令稱之爲Cron。當咱們須要調度一個任務時,咱們會使用Cron,但你知道咱們在不使用Cron的狀況也能夠調度一個在未來時間運行的任務嗎?你能夠按照以下建議操做……工具
每5秒鐘運行一個命令(date)而後將結果寫入到一個文件(data.txt)。爲了實現這一點,咱們能夠直接在命令提示符運行以下單行腳本。測試
$ while true; do date 》 date.txt ; sleep 5 ; done &spa
上述腳本的解釋:翻譯
while true :讓腳本進入一個條件總爲真的循環中,也就是製造一個死循環,將裏邊的命令一遍遍地重複運行。orm
do :do是while語句中的關鍵字,它以後的命令會被執行,在它後邊能夠放置一個或一系列命令。進程
date 》 date.txt :運行date命令,並將其輸出寫入到data.txt文件中。注意咱們使用》,而不是>。ip
》 :對文件(date.txt)進行追加寫的操做,這樣每次運行命令後,輸出內容會被追加到文件中。若是使用>的話,則會一遍遍地覆蓋以前的內容。it
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中國 榮譽推出