which命令
which命令:顯示(shell)命令的完整路徑。
格式:which [options] [--] programname [...]
參數:
| 參數 | 作用 |
|---|---|
| -n | -n<文件名長度>:制定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名; |
| -p | 與-n參數相同,但此處的<文件名長度>包含了文件的路徑; |
| -w | 指定輸出時欄位的寬度; |
| -V | 顯示版本信息。 |
例子:
[root@xxx ~]# which pwd
/usr/bin/pwd
find命令
find命令:用於按照指定條件來查找文件
格式:“find [查找路徑] 尋找條件 操作”。
參數:
| 參數 | 作用 |
|---|---|
| -name | 匹配名稱 |
| -perm | 匹配權限(mode為完全匹配,-mode為包含即可) |
| -user | 匹配所有者 |
| -group | 匹配所有組 |
| -mtime -n +n | 匹配修改內容的時間(-n指n天以內,+n指n天以前) |
| -atime -n +n | 匹配訪問文件的時間(-n指n天以內,+n指n天以前) |
| -ctime -n +n | 匹配修改文件權限的時間(-n指n天以內,+n指n天以前) |
| -nouser | 匹配無所有者的文件 |
| -nogroup | 匹配無所有組的文件 |
| -newer f1 !f2 | 匹配比文件f1新但比f2舊的文件 |
| --type b/d/c/p/l/f | 匹配文件類型(后面的字母參數依次表示塊設備、目錄、字符設備、管道、鏈接文件、文本文件) |
| -size | 匹配文件的大小(+50KB為查找超過50KB的文件,而-50KB為查找小於50KB的文件) |
| -prune | 忽略某個目錄 |
| -exec …… {}; | 后面可跟用於進一步處理搜索結果的命令(下文會有演示) |
whereis命令
whereis命令:定位指令的二進制程序、源代碼文件和man手冊頁等相關文件的路徑。
格式:whereis [options] [-BMS directory... -f] name...
參數:
| 參數 | 作用 |
|---|---|
| -b | 只查找二進制文件; |
| -B | 只在設置的目錄下查找二進制文件; |
| -f | 不顯示文件名前的路徑名稱; |
| -m | 只查找說明文件; |
| -M | 只在設置的目錄下查找說明文件; |
| -s | 只查找原始代碼文件; |
| -S | 只在設置的目錄下查找原始代碼文件; |
| -u | 查找不包含指定類型的文件。 |
例子:
[root@xxx ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
# 查找man手冊頁
[root@xxx ~]# whereis ls -m
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
locate命令
locate命令:通過名字查找文件
格式:locate [OPTION]... PATTERN...
參數:
| 參數 | 作用 |
|---|---|
| -d<目錄>或--database=<目錄> | 指定數據庫所在的目錄; |
| -u | 更新slocate數據庫; |
例子:
# 查找sh開頭的文件
[root@xxx ~]# locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells
