基礎命令講完 (grep sed awk)
命令所在的絕對路徑在哪?(指令碼時,碰到環境不同,使用相對路徑執行會報錯,可以使用絕對命令)
2)字元處理類? 統計( 分析檔案中哪行內容出現的次數最多,取前3名)
sort uniq wc cut sed awk
3)練習:如何提取自己的ip位址
檔案命令查詢
#which ls #查詢ls 命令的絕對路徑
whereis ls #查詢命令的路徑,幫助手冊/等
whereis -b ls #僅顯示命令所在的路徑
type -a ls #檢視命令的絕對路徑(包括別名)
sort
管道:將左邊命令的輸出結果,交給管道右邊的命令
[root@juw5207 ~]# cat >> file.txt c:2a:4
e:5d:1
f:11
eof[root@juw5207 ~]# cat file.txt
b:3c:2
a:4e:5
d:1f:11
[root@juw5207 ~]# sort file.txt
a:4b:3
c:2d:1
e:5f:11
[root@juw5207 ~]# sort -t":" -k2 file.txt
d:1f:11
c:2b:3
a:4e:5
[root@juw5207 ~]# sort -t":" -k2 -n file.txt
d:1c:2
b:3a:4
e:5f:11
[root@juw5207 ~]# sort -t 「:」 -k2 -n -r file.txt
f:11
e:5a:4
b:3c:2
d:1[root@juw5207 ~]# sort -t":" -k2 -n -r file.txt | head -3
f:11
e:5a:4
[root@juw5207 ~]# cat >> file2.txt <[root@juw5207 ~]# sort -t":" -k2 -n -r file2.txt
oldli:30
oldxu:20
oldguo:10
oldboy:0
[root@juw5207 ~]#
[root@juw5207 ~]# sort -t":" -k2 -n -r file2.txt | head -3
oldli:30
oldxu:20
oldguo:10
#uniq 去重
先派序,再去重
[root@juw5207 ~]# cat >>file3.txt 123abc
123eof
[root@juw5207 ~]# sort file3.txt
123123
abcabc
[root@juw5207 ~]# sort file3.txt | uniq
123abc
[root@juw5207 ~]# sort file3.txt | uniq -c
2 123
2 abc
[root@juw5207 ~]#
每個命令能做的事情都很單一,所以需要使用,管道技術,將命令與命令之間連線起來,能做的事情是無限的
[root@juw5207 ~]# cat >>ip2.txt<#cut
#選項:
-d 指定分隔符
-f 數字,取第幾列 –f3,6三列和6列
-c 按字元取(空格也算)
[root@juw5207 ~]# echo 「im oldxu, is qq 552408925」 > oldboy.txt
[root@juw5207 ~]# cut -d " " -f 2,5 oldboy.txt
oldxu, 552408925
[root@juw5207 ~]# cut -d " " -f 2,5 oldboy.txt | sed 『s#,##g』
oldxu 552408925
[root@juw5207 ~]# awk 『』 oldboy.txt
oldxu, 552408925
[root@juw5207 ~]# awk 『』 oldboy.txt | sed 『s#,##g』
oldxu 552408925
[root@juw5207 ~]# awk -f 「,」 『』 oldboy.txt
im oldxu is qq 552408925
[root@juw5207 ~]# awk -f 「,」 『』 oldboy.txt | awk 『』
oldxu 552408925
[root@juw5207 ~]# awk -f 「[ ,]」 『』 oldboy.txt
oldxu 552408925
[root@juw5207 ~]# awk -f 「[ ,]+」 『』 oldboy.txt
oldxu 552408925
高階用法
[ ,]+ +表示重複 前面的字元一次或多次
空格算乙個分隔符
逗號算乙個分隔符
空格和逗號挨在一起,也算乙個分隔符
空格逗號空格,全算乙個分隔符
[root@oldboy ~]# #awk -f 『』 「{}」
[root@oldboy ~]# #sed 『s###g』
[root@oldboy ~]# #grep 「」
[root@oldboy ~]# #awk -f 『』 『{}』
[root@oldboy ~]# #sed 『s###g』
[root@oldboy ~]# #grep 『』
都可以wc [option]… [file]…
#選項:
-l顯示檔案行數
-c顯示檔案位元組
-w顯示檔案單詞
[root@juw5207 ~]# wc -l /etc/services
11176 /etc/services
[root@juw5207 ~]# cat -n /etc/services | tail -1 |awk 『』
11176
練習題: 過濾出/etc/passwd以nologin結尾的內容,並統計有多少行
過濾: grep /etc/passwd
條件: nologin結尾的
並且:統計出現的內容總共有多少行: wc -l
[root@juw5207 ~]# grep 「nologin$」 /etc/passwd | wc -l
14[root@juw5207 ~]#
習題: 分析如下日誌,統計每個網域名稱被訪問的次數。
[root@student tmp]# cat >>web.log<>web.log<
eof[root@juw5207 ~]# awk -f 『/』 『』 web.log | sort | uniq -c
1 ***.xuliangwei.com
2 post.xuliangwei.com
3 www.xuliangwei.com
[root@juw5207 ~]# awk -f 『/』 『』 web.log | sort | uniq -c | sort -nr
3 www.xuliangwei.com
2 post.xuliangwei.com
1 ***.xuliangwei.com
檔案查詢命令
iname filename 表明在匹配不區分大小寫 regex pattern 基於正規表示式實現檔名匹配 user username 進行使用者查詢 group groupname 按照組進行查詢 uid uidname 按照uid進行查詢,因為乙個使用者刪除之後,不在使用者家目錄裡面的檔案仍然...
檔案管理命令
1 cat命令 將檔案內容連線後傳送到標準輸出或重定向到檔案 2 chmod命令 更改檔案的訪問許可權 3 chown命令 更改檔案的所有者 4 find命令 查詢 符合條件 檔案並將查詢結果輸出 5 ln命令 在檔案之間建立鏈結 6 rm命令 刪除檔案或目錄 7 wc命令 計算檔案或標準輸出裝置的...
檔案管理命令
目錄拓展內容 cp copy該命令的功能是將給出的檔案或目錄拷貝到另外乙個檔案或目錄中。語法 cp 選項 原始檔或目錄 目標檔案或目錄 預設只能拷貝檔案 選項 a 此引數的效果和同時指定 dpr 引數相同 d 當複製符號連線時,把目標檔案或目錄也建立為符號連線,並指向與原始檔或目錄連線的原始檔案或目...