shell 學習筆記整理(二)

特殊字符:
    #! 開始的標誌
    ;  多個命令一起連用的分隔符
    [root@swallow log]# echo a;echo b;echo c
    a
    b
    c
    .  多種作用:
        1. 相當與 source 命令
        2. 作爲文件名稱的一部分(隱藏文件名)  (使用ls -a  可以查看linux下面的隱藏文件)
        3.如果作爲目錄名的話,一個單獨的點代表當前工作目錄,兩個點代表上一級目錄。
            一般用於複製的時候使用   $ cp  /usr/local/mysql/* .
        4.在匹配字符的時候用來匹配 任意單個字符
    \ 稱爲轉義符。一種對單字符的引用機制。
    / 文件名稱分隔符  比如 (/usr/local/mysql)
    ``(esc按鍵下面的那個按鍵) 用於引用命令。一般用法:`command` 將結果作爲參數。
    >  >>  |
    覆蓋(重定向) 追加(重定向) 管道符(前面的輸入作爲和麪的輸出)

控制字符:(適用於CRT(連接終端))
    ctrl + L  清屏
    ctrl + U 刪除光標到開頭的字符
    ctrl + K 刪除光標所在位置到行尾的字符
    ctrl + C (break 終結一個前臺作業)
    ctrl + D (和 exit很想。登出一個)
    ctrl + M (回車)
    ctrl + S (掛起。在一個終端中凍結stdin)
    ctrl + Q (恢復。在一個終端恢復stdin
    ctrl + Z (暫停操作)
    ctrl + a (光標移動到行首)
    ctrl + e (光標移動到行尾)
變量和參數
    單引號  雙引號  $ 的區別例子:
    [root@swallow ~]# hello="A B  C   D"
    [root@swallow ~]# echo $hello
    A B C D
    [root@swallow ~]# echo "$hello"
    A B  C   D
    [root@swallow ~]# echo '$hello'
    $hello
正則表達式:
    grep 命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,把匹配的行打印處理。
    格式:
        grep [選項][模式][文件]
    案例文本:
     [root@swallow ~]# more test1
    test abc iiveylinux
    iivey wwwixdbanetiiveylinux
    iivey ydlinux
    iivey sdglinux
    csdnwwk
    rrrrr

    ixdba best job
    iiiivey test
    myshell is ok
    yyyy 1998
    MYSHELL IS OK   
    常見用法:
        如果搜索一個單詞比如 iivey則顯示整行。
        [root@swallow ~]# grep iivey test1
test abc iiveylinux
iivey wwwixdbanetiiveylinux
iivey ydlinux
iivey sdglinux
iiiivey test
        -w  選項是匹配單詞的 比較一下加入的-w參數的區別
       [root@swallow ~]# grep -w iivey test1
iivey wwwixdbanetiiveylinux
iivey ydlinux
iivey sdglinux
        很明顯  iiiivey test 這行不符合就沒有顯示了。
        -v 選項是反選,就是取出你不喜歡的東西。一般用於配置文件的過濾取出空行和#或;及$等註釋的符號
        [root@swallow ~]# grep -v iivey test1
csdnwwk
rrrrr

ixdba best job
yyyy 1998
MYSHELL IS OK
        -E 選項啓動擴展正則的作用。grep -E 相當於 egrep
            $ grep -vE "^$|#"
            $ egrep -v "^$|#"
        --color=auto  這個長選項 是給匹配模式的內容添加顏色,方便查看
        -o 選項 只輸出匹配到的部分
        [root@swallow ~]# grep -o yyyy test1 --color=auto
        yyyy
        -c 選項 統計匹配到的總行數
[root@swallow ~]# grep -c iivey test1
5
[root@swallow ~]# grep iivey test1
test abc iiveylinux
iivey wwwixdbanetiiveylinux
iivey ydlinux
iivey sdglinux
iiiivey test
        -n 顯示匹配到的行號
        [root@swallow ~]# grep -n iivey test1 --color=auto
1:test abc iiveylinux
2:iivey wwwixdbanetiiveylinux
3:iivey ydlinux
4:iivey sdglinux
9:iiiivey test
        -b 打印匹配到字符偏移的位數(shell從0位開始)一般都是和 -O 選項一起使用
        [root@swallow ~]# grep -b abc test1
0:test abc iiveylinux
[root@swallow ~]# grep -b -o abc test1
5:abc
        -r 在多級目錄中對文本進行遞歸搜索。(.代表本級目錄)
        [root@swallow ~]# grep iivey . -rn --color=auto
./test1:1:test abc iiveylinux
./test1:2:iivey wwwixdbanetiiveylinux
./test1:3:iivey ydlinux
./test1:4:iivey sdglinux
./test1:9:iiiivey test
        -i  忽略大小寫
        [root@swallow ~]# grep -i myshell test1 --color=auto
myshell is ok
MYSHELL IS OK
        -e 多種匹配樣式
        [root@swallow ~]# grep -i -e "myshell" -e "iivey" -n test1 --color=auto
1:test abc iiveylinux
2:iivey wwwixdbanetiiveylinux
3:iivey ydlinux
4:iivey sdglinux
9:iiiivey test
10:myshell is ok
12:MYSHELL IS OK
        -A num 匹配某個結果之後的指定行數的內容
        -B num 匹配某個結果之前的指定行數的內容
        -C num 匹配某個結果前後的指定行數的內容

[root@swallow ~]# grep myshell -n -A 2 test1
10:myshell is ok
11-yyyy 1998
12-MYSHELL IS OK
[root@swallow ~]# grep myshell -n -B 2 test1
8-ixdba best job
9-iiiivey test
10:myshell is ok
[root@swallow ~]# grep myshell -n -C 2 test1 --color=auto
8-ixdba best job
9-iiiivey test
10:myshell is ok
11-yyyy 1998
12-MYSHELL IS OK
        如果匹配結果有多個會用“--” 作爲分隔符
        [root@swallow ~]# grep iivey -A 1 test1 --color=auto
test abc iiveylinux
iivey wwwixdbanetiiveylinux
iivey ydlinux
iivey sdglinux
csdnwwk
--
iiiivey test
myshell is ok
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章