學習筆記(6)
2.grep abc 接受標準輸入,表示可以接受管道來對輸出進行處理
3.grep [file] file可有可無 可以沒有文件意味著接受標準輸入
Usage: grep [OPTION]... PATTERN [FILE]...
Usage: cat [OPTION]... [FILE]...
4.grep "$USER" /etc/passwd grep也可以使用變量作為pattern來查找
5.grep `whoami` /etc/passwd grep也可以使用命令替換做為pattern來查找
6.cat -n /etc/passwd | grep root 通過cat -n 的帶行號內容的輸出再進行grep搜索
7.grep -q 做是否包含判斷 -q 選項為靜默輸出,不輸出任何內容,可通過echo $?來判斷是否命令是否執行成功
8.nmap -v -sP 172.20.20.0/24 掃網段存活主機
9.grep -e 'cat' -e 'bash' /etc/passwd 多個或者關系的pattern可以使用-e 來連接
10.grep中的單詞是由數字、下劃線、字母組成的,不是通過空格分隔
11.grep -f file 中的匹配字符是或者關系 類似-e
12.通配符(pattern)是匹配文件名的內容,在有些命令使用中會有pattern的支持,正則表達式處理文本中特定的字符串(REGEXP)
13.正則表達式軟件模塊(PCRE:Perl Compatible Regular Expressions),依賴正則表達式的需要安裝該軟件包
14.單個漢字也算一個字符,所以可以通過.號來匹配
15.ls | grep ... ls管道輸出的是內容,不在是文件名,所以可以使用grep來處理
16.echo abb | grep "ax*b" 符合匹配,因為abc前的ab匹配a*b
echo abab |grep -E "(ab)*" 匹配ab組合零次或多次
17.grep -o 只顯示匹配的內容(常用),常用於取值做判斷
df |grep '/dev/sda' |grep -o " [[:digit:]]\{1,3\}%" | grep -o "[0-9]\+"|sort -nr |head -1
18.默認貪婪匹配 echo abccdd |grep "a[a-z]c" 匹配結果abcc
19.\? 出現次數為0次或1次,使用egrep(grep -E 選項可以直接使用?而不需要\來轉義)
20. .放在中括號中只是.字符不是需要匹配的單個字符,不需要\線轉譯,如:echo "1." |grep "[a-z.]\+" 匹配
21.Ctrl + k從光標處刪除至命令行尾
22.ifconfig ens33|grep -o "[0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}" |head -1
23.grep 的模式(pattern)註意要加引號,否則容易有問題
24.grep -v "^[[:space:]]*$" f1 [[:space:]]表示有tab鍵或有空格
25.grep "root\>" /etc/passwd 錨定詞尾
26.grep "\broot\b" /etc/passwd 錨定整個單詞(與grep -w 查找單詞相同)
27.grep wangwangwang |grep "\(wang\)\{3\}" 匹配整體 註意要使用轉譯字符
28.後向引用grep wangwangwangxxxxwangwangwang |grep "\(wang\)\{3\}.*\1
\1匹配的是結果,而非模式本身
29.grep "^bash.*bash$" /etc/passwd 查找出以bash開頭同時也是bash結尾的行
30.grep '^\(.*\):.*/\1$' /etc/passwd 查找首尾相同的行
31.grep "^\(a\|b\).*" /etc/passwd 查找出以a開頭或者以b開頭的行
32.echo axy |grep "\(a\|b\)xy" 查找出存在axy或者bxy的行
33.grep -o "[0-9]\+" /etc/redhat-release |head -n1 找出文本中的主版本號
34.擴展正則表達式即去掉了正則表達式中的轉義字符\,除了單詞錨定的為/<和/> 如egrep (grep -E)
35.grep -Ewo "[0-9]{2,3}" /etc/passwd 查找出文件中存在二位到三位的數字
36.grep -E = egrep
37.echo "/etc/rc.d/init.d/functions" |grep -Eo "[^/]*/?$" 取輸出內容的基名
38.vim -d file1 file2 -d選項用於比較兩個文件不同之處
39.vi編輯器 I鍵直接跳到行首,A 直接跳到行尾
40.vi 另存為 :w another file
41. !表示強制 q鍵可以直接退出,修改文件後需要q!
42.r file 讀文件, 可以r!command 讀入命令輸出
43.vi +/pattern file pattern 為正則表達式
44.%s/\(haha\)/\1er/ vim編輯器中只支持基本的正則表達式
45.%s/^UUID/#&/
46.ctrl +r 取消撤銷
47.:set ff=unix 將window文件格式的內容修改成unix文件的格式
48.vimtutor 查看vim的編輯器幫助
48.cat hellp.sh | bash 可用來遠程調用
49.curl http://192.168.30.128/hello.sh |bash 遠程調用執行
50.ls 不指定文件文件夾的情況下使用-d選項是顯示當前路徑的文件或目錄而不遞歸目錄
51.vim寄存器 3"ayy 表示復制三行到t寄存器
"ap 表示將t寄存器的內容粘貼,最多可以有26個寄存器即a-z
52.vim編輯器中使用ctrl +r 可以重做最後的撤銷更改,使用U撤銷光標落在這行後的所有的此行的更改
53.vim編輯器中使用的選擇替換使用的是基本的正則表達式,所以在使用匹配次數?和+ 號需要使用轉義字符,即 \? 和\+
學習筆記(6)