1、whereis命令
whereis是搜索系統命令的命令,也就是說,whereis命令不能搜索普通文件,而只能搜索系統命令。
whereis命令的基本信息如下。
- 命令名稱:whereis。
- 英文原意:locate the binary,source,and manual page files for a command。
- 所在路徑:/usr/bin/whereis。
- 執行權限:所有用戶。
- 功能描述:查找二進制命令、源文件和幫助文檔的命令。
2、which命令
which也是搜索系統命令的命令。
和whereis命令的區別在於:
- whereis命令可以在查找到二進制命令的同時,查找到幫助文檔的位置;
- 而which命令在查找到二進制命令的同時,如果這個命令有別名,則還可以找到別名命令。
#用whereis命令查詢系統命令
[root@192 ~ ]# whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz
/bin/ls:表示命令的位置
/usr/share/man/man1p/ls.1p.gz和/usr/share/man/man1/ls.1.gz:ls的幫助文檔位置
#用which命令查詢系統命令
[root@192 ~]# which ls
alias ls='ls --color=auto'
/bin/ls
alias ls='ls --color=auto':別名的顯示。ls的全名爲:ls --color=auto
擴展:查看系統中的別名
[root@192 ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
重點記住`ll`命令代表的意思。
which命令的基本信息如下
- 命令名稱:which。
- 英文原意:shows the full path of(shell)commands。
- 所在路徑:/usr/bin/which。
- 執行權限:所有用戶。
- 功能描述:列出命令的所在路徑。
3、locate命令
locate命令纔是可以按照文件名搜索普通文件的命令。
- 優點:按照數據庫搜索,搜索速度快(比整盤掃描快很多),消耗資源小。數據庫位置/var/lib/mlocate/mlocate.db,可以使用
updatedb命令
強制更新數據庫。 - 缺點:只能按照文件名來搜索文件,而不能執行更復雜的搜索,比如按照權限、大小、修改時間等搜索文件。
提示:
有的時候我們知道一個文件存在,但是找不到位置,用locate命令也搜不到。就可能是數據庫沒有進行更新,用updatedb命令
強制更新數據庫即可解決。(也可以退出登陸系統再進入,也可以進行更新,解決問題。)
locate命令的基本信息如下
- 命令名稱:locate。
- 英文原意:find files by name。
- 所在路徑:/usr/bin/locate。
- 執行權限:所有用戶。
- 功能描述:按照文件名搜索文件。
[root@192 ~]# locate abcde
/root/abcde
關於locate命令的配置文件
updatedb.conf
配置文件對我們來說平時是用不着的。(記住這個配置文件名,瞭解即可)
打開配置文件,裏邊有4行。
[root@localhost ~ ] # vi/etc/updatedb.conf
#開啓搜索限制,也就是讓這個配置文件生效
PRUNE BIND MOUNTS="yes"
#在locate執行搜索時,禁止搜索這些文件系統類型,這些文件系統都不是Linux系統自帶的文件系統。(Linux系統認爲搜索這些沒有意義)
PRUNEFS="……"
#在locate執行搜索時,禁止搜索帶有這些擴展名的文件。(這些一般都是文件版本控制系統,系統認爲這些文件變化太快,搜索這些文件沒有意思)
PRUNENAMES="……"
#在locate執行搜索時,禁止搜索這些系統目錄
PRUNEPATHS="……"
注意:在些目錄中,就有我們常用練習的tmp目錄。如果需要locate命令在tmp目錄生效,手動修改一下updatedb.conf配置文件,重啓一下就生效了。