網(wǎng)站建設(shè)畢業(yè)答辯ppt模板公司網(wǎng)址有哪些
Linux基礎(chǔ)命令和工具使用詳解
- 一、grep搜索字符
- 二、find查找文件
- 三、ls 顯示文件
- 四、wc命令計(jì)算字?jǐn)?shù)
- 五、uptime機(jī)器啟動時(shí)間+負(fù)載
- 六、ulimit用戶資源
- 七、curl http
- 八、scp遠(yuǎn)程拷貝
- 九、dos2unix和unix2dos
- 十、sed 行處理
- 10.1、簡單模式
- 10.2、替換模式
- 十一、awk 列處理
- 11.1、打印某幾列
- 11.3、判斷語句
- 11.4、BEGIN 定義表頭
- 11.5、END 添加結(jié)尾符
- 11.6、數(shù)據(jù)計(jì)算
- 11.7、使用示例:網(wǎng)絡(luò)狀態(tài)統(tǒng)計(jì)
一、grep搜索字符
grep 命令用于在文件中執(zhí)行關(guān)鍵詞搜索,并顯示匹配的效果。部分常用選項(xiàng) :
- -c 僅顯示找到的行數(shù)
- -i 忽略大小寫
- -n 顯示行號
- -v 反向選擇 – 僅列出沒有關(guān)鍵詞的行。v 是 invert 的縮寫。
- -r 遞歸搜索文件目錄
- -C n 打印匹配行的前后n行
(1)在指定文件查找,查找login關(guān)鍵字:
grep battery ./shell/battery.sh
(2)在多個(gè)文件搜索的時(shí)候,可以使用通配符。比如在以 sh結(jié)尾的文件中,搜索包含battery的行:
grep battery *.sh
(3)遞歸搜索目錄下所有文件, 搜索 msg_server目錄下所有文件,打印出包含battery的行:
grep battery -r msg_server
(4)反向查找,查找文件中,不包含battery的行:
grep -v battery ImUser.cpp
(5)找出文件中包含 battery 的行,并打印出行號:
grep -n battery ./shell/battery.sh
(6)找出文件中包含 login的行,打印出行號,并顯示前后3行。
grep login -C 3 -n test.cpp
(7)找出文件中包含 login的行,打印出行號,并顯示前后3行,并忽略大小寫:
grep login -n -C 3 -i test.cpp
二、find查找文件
通過文件名查找文件的所在位置,文件名查找支持模糊匹配。
find [指定查找目錄] [查找規(guī)則] [查找完后執(zhí)行的action]
常用的操作:
find . -name FILE_NAME
find . -iname FILE_NAME #忽略文件名稱大小寫
find /etc -maxdepth 1 -name passwd ##查找/etc/下名稱中帶有passwd的文件,查找一層
find /mnt -size 20K ##查找/mnt文件大小近似20k的文件
find /mnt -size +20K ##查找/mnt文件大小大于20k的文件
find /mnt -size -20K ##查找/mnt文件大小小于20k的文件
find /etc -maxdepth 2 -mindepth 2 -name .conf ##查找/etc/下名稱中帶有.conf的文件,且只查找第二層
find /mnt -type d ##按type查找/mnt中目錄
find /mnt -type f ##按type查找/mnt中文件
find /mnt -cmin 10 ##查找/mnt中十分鐘左右修改的
find /mnt -cmin +10 ##查找/mnt中十分鐘以上修改的
find /mnt -cmin -10 ##查找/mnt中十分鐘以內(nèi)修改的
find /mnt -ctime 10 ##查找/mnt中十天左右修改的
find /mnt -ctime +10 ##查找/mnt中十天以上修改的
find /mnt -ctime -10 ##查找/mnt中十天以內(nèi)修改的
三、ls 顯示文件
參數(shù) 作用
- -t 查看最新修改時(shí)間
- -l 每行顯示一個(gè)條目
- -h 可以結(jié)合顯示文件的GB,MB等(human);
- -R 遞歸顯示
- -n 顯示組id和gid
(1)按最新修改的時(shí)間排序,新修改的在前面顯示。
ls -lt
(2)按最新修改的時(shí)間排序,新修改的在前面顯示,并顯示子目錄的文件信息 。
ls -ltR
(3)以單位顯示文件大小。
ls -lh
四、wc命令計(jì)算字?jǐn)?shù)
wc命令用于計(jì)算字?jǐn)?shù)。 利用wc指令我們可以計(jì)算文件的Byte數(shù)、字?jǐn)?shù)、或是列數(shù),若不指定文件名稱、或是所給予的文件名為"-",則wc指令會從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù)。
語法:
wc [-clw][--help][--version][文件...]
參數(shù):
- -c或–bytes或–chars:只顯示Bytes數(shù)。
- -l或–lines:只顯示行數(shù)。
- -w或–words:只顯示字?jǐn)?shù)。
- –help: 在線幫助。
- –version:顯示版本信息。
示例:
$ wc ./shell/battery.sh 125 333 3157 ./shell/battery.sh
行數(shù)為125、單詞數(shù)333、字節(jié)數(shù)3157。
五、uptime機(jī)器啟動時(shí)間+負(fù)載
查看機(jī)器的啟動時(shí)間、登錄用戶、平均負(fù)載等情況,通常用于在線上應(yīng)急或者技術(shù)攻關(guān)中,確定操作系統(tǒng)的重啟時(shí)間。
示例:
$ uptime 15:29:42 up 9 days, 5:58, 1 user, load average: 0.00, 0.00, 0.00
從上面的輸出可以看到如下信息:
- 當(dāng)前時(shí)間:15:29:42
- 系統(tǒng)已經(jīng)運(yùn)行的時(shí)間:9天5小時(shí)58分鐘。
- 前在線用戶:1個(gè)用戶,是總連接數(shù)量,不是不同用戶數(shù)量(開一個(gè)終端連接就算一個(gè)用戶)。
- 系統(tǒng)平均負(fù)載:0.00 , 0.00, 0.00,為最近1分鐘、5分鐘、15分鐘的系統(tǒng)負(fù)載情況。
系統(tǒng)的平均負(fù)載是指在特定的時(shí)間間隔內(nèi)隊(duì)列中運(yùn)行的平均進(jìn)程數(shù)。如果一個(gè)進(jìn)程滿足以條件,它就會位于運(yùn)行隊(duì)列中。
- 它沒有在等待I/O操作的結(jié)果。
- 它沒有主動進(jìn)入等待狀態(tài)(也就是沒有調(diào)用’wait’相關(guān)的系統(tǒng)API ) 。
- 沒有被停止(例如:等待終止)。
如果每個(gè)CPU內(nèi)核的當(dāng)前活動進(jìn)程數(shù)不大于3的話,那么系統(tǒng)的性能還算可以支持。
如果每個(gè)CPU內(nèi)核的任務(wù)數(shù)大于5,那么這臺機(jī)器的性能有嚴(yán)重問題。
如果你的linux主機(jī)是1個(gè)雙核CPU的話,當(dāng)Load Average 為6的時(shí)候說明機(jī)器已經(jīng)被充分使用了。
負(fù)載說明(針對單核情況,不是單核時(shí)則乘以核數(shù)):
- load<1:沒有等待
- load==1:系統(tǒng)已無額外的資源跑更多的進(jìn)程了
- load>1:進(jìn)程都堵著等待資源
注意:
- load < 0.7時(shí):系統(tǒng)很閑,要考慮多部署一些服務(wù)
- 0.7 < load < 1時(shí):系統(tǒng)狀態(tài)不錯(cuò)
- load == 1時(shí):系統(tǒng)馬上要處理不多來了,趕緊找一下原因
- load > 5時(shí):系統(tǒng)已經(jīng)非常繁忙了
不同load值說明的問題:
- 1分鐘 load >5,5分鐘 load < 3,15分鐘 load <1 ,短期內(nèi)繁忙,中長期空閑,初步判斷是一個(gè)抖動或者是擁塞前兆 。
- 1分鐘 load >5,5分鐘 load >3,15分鐘 load <1 ,短期內(nèi)繁忙,中期內(nèi)緊張,很可能是一個(gè)擁塞的開始。
- 1分鐘 load >5,5分鐘 load >5,15分鐘 load >5 ,短中長期都繁忙,系統(tǒng)正在擁塞 。
- 1分鐘 load <1,5分鐘Load >3,15分鐘 load >5 ,短期內(nèi)空閑,中長期繁忙,不用緊張,系統(tǒng)擁塞正在好轉(zhuǎn)。
補(bǔ)充:
- 查看cpu信息:cat /proc/cpuinfo 。
- 直接獲取cpu核數(shù):grep ‘model name’ /proc/cpuinfo | wc -l 。
六、ulimit用戶資源
Linux系統(tǒng)對每個(gè)登錄的用戶都限制其最大進(jìn)程數(shù)和打開的最大文件句柄數(shù)。為了提高性能,可以根據(jù)硬件資源的具體情況設(shè)置各個(gè)用戶的最大進(jìn)程數(shù)和打開的最大文件句柄數(shù)。
(1)可以用ulimit -a來顯示當(dāng)前的各種系統(tǒng)對用戶使用資源的限制:
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 31574
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1048576
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 31574
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
(2)設(shè)置用戶的最大進(jìn)程數(shù):
ulimit -u 1024
(3)設(shè)置用戶可以打開的最大文件句柄數(shù):
ulimit -n 65530
七、curl http
由于當(dāng)前的線上服務(wù)較多地使用了RESTful風(fēng)格的API,所以集成測試就需要進(jìn)行HTTP調(diào)用,查看返回的結(jié)果是否符合預(yù)期,curl命令當(dāng)然是首選的測試方法。
使用方式:
curl -i "http://www.sina.com" # 打印請求響應(yīng)頭信息
curl -I "http://www.sina.com" # 僅返回http頭
curl -v "http://www.sina.com" # 打印更多的調(diào)試信息
curl -verbose "http://www.sina.com" # 打印更多的調(diào)試信息
curl -d 'abc=def' "http://www.sina.com" # 使用post方法提交http請求
curl -sw '%{http_code}' "http://www.sina.com" # 打印http響應(yīng)碼
八、scp遠(yuǎn)程拷貝
secure copy的縮寫, scp是linux系統(tǒng)下基于ssh登陸進(jìn)行安全的遠(yuǎn)程文件拷貝命令。
scp命令是Linux系統(tǒng)中功能強(qiáng)大的文件傳輸命令,可以實(shí)現(xiàn)從本地到遠(yuǎn)程,以及從遠(yuǎn)程到本地的雙向文件傳輸,用起來非常方便,常用來在線上定位問題時(shí)將線上的一些文件下載到本地進(jìn)行詳查,或者將本地的修改上傳到服務(wù)器上。
語法:
scp [option] username@IP:filepath savepath
前提:
sudo apt-get install openssh-server
使用方式:
# 下載192.168.11.59的文件
scp fly@192.168.11.59:~/workspace/battery.sh .
# 上傳文件到122.152.222.180
scp mi9.aac fly@192.168.11.59:~/workspace/
# 下載test整個(gè)目錄到本地
scp -r fly@192.168.11.59:~/workspace/ .
# 上傳本地test整個(gè)目錄到192.168.11.59
scp -r test fly@192.168.11.59:~/workspace/
九、dos2unix和unix2dos
用于轉(zhuǎn)換Windows和UNIX的換行符,通常在Windows系統(tǒng)開發(fā)的腳本和配置,UNIX系統(tǒng)下都需要轉(zhuǎn)換。
使用方式:
dos2unix test.txt
unix2dos test.txt
#轉(zhuǎn)換整個(gè)目錄
find . -type f -exec dos2unix {} \;
find ./ -type f # 此命令是顯示當(dāng)前目錄下所有的文件
十、sed 行處理
命令格式1:
sed 's/原字符串/新字符串/' 文件
命令格式2:
sed 's/原字符串/新字符串/g' 文件
這兩種命令格式的區(qū)別在于是否有個(gè)“g”。沒有“g”表示只替換第一個(gè)匹配到的字符串,有“g”表示替換所有能匹配到的字符串,“g”可以認(rèn)為是“global”(全局的)的縮寫,沒有“全局的”結(jié)尾就不要替換全部。
sed命令是用來批量修改文本內(nèi)容的,比如批量替換配置中的某個(gè)ip。
sed命令在處理時(shí),會先讀取一行,把當(dāng)前處理的行存儲在臨時(shí)緩沖區(qū)中,處理完緩沖區(qū)中的內(nèi)容后,打印到屏幕上。然后再讀入下一行,執(zhí)行下一個(gè)循環(huán)。不斷的重復(fù),直到文件末尾。
10.1、簡單模式
一個(gè)簡單的sed命令包含三個(gè)主要部分: 參數(shù) 、 范圍 、 操作 。要操作的文件,可以直接掛在命令行的最后。
sed -n '2,5 p' filename.txt
# -n是參數(shù)
# 2,5 是范圍
# p 是操作
# filename.txt是文件
(1)參數(shù) :
-n 這個(gè)參數(shù)是 --quiet 或者 --silent 的意思。表明忽略執(zhí)行過程的輸出,只輸出我們的結(jié)果即可。
還有另外一個(gè)參數(shù) : -i 。使用此參數(shù)后,所有改動將在原文件上執(zhí)行。你的輸出將覆蓋原文件。非常危險(xiǎn),一定要注意。
(2)范圍:
2,5 表示找到文件中,2,3,4,5行的內(nèi)容。
這個(gè)范圍的指定很有靈性,比如:
5 選擇第5行。2,5 選擇2到5行,共4行。1~ 2 選擇奇數(shù)行,2~2 選擇偶數(shù)行。
范圍的選擇還可以使用正則匹配。比如:
/void/,+3 選擇出現(xiàn)void字樣的行,以及后面的三行。2^void/,/mem/選擇以void開頭的行,和出現(xiàn)mem字樣行之間的數(shù)據(jù)。
例子:
sed -n '5p' sed1.cpp
sed -n '2,5 p' sed1.cpp
sed -n '1~2 p' sed1.cpp
sed -n '2~2 p' sed1.cpp
sed -n '2,+3p' sed1.cpp
sed -n '2,$ p' sed1.cpp
sed -n '/void/,+3 p' sed1.cpp
sed -n '/^void/,/CLIENT_TYPE_FLAG_BOTH/p' sed1.cpp
sed -n '/^BroadcastPdu/,/CLIENT_TYPE_FLAG_BOTH/p' sed1.cpp
sed -n '/^void CImUserManager::BroadcastPdu/,/CLIENT_TYPE_FLAG_BOTH/p' sed1.cpp
(3)操作 :
最常用的操作就是 p ,意思就是打印。比如,以下兩個(gè)命令就是等同的:
cat file
sed -n 'p' file
除了打印,還有以下操作:
- p 對匹配內(nèi)容進(jìn)行打印。
- d 對匹配內(nèi)容進(jìn)行刪除。這個(gè)時(shí)候就要去掉 -n 參數(shù)了,思考為什么?
- w 將匹配內(nèi)容寫入到其他地方。
- a , i , c 等操作雖基本但使用少,不做介紹。
sed -n '2,5 p' sed2.cpp
sed '2,5 d' sed2.cpp
sed -n '2,5 w output.txt' sed2.cpp
10.2、替換模式
sed還有一個(gè)強(qiáng)大的替換模式,意思就是查找替換其中的某些值,并輸出結(jié)果。
使用替換模式很少使用 -n 參數(shù)。
sed '/^sys/S/a/b/g' filename
替換模式的參數(shù)有點(diǎn)多,但第一部分和第五部分都是可以省略的。替換后會將整個(gè)文本輸出出來。前半部分用來匹配一些范圍,而后半部分執(zhí)行替換的動作。
(1)范圍 :
這個(gè)范圍和上面的范圍語法類似。比如:
/sys/,+3 選擇出現(xiàn)sys字樣的行,以及后面的三行。/^sys/,/mem/ 選擇以sys開頭的行,和出現(xiàn)mem字樣行之間的數(shù)據(jù)。
示例:
sed -n '/void/,+3 s/void/int/g' sed2.cpp
sed '/^void/,/CLIENT_TYPE_FLAG_BOTH/s/ImUser/User/g' sed2.cpp
(2)命令 :
這里的命令是指s。也就是substitute的意思。 查找部分會找到要被替換的字符串。這部分可以接受純粹的字符串,也可以接受正則表達(dá)式。比如:
a 查找范圍行中的字符串 a。[a,b,c] 從范圍行里查找字符串a(chǎn)或者b或者c。
示例:
sed 's/a/b/g' file
sed 's/[a,b,c]/<&>/g' file
(3)替換 :
將替換查找匹配部分找到的內(nèi)容。 可惜的是,這部分不能使用正則。常用的就是精確替換。比如把a(bǔ)替換成b。
但也有高級功能。和java或者python的正則api類似,sed的替換同樣有 Matched Pattern 的含義,同樣可以得到Group,不深究。常用的替位符,就是 &,當(dāng)它用在替換字符串中的時(shí)候,代表的是原始的查找匹配數(shù)據(jù)。
[&] 表明將查找到的數(shù)據(jù)使用[]包圍起來?!?amp;” 表明將查找的數(shù)據(jù)使用””包圍起來。
下面這條命令,將會把文件中的每一行,使用引號包圍起來。
sed 's/.*/"&"/' file
(4)flag 參數(shù) :
這些參數(shù)可以單個(gè)使用,也可以使用多個(gè),僅介紹最常用的。
- g 默認(rèn)只匹配行中第一次出現(xiàn)的內(nèi)容,加上g,就可以全文替換了。常用。
- p 當(dāng)使用了 -n 參數(shù), p 將僅輸出匹配行內(nèi)容。
- w 和上面的w模式類似,但是它僅僅輸出有變換的行。
- i 這個(gè)參數(shù)比較重要,表示忽略大小寫。e 表示將輸出的每一行,執(zhí)行一個(gè)命令。不建議使用,可以使用xargs配合 完成這種功能。
看兩個(gè)命令的語法:
sed -n 's/a/b/gipw output.txt' file
sed 's/^/ls -la/e' file
十一、awk 列處理
awk同sed命令類似,只不過sed擅長取行,awk命令擅長取列。 ?
原理:一般是遍歷一個(gè)文件中的每一行,然后分別對文件的每一行進(jìn)行處理
用法:
awk [可選的命令行選項(xiàng)] 'BEGIN{命令 } pattern{ 命令 } END{ 命令 }' 文件名
11.1、打印某幾列
比如:
$ echo 'I do that' | awk '{print $3 $2 $1}'
thatdoI
將字符串 I do that 通過管道傳遞給awk命令,相當(dāng)于awk處理一個(gè)文件,該文件的內(nèi)容就是I do that,默認(rèn)通過空格作為分隔符(不管列之間有多少個(gè)空格都將當(dāng)作一個(gè)空格處理) I do that就分割成三列了。假如分割符號為.,可以這樣用:
$ echo '192.168.1.1' | awk -F "." '{print $2}'
168
11.2、條件過濾
awk的用法是這樣的:
awk [可選的命令行選項(xiàng)] 'BEGIN{命令 } pattern{ 命令 } END{ 命令 }' 文件名
那么pattern部分怎么用呢?示例如下:
$ cat score.txt
tom 60 60 60
kitty 90 95 87
jack 72 84 99
$ awk '$2>=90{print $0}' score.txt
kitty 90 95 87
$2>=90 表示如果當(dāng)前行的第2列的值大于90則處理當(dāng)前行,否則不處理。說白了pattern部分是用來從文件中篩選出需要處理的行進(jìn)行處理的,這部分是空的代表全部處理。pattern部分可以是任何條件表達(dá)式的判斷結(jié)果,例如>,<,==,>=,<=,!=同時(shí)還可以使用+,-,*,/運(yùn)算與條件表達(dá)式相結(jié)合的復(fù)合表達(dá)式,邏輯 &&,||,!同樣也可以使用進(jìn)來。另外pattern部分還可以使用 /正則/ 選擇需要處理的行。
11.3、判斷語句
判斷語句是寫在pattern{ 命令 }命令中的,他具備條件過濾一樣的作用,同時(shí)他也可以讓輸出更豐富。
$ awk '{if($2>=90 )print $0}' score.txt
kitty 90 95 87
$ awk '{if($2>=90 )print $1,"優(yōu)秀"; else print $1,"良好"}' score.txt
tom 良好
kitty 優(yōu)秀
jack 良好
$ awk '{if($2>=90 )print $0,"優(yōu)秀"; else print $1,"良好"}' score.txt
tom 良好
kitty 90 95 87 優(yōu)秀
jack 良好
11.4、BEGIN 定義表頭
awk [可選的命令行選項(xiàng)] 'BEGIN{命令 } pattern{ 命令 } END{ 命令 }' 文件名
示例:
$ awk 'BEGIN{print "姓名 語文 數(shù)學(xué) 英語"}{printf "%-8s%-5d%-5d%-5d\n",$1,$2,$3,$4}' score.txt
姓名 語文數(shù)學(xué)英語
tom 60 60 60
kitty 90 95 87
jack 72 84 99
要注意,例子中為了輸出格式好看,做了左對齊的操作(%-8s左對齊,寬8位),printf用法和c++類似。不僅可以用來定義表頭,還可以做一些變量初始化的工作,例如:
$ awk 'BEGIN{OFMT="%.2f";print 1.2567,12E-2}'
1.26 0.12
這里OFMT是個(gè)內(nèi)置變量,初始化數(shù)字輸出格式,保留小數(shù)點(diǎn)后兩位。
11.5、END 添加結(jié)尾符
和BEGIN用法類似
$ echo ok | awk '{print $1}END{print "end"}'
ok
end
11.6、數(shù)據(jù)計(jì)算
$ awk 'BEGIN{print "姓名 語文 數(shù)學(xué) 英語 總成績"; \
sum1=0;sum2=0;sum3=0;sumall=0} \
{printf "%5s%5d%5d%5d%5d\n",$1,$2,$3,$4,$2+$3+$4;\
sum1+=$2;sum2+=$3;sum3+=$4;sumall+=$2+$3+$4}\
END{printf "%5s%5d%5d%5d%5d\n","總成績",sum1,sum2,sum3,sumall}'\score.txt
姓名 語文 數(shù)學(xué) 英語 總成績tom 60 60 60 180
kitty 90 95 87 272jack 72 84 99 255
總成績 222 239 246 707
因?yàn)槊钐L,末尾用\符號換行。
- BEGIN體里輸出表頭,并給四個(gè)變量初始化0。
- pattern體里輸出每一行,并累加運(yùn)算。
- END體里輸出總統(tǒng)計(jì)結(jié)果 當(dāng)然了,一個(gè)正常人在用linux命令的時(shí)候是不會輸入那么多格式化符號來對齊的,所以新命令又來了 column -t。
11.7、使用示例:網(wǎng)絡(luò)狀態(tài)統(tǒng)計(jì)
采用awk統(tǒng)計(jì)netstat命令的一些網(wǎng)絡(luò)狀態(tài),來看一下awk語言的基本要素。netstat命令的執(zhí)行后顯示的結(jié)果在第6列標(biāo)明了網(wǎng)絡(luò)連接所處于的網(wǎng)絡(luò)狀態(tài)。awk命令看一下統(tǒng)計(jì)結(jié)果。
netstat -ant |
awk ' \BEGIN{print "State","Count" } \/^tcp/ \{ rt[$6]++ } \END{ for(i in rt){print i,rt[i]} }'
netstat -ant |
awk ' \BEGIN{print "State","Count" } \/^tcp/ \{ if($4=="0.0.0.0:3306" ) rt[$6]++ } \END{ for(i in rt){print i,rt[i]} }'
輸出結(jié)果:
State Count
LAST_ACK 1
LISTEN 64
CLOSE_WAIT 43
ESTABLISHED 719
SYN_SENT 5
TIME_WAIT 146
awk和通常的程序不太一樣,它分為四個(gè)部分:
- BEGIN 開頭部分,可選的。用來設(shè)置一些參數(shù),輸出一些表頭,定義一些變量等。上面的命令僅打印了一行信息而已。
- END 結(jié)尾部分,可選的。用來計(jì)算一些匯總邏輯,或者輸出這些內(nèi)容。上面的命令,使用簡單的for循環(huán),輸出了數(shù)組rt中的內(nèi)容。
- Pattern 匹配部分,依然可選。用來匹配一些需要處理的行。上面的命令,只匹配tcp開頭的行,其他的不進(jìn)入處理。
- Action 模塊。主要邏輯體,按行處理,統(tǒng)計(jì)打印,都可以。
注意:
- awk的主程序部分使用單引號‘包圍,而不能是雙引號。
- awk的列開始的index是0,而不是1。
更多的詳細(xì)內(nèi)容