linux上查詢檔案存放地點和檔案中查詢字串方法

2022-05-10 09:50:49 字數 1558 閱讀 3788

1、locate

語法:locate 

locate命令實際是"find -name"的另一種寫法,但是查詢方式跟find不同,它比find快得多。因為它不搜尋具體目錄,而是在乙個資料庫(/var/lib/locatedb)中搜尋指定的檔案。次資料庫含有本地檔案的所有資訊,此資料庫是linux系統自動建立的,資料庫由updatedb程式來更新,updatedb是由cron daemon週期性建立的,預設情況下為每天更新一次,所以用locate命令你搜尋不到最新更新的檔案,除非你在用locate命令查詢檔案之前手動的用updatedb命令更新資料庫。

注意:每次有新檔案更新和刪除之後,在updatedb之前資料庫中儲存的檔案資訊不會改變,即新新增乙個檔案之後,updatedb之前用locate搜尋不到指定的檔案。同樣再刪除乙個檔案資訊已經在資料庫中的檔案時,updatedb之前用locate照樣能搜尋到該檔案的資訊,,儘管此時該檔案已經不存在了。

2、find

語法:find 《起始目錄》 《搜尋條件》 《動作》 

預設起始目錄是.(當前目錄)。

預設動作是輸出檔名。

常用的搜尋條件引數選項:

-name:按檔名來查詢檔案

-user:按照檔案的屬主來查詢檔案

-group:按照檔案所屬的組來查詢檔案

-perm:按照檔案許可權來查詢檔案

-prune:不在當前指定目錄中查詢

-mtime -n +n:按照檔案修改時間來查詢檔案,-n表示檔案修改時間距現在n天以內,+n表示檔案修改時間據現在n天以前

-nogroup:查詢無有效所屬組的檔案,即檔案所屬的組在/etc/group中不存在

-nouser;查詢無有效所屬主的檔案,即檔案的所屬主在/etc/passwd中不存在

例如:find /home -name nginx.conf

注意:find命令不加任何引數時,表示搜尋路徑為當前目錄及其子目錄,預設的動作為-print,即不過濾任何結果,也就是說輸出所有的檔案。

3、whereis命令

whereis命令只能用於搜尋二進位制檔案(-b)、源**檔案(-s)、說明檔案(-m)。如果省略引數則返回所有的資訊。

which命令是在path變數指定的路徑中搜尋指定的系統命令的位置。用echo $path可顯示當前path變數的值。

type命令主要用於區分乙個命令到底是shell自帶的還是外部獨立的二進位制檔案提供的。如果是shell自帶的則會提示此命令為shell buildin,否則會列出命令的位置。例如:cd為shell自帶的命令,當用which查詢時,which會按照path變數設定的路徑進行搜尋,結果顯示no cd in...;用type cd則顯示cd為shell buildin命令。ssh不是shell自帶命令,用type時會顯示ssh的路徑。

1、vim或vi命令下查詢字串

1、命令模式下輸入"/字串",點選enter

2、需要往上查詢點選「n」,繼續反方向搜尋

3、需要往下查詢點選「n」,繼續朝同一方向搜尋

Linux查詢檔案

which locate whereis find which命令 用途 查詢可執行檔案並顯示所在的位置,適用於系統命令,shell命令無法查詢 which lsb release 檢視命令的絕對路徑,即這個可執行檔案的位置 usr bin lsb release which cd 查詢不到路徑,c...

Linux 查詢檔案

whereis 程式名稱 查詢軟體的安裝路徑 b 只查詢二進位制檔案 m 只查詢幫助檔案 s 只查詢源 u 排除指定型別檔案 f 只顯示檔名 b 目錄 在指定目錄下查詢二進位制檔案 m 目錄 在指定目錄下查詢幫助檔案 s 目錄 在指定目錄下查詢源 locate 檔名稱 在檔案索引資料庫中搜尋檔案 d...

linux查詢檔案

linux 如何顯示乙個檔案的某幾行 中間幾行 一 從第3000行開始,顯示1000行。即顯示3000 3999行 cat filename tail n 3000 head n 1000 二 顯示1000行到3000行 cat filename head n 3000 tail n 1000 注意...