檔案管理命令查詢(which whereis

2021-10-03 16:20:02 字數 3684 閱讀 4537

基礎命令講完 (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 當複製符號連線時,把目標檔案或目錄也建立為符號連線,並指向與原始檔或目錄連線的原始檔案或目...