Shell的五個小應用(轉)

ba發表於2007-08-10
Shell的五個小應用(轉)[@more@]Shell是Linux基礎中的基礎。使用者也許知道類似“ls”、“cp”等這些Shell命令的用法,但是不知嘗試過沒有Shell其它更為有趣、有用的用法呢?現在給大家展示幾個。

巧用watch命令

在Linux中, Shell命令“watch”的作用是以全屏方式重複地執行指定的命令。使用者可以透過它瞭解命令的執行情況。例如使用者如果想實時觀察記憶體變化,那麼可以輸入如下命令:
#watch free

這樣就可以動態地觀察記憶體中各個指標在某段時間內的變化情況了。

如果使用者要觀察虛擬記憶體的變化, 而不想耽誤當前終端的操作,那麼可以透過開啟另外一個終端達到這個目的。命令如下:
#xterm -e watch -n 1 vmstat &

這樣就會彈出一個終端串列埠顯示有關虛擬記憶體的情況。

刪除文中空行

在Linux下,使用者如果想刪除檔案中的空行,一般使用“grep”,這裡給出另外的幾種方式:

1.使用“cat”命令,示例如下:
#cat 20041116131021.htm|tr -s ‘ ’

2.使用“sed”命令,示例如下:
#sed ‘/^$/d’ 20041116131021.htm

3.使用“awk”工具,示例如下:
#awk ‘{if($0!=“”)print}’ 20041116131021.htm

捕獲終端螢幕

“script”是一個Shell內建命令。它的作用是為終端會話製作一個副本,把使用者的輸入/輸出資訊以檔案的形式儲存下來。下面以筆者的應用做個例子:

#script
Script started, file is outputfile //輸出檔案是outputfile
#ls -l /
……
#exit //用exit結束捕獲
Script done, file is outputfile //輸出的結果放在outputfile中
#cat outputfile
……



這裡僅舉例說明“script”命令的用法,以上是將瀏覽根目錄會話儲存在outputfile檔案中。

開啟鍵盤數字燈

很多Linux使用者特別希望在系統啟動的時候能自動將小鍵盤上的數字燈開啟。雖然是個小的動作,但是方便了不少。而且對於原來使用Windows的使用者來說,感覺Linux在細節上也到位。下面就是一段設定小鍵盤數字燈的指令碼:

INITTY=/dev/tty[1-8]
for tty in $INITTY
do
setleds -D +num < $tty
done



把它放在/etc/rc.d/rc.local檔案中即可。在字元模式下,可以輸入下面的命令完成:
#setleds -D +num/+caps/+scroll

使用者輸入檢測

有時需要對使用者的輸入作一些必要的檢測,如限制輸入的長度和型別等。下面舉例要求使用者必須輸入六個數字,如果輸入有非數字字元,或者長度不等於六個,就提示錯誤資訊。指令碼原始碼如下:

#!/bin/csh
while true
do
echo -n “請輸入六個數字:”
read num
lengh=${#num} #變數lengh存放輸入的長度
if [[ $num != [0-9][0-9][0-9][0-9] || $lengh != 6 ]] then
echo “錯誤! 請重新輸入”
continue
else
echo “輸入正確!”
exit 0
fi
done



小結

Shell的用法還遠不止這些,Shell命令、Shell程式設計都是Linux使用者應該掌握的基礎知識。使用者在熟悉了Shell的基本命令和語法結構後,根據需要、善加運用就可讓Shell煥發無窮魅力,為工作和學習帶來無限樂趣。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-941648/,如需轉載,請註明出處,否則將追究法律責任。

相關文章