Linux之搜尋檔案

2021-10-06 19:42:40 字數 1784 閱讀 1287

命令:whereis、which、find、locate

root@server:~# whereis whereis 

whereis: /usr/bin/whereis /usr/share/man/man1/whereis.1.gz

root@server:~# whereis find

find: /usr/bin/find /usr/share/man/man1/find.1.gz /usr/share/info/find.info.gz

root@server:~#

直接從資料庫中查詢,並且只能搜尋二進位制檔案(-b)、man幫助檔案(-m)、源**檔案(-s)。

通過查詢/var/lib/mlocate/mlocate.db資料庫來檢索資訊。不過這個資料庫也不是實時更新的,系統會使用定時任務每天自動執行updatedb命令來更新資料庫。所以有時候你剛新增的檔案,它可能會找不到,需要手動執行一次updatedb命令。注意這個命令也不是內建的命令,需要手動安裝,然後執行更新。

root@server:~# sudo apt-get update

root@server:~# sudo apt-get install locate

root@server:~# sudo updatedb

root@server:~# locate /usr/share/\*.jpg #查詢/usr/share/下所有jpg檔案

root@server:~# locate /etc/sh #查詢/etc下所有以sh開頭的檔案

/etc/shadow

/etc/shadow-

/etc/shells

/snap/core/8935/etc/shadow

/snap/core/8935/etc/shells

/snap/core/9066/etc/shadow

/snap/core/9066/etc/shells

/snap/core18/1705/etc/shadow

/snap/core18/1705/etc/shells

/snap/core18/1754/etc/shadow

/snap/core18/1754/etc/shells

root@server:~#

which本身是 shell 內建的乙個命令,我們通常使用which來確定是否安裝了某個指定的程式,因為它只從path環境變數指定的路徑中去搜尋命令並且返回第乙個搜尋到的結果。也就是說,我們可以看到某個系統命令是否存在以及執行的到底是哪乙個地方的命令。

root@server:~# which ping

/bin/ping

root@server:~# which man

/usr/bin/man

root@server:~#

不但可以通過檔案型別、檔名進行查詢而且可以根據檔案的屬性(如檔案的時間戳,檔案的許可權等)進行搜尋

命令格式:find [path] [option] [action]

在/etc下搜尋名字叫做inte***ces的檔案或者資料夾

root@server:~# find /etc/ -name inte***ces    

/etc/cups/inte***ces

/etc/network/inte***ces

Linux搜尋檔案

1 linux下最強大的搜尋命令為 find 它的格式為 find 指定目錄 指定條件 指定動作 比如使用find命令搜尋在根目錄下的所有inte ces檔案所在位置,命令格式為 find name inte ces 使用locate搜尋linux系統中的檔案,它比find命令快。因為它查詢的是資料...

Linux檔案搜尋

1 whereis簡單快捷,從資料庫中搜尋,whereis 只能搜尋二進位制檔案 b man 幫助檔案 m 和源 檔案 s whereis b who 只查詢名為who的可執行檔案2 locate 快而全,本質通過通過 var lib mlocate mlocate.db 資料庫查詢,系統自動每天更...

linux搜尋檔案

linux下搜尋檔案常用方法 這個命令比較常用,例如查詢bin python vim find cat的絕對路徑 root ip 172 31 8 212 which find usr bin find root ip 172 31 8 212 which bash bin bash root ip...