提取指定文件到指定目錄/文件 語法:tar xvf test.tar test1(只提取test.tar 包中的test1文件到當前路徑) 語法:tar xvf test.tar test1 -C /opt/test (只提取test.tar 包中的test1文件到路徑/opt/test ) 管道符 ...
提取指定文件到指定目錄/文件
語法:tar xvf test.tar test1(只提取test.tar 包中的test1文件到當前路徑)
語法:tar xvf test.tar test1 -C /opt/test (只提取test.tar 包中的test1文件到路徑/opt/test )
管道符
字元:|。這就是管道符。作用有兩個:
1、承上啟下:把上一個指令的輸出作為下一個指令的輸入來執行。
2、搭配grep字元實現過濾功能。
[root@localhost tmp]# B-l /etc/ | more
[root@localhost tmp]# ps -aux | grep cron
[root@localhost tmp]# ps -aux | grep cron > abc
常用的通配符
使用語法: grep -E '通配符+字元' 文件名
*: 匹配任意多個字元
?:匹配任意一個字元
匹配括弧內出現的任意一個字元[abcd....] 或[a-z]
不匹配括弧內出現的任意一個字元[!adcd....]
正則表達式
字元匹配
".":匹配任意單個字元
"*":匹配其前面一個字元出現任意次·
?:匹配其前面的字元1次或0次
+:匹配其前面一個字元出現至少一次(在擴展正則表達式中)
位置匹配
^:錨定行首.
$:錨定行尾
"\ <"或"\b":錨定詞首,其後面的任意字元必須作為單詞首部出現·
\ >或\b:錨定詞尾,其前面的任意字元必須作為單詞尾部出現.
\B:非單詞的開頭或結尾
^$:空白行
:通常用於打開或關閉後續字元的特殊含義
分組()∶
(ab)*:匹配ab這個分組出現任意次
\1:引用第一個左邊以及與之對應的右邊所包括的所有內容,同理還有\2,\3
特殊子字元類
語法:grep -E '[特殊字元]' 文件名
(1) [:alnum:] ﹔任何字母和數字
(2)[:alpha:]:任何字母
(3)[:cntrl:]。控制字元.在ASCII表中對應八進位0000 到037,和177("DEL').
(4)[:digit:]:任何數字
(5) [:graph:]:匹配列印字元,相當於"[:alnum:]" +'[:punct;]".
(6)[:lower:] :小寫字母
(7)[:print:],可列印字元,相當於'[:alnum:]", '[:punct:]",和space.
(8) [:punct;]標點符號,"1”#$ %&'〔)*+,./ : ;<=> ?@[1 ]^_'{l}''~
(9) [:space:]空白字元,tab,newline, verticaltab, form feed, carriage returm, and space.
(10)[:upper:]大寫字母
(11)[:xdigit:]任何16進位的數字,相當於[0-9a-fA-F]
sed查找
sed命令基礎用法
1.在指定行前面新增一行內容: i
ex: sed[行號]i[內容]文件名
例如:為第一行前面新增內容:abcd
sed 1iabcd test.txt
2.在指定行後面新增一行內容:a
ex: sed [行號]a[內容]文件名
例如:為第一行後面新增內容:abcd
sed 1aabcd test.txt
3.刪除指定行: d
ex單行: sed [行號]d 文件名
例如:刪除第一行的內容
sed 1d test.txt
ex多行: sed[行號,行號]d文件名
例如:刪除1,2行的內容
sed 1,2d test.txt
4.列印指定行:p
ex: sed [參數] [行號]p 文件名
例如:列印test.txt第1行
sed 1p test.txt
列印多行ex:sed [行號,行號]p 文件名
例如:列印test.txt第1行到3行
sed 1,3p test.txt
5.列印指定內容:p
ex: sed [參數]/要列印的內容/p 文件名
例如:列印hello到文件test.txt
sed /hello/p test.txt
6.替換指定內容:s
ex: sed s/要替換的內容/新內容/[g]文件名 (加上g表示替換所有,不加上g表示只替換查找到的第一處)
例如:在test.txt中把hello替換成HELLO
sed s/hello/HELLO/g test.txt