5 Linux 常用命令(四)搜尋命令
5.1 whereis命令
whereis是搜尋系統命令的命令,也就是說,whereis命令不能搜尋普通檔案,而只能搜尋系統命令。其基本資訊如下。
-
命令名稱:whereis。
-
英文原意:locate the binary, source, and manual page files for a command。
-
所在路徑:/usr/bin/whereis。
-
執行許可權:所有使用者。
功能描述:查詢二進位制命令、原始檔和幫助文件的命令。
[root@localhost ~]# whereis [選項] [命令]示例:
[root@localhost ~]# whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
5.2 which命令
which命令的基本資訊如下。
-
命令名稱:which。
-
英文原意:shows the full path of (shell) commands。
-
-
執行許可權:所有使用者。
功能描述:列出命令的所在路徑。
[root@localhost ~]# which [選項] [命令]選項:
-n 指定檔名長度,指定的長度必須大於或等於所有檔案中最長的檔名。
-p 與-n引數相同,但此處的包括了檔案的路徑。
-w 指定輸出時欄位的寬度。
-V 顯示版本資訊
示例:
[root@localhost ~]# which lsalias ls='ls --color=auto'
/usr/bin/ls
5.3 find命令
find命令的基本資訊如下。
-
命令名稱:find。
-
英文原意:search for files in a directory hierarchy。
-
所在路徑:/bin/find。
-
執行許可權:所有使用者。
功能描述:在目錄中搜索檔案。
[root@localhost ~]# find [搜尋路徑] [選項] [搜尋內容]選項:
-name: 按照檔名搜尋
-iname: 按照檔名搜尋,不區分檔名大小寫
-inum: 按照inode號搜尋
-size: 大小:
-atime [+|-]時間: 按照檔案訪問時間搜尋
-mtime [+|-]時間: 按照檔案資料修改時間搜尋
-ctime [+|-]時間: 按照檔案狀態修改時間搜尋
-perm 許可權模式: 查詢檔案許可權剛好等於“許可權模式”的檔案
-perm -許可權模式: 查詢檔案許可權全部包含“許可權模式”的檔案
-perm +許可權模式: 查詢檔案許可權包含“許可權模式”的任意一個許可權的檔案
-uid 使用者ID: 按照使用者ID查詢所有者是指定ID的檔案
-gid 組ID: 按照使用者組ID查詢所屬組是指定ID的檔案
-user 使用者名稱: 按照使用者名稱查詢所有者是指定使用者的檔案
-group 組名: 按照組名查詢所屬組是指定使用者組的檔案
-nouser: 查詢沒有所有者的檔案
-type d: 查詢目錄
-type f: 查詢普通檔案
-type l: 查詢軟連結檔案選項:
示例:
[root@localhost ~]# find / -name nginx.conf/etc/nginx/nginx.conf
5.4 grep命令:補充命令
grep的作用是在檔案中提取和匹配符合條件的字串行。
-
命令名稱:grep
-
英文原意:Extract string information from file
-
所在路徑: /usr/bin/grep
-
執行許可權:所有使用者
功能描述:提取檔案中的字串資訊
[root@localhost ~]# grep [選項] [搜尋內容] [檔名]選項:
-i: 忽略大小寫
-n: 輸出行號
-v: 反向查詢
--color=auto: 搜尋出的關鍵字用顏色顯示
示例:
[root@VM-32-17-centos ~]# grep -in root /etc/passwd1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
5.5 管道符:補充命令
命令格式: 命令1 | 命令2,命令1的正確輸出作為命令2的操作物件
示例:
[root@localhost ~]# netstat -anput | grep 8080tcp 0 0 172.17.32.17:57980 172.17.32.17:28080 TIME_WAIT -
tcp 0 0 172.17.32.17:49058 169.254.0.55:8080 TIME_WAIT -
tcp 0 0 172.17.32.17:59366 172.17.32.17:28080 ESTABLISHED 7744/nginx: worker
5.6 命令的別名:補充命令
命令的別名,就是命令的小名,主要是用於照顧管理員使用習慣的。
-
命令名稱:alias
-
英文原意:Alias for the command
-
所在路徑: /usr/bin/alias
-
執行許可權:所有使用者
功能描述:命令的別名。
[root@localhost ~]# alias#查詢命令別名
[root@localhost ~]# alias [別名]=['原命令']
#設定命令別名
[root@localhost ~]# unalias [別名]
#刪除命令別名
示例:
[root@localhost ~]# alias ser='systemctl restart network' #建立別名5.7 常用快捷鍵:補充命令
快捷鍵 | 作用 |
---|---|
Tab鍵 | 命令或檔案補全 |
Ctrl+A | 把游標移動到命令列開頭 |
Ctrl+E | 把游標移動到命令列結尾 |
Ctrl+C | 強制終止當前的命令 |
Ctrl+L | 清屏,相當於clear命令 |
Ctrl+U | 刪除或剪下游標之前的命令 |
Ctrl+Y | 貼上ctrl+U剪下的內容 |
5.8 which和whereis的區別
-
whereis命令可以在查詢到二進位制命令的同時,查詢到幫助文件的位置;
-
而which命令在查詢到二進位制命令的同時,如果這個命令有別名,則還可以找到別名命令。
5.9 find命令和grep命令的區別
-
find命令用於在系統中搜索符合條件的檔名,如果需要模糊查詢,則使用萬用字元進行匹配,萬用字元是完全匹配(find命令可以通過-regex選項,把匹配規則轉為正則表示式規則,但是不建議如此)。
-
grep命令用於在檔案中搜索符合條件的字串,如果需要模糊查詢,則使用正則表示式進行匹配,正則表示式是包含匹配。
5.10 萬用字元和正則表示式
萬用字元:用於匹配檔名,完全匹配
萬用字元 | 作用 |
---|---|
? | 匹配一個任意字元 |
* | 匹配0個或任意多個任意字元,也就是可以匹配任何內容 |
[] | 匹配中括號中任意一個字元。例如,[abc]代表一定匹配一個字元,或者是a,或者是b,或者是c |
[-] | 匹配中括號中任意一個字元,-代表一個範圍。例如,[a-z]代表匹配一個小寫字母 |
[^] | 邏輯非,表示匹配不是中括號內的一個字元。例如,0-9代表匹配一個不是數字的字元 |
正則表示式:用於匹配字串,包含匹配
正則符 | 作用 |
---|---|
? | 匹配前一個字元重複0次,或1次(?是擴充套件正則,需要使用egrep命令) |
* | 匹配前一個字元重複0次,或任意多次 |
[] | 匹配中括號中任意一個字元。例如,[abc]代表一定匹配一個字元,或者是a,或者是b,或者是c |
[-] | 匹配中括號中任意一個字元,-代表一個範圍。例如,[a-z]代表匹配一個小寫字母 |
[^] | 邏輯非,表示匹配不是中括號內的一個字元。例如,^0-9代表匹配一個不是數字的字元 |
^ | 匹配行首 |
$ | 匹配行尾 |