linux學習:常用shell語句

一、正則表達式的使用

cd /usr/share/dict

1、找出words文件下所有以a開頭t結尾的單詞

egrep "^a.*t$" words

2、匹配以abcde開頭,以at結尾的單詞

egrep "\<[abcde]at\>" words

3、以大寫字母開頭,以t結尾

egrep "^[[:upper:]]t$" words

二、管道的使用

egrep "^a.*t$" words|wc -w

三、cut命令

假設文件city:

Beijing 010

Shanghai 021

Tianjin 022

Hangzhou 0571

1、cut -c 3-6 city

則顯示:

ijin

angh

anji

ngzh

2、cut -f1 city(f參數用於指定要輸出的文本列)

則顯示:

Beijing

Shanghai

Tianjin

Hangzhou

四、sort命令

1、sort city(默認第一列排序)

Beijing 010

Hangzhou 0571

Shanghai 021

Tianjin 022

2、sort -r city(反序排列)

3、sort -k 2 city(按第二列排列)

Beijing 010

Shanghai 021

Tianjin 022

Hangzhou 0571

五、uniq命令(刪除重複行)

sort city|uniq

六、tr命令(替換)

1、將大寫字母BHS替換爲小寫,並重定向到city文件

tr “BHS” "bhs"<city

2、將Bei替換爲x** 

tr "Bei" "x*" <city

3、刪除所有e和i字符

tr --delete "ei"

七、wc命令

wc city

則顯示:

6 12 79 city

多少行|多少個單詞|多少個字節|文件名

wc -c city(只顯示字節)

wc -l city (只顯示行數)

wc -L city(只顯示最長的行)

八、substr命令

expr substr "Hello world" 1 5

則顯示:Hello

九、seq命令(產生一個整數數列)

十、環境變量

查看:printenv

追加環境變量:Path=$PATH:/home/starcuan








附:一個簡單的shell編程實例,

color(){
case $1 in
black_green)
echo -e "\033[40;32m"
;;
black_yellow)
echo -e "\033[40;33m"
;;
black_white)
echo -e "\033[40;37m"
;;
black_purple)
echo -e "\033[40;35m"
;;
black_blue)
echo -e "\033[40;34m"
;;
esac
}
clear
trap "" 1 2 3
mday=`date +%Y/%m/%d`
mhost=`hostname`
mwho=`whoami`
while :
do
cat<<mmenu
---------------------------------------
$mwho       $mhost      $mday
---------------------------------------
    1:改變字體顏色
    2:查看進程信息
    3:查看用戶信息
    h:幫助
    Q:退出
---------------------------------------
mmenu
echo -e -n "\tEnter Your Choice[1,2,3,h,q]:"
read Cho
case $Cho in
1)
while :
do
cat <<kcol
-----------------------------------------------
$mwho       $mhost      $mday
-----------------------------------------------
1:黑綠    2:黑黃    3:黑白    4:黑紫    5:黑藍    0:返回
-----------------------------------------------
kcol
echo -e -n "\t 請輸入選擇的顏色[1,2,3,4,5]:"
read choice
    if [ $choice = 1 ]
    then
    color black_green
    elif [ $choice = 2 ]
    then
    color black_yellow
    elif [ $choice = 3 ]
    then
    color black_white
    elif [ $choice = 4 ]
    then
    color black_purple
    elif [ $choice = 5 ]
    then
    color black_blue
    elif [ $choice = 0 ]
    then
    break
    else
    clear
    continue
    fi
clear
done
;;
2)
ps aux|sort -m|head -10
echo -e -n "\t按任意鍵繼續"
read J
;;
3)
who
echo -e -n "\t按任意鍵繼續"
read J
;;
H|h)
cat <<mmenu
    選擇改變顏色可以修改當前界面的字體顏色
    選擇查看進程信息可以獲取當前佔用資源最高的前10個進程
    選擇查看用戶可以獲取當前登錄系統的用戶信息
mmenu
;;
Q|q)
exit   0
;;
*)
clear
continue
;;
esac
 
clear
done


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章