特殊字符:
#! 開始的標誌
; 多個命令一起連用的分隔符
[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
shell 學習筆記整理(二)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
c++ return語句
好事多磨啊
2019-02-23 00:36:41
java中Collections.sort() 排序函數的兩種用法
SQL初學菜鳥
2019-02-23 00:04:42
grep、正則表達式和擴展正則表達式的理解及運用
shang61511
2019-02-23 14:04:46
sed及grep用法詳解
cc532321437
2019-02-23 13:37:43
Linux Linux grep命令用法以及正則表達
qq_tang
2019-02-23 13:27:08
正則表達式及grep過濾工具的簡單介紹
596433405
2019-02-23 13:17:49
grep、egrep及相應的正則表達式和用法
maoyu099236
2019-02-23 00:40:27
grep 命令詳解及相關事例
huanjie6
2019-02-23 00:29:24
find用法
qqtthappygo
2019-02-22 23:57:42
十一、shell中的連接符,grep egrep 命令與正則表達式
Linux張震
2019-02-22 23:53:19