Linux 使用者的 3 個命令列小技巧
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評測,上述的單行指令碼也管用。
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技巧,你可以在文章下面的評論框中分享給我們,不要忘記將本文和朋友分享!
相關文章
- Linux 命令列工具使用小貼士及技巧(3)Linux命令列
- 你值得了解的 10 個有趣的 Linux 命令列小技巧Linux命令列
- 20個有用的linux命令列技巧Linux命令列
- 每個Linux使用者都應該知道的命令列技巧Linux命令列
- Linux 命令列小技巧 – !歎號的用處Linux命令列
- 六個優雅的 Linux 命令列技巧Linux命令列
- 5個經典有趣的 Linux 命令列技巧Linux命令列
- 給新手的 10 個有用 Linux 命令列技巧Linux命令列
- 每個Linux使用者都應該瞭解的命令列省時技巧Linux命令列
- Linux 命令列工具使用小貼士及技巧(1)Linux命令列
- Linux 命令列工具使用小貼士及技巧(4)Linux命令列
- Linux 命令列工具使用小貼士及技巧(四)Linux命令列
- Linux 命令列工具使用小貼士及技巧(2)Linux命令列
- 實用的Linux命令列技巧Linux命令列
- Linux小技巧scp命令Linux
- Linux命令列中幾個使用history相關的技巧Linux命令列
- Linux命令技巧之30個必會的命令技巧Linux
- 生信小技巧:實用的命令(3)
- Linux命令列六大技巧Linux命令列
- 最實用的 Linux 命令列使用技巧Linux命令列
- 最有用的Linux命令列使用技巧集錦Linux命令列
- Linux 常見命令小技巧集錦Linux
- 良許 | 從命令列同時移動多個檔案型別的小技巧命令列型別
- IDEA小技巧:Markdown裡的命令列可以直接執行了Idea命令列
- Mac使用者必備的25個小技巧Mac
- 最實用的Linux命令列使用技巧彙總Linux命令列
- 最實用的 Linux 命令列使用技巧彙總Linux命令列
- Linux使用者應知應會的7個‘ls’命令的獨特技巧Linux
- 20個 Unix/Linux 命令技巧薦Linux
- 三個快速便捷的命令列小貼士命令列
- Linux 桌面的 4 個小技巧Linux
- 在 Linux 命令列中使用 ls 列出檔案的技巧Linux命令列
- Linux中10個有用的命令列補齊命令Linux命令列
- Linux 系統中 sudo 命令的 10 個技巧Linux
- 處理 Linux 檔案的 3 個技巧Linux
- Linux 命令列:find 的 26 個用法示例Linux命令列
- Linux命令技巧Linux
- 高效Linux使用者需要了解的命令列技能Linux命令列