linux下查詢某個檔案

2022-04-11 10:02:45 字數 3367 閱讀 8230

參考

一.通過檔名查詢法:

舉例說明,假設你忘記了httpd.conf這個檔案在系統的哪個目錄 下,甚至在系統的某個地方也不知道,則這是可以使用如下命令:

這個命令語法看起來很容易就明白了,就是直接在find後面寫上 -name,表明要求系統按照檔名查詢,最後寫上httpd.conf這個目標檔名即可。稍等一會系統會在計算機螢幕上顯示出查詢結果列表:

這就是httpd.conf這個檔案在linux系統中的完整路徑。查詢成功。

如果輸入以上查詢命令後系統並沒有顯示出結果,那麼不要以為系統沒有執行find / -name httpd.conf命令,而可能是你的系統中沒有安裝apache伺服器,這時只要你安裝了apacheweb伺服器,然後再使用find / -name httpd.conf就能找到這個配置檔案了。

二.無錯誤查詢技巧:

在linux系統中「find」命令是大多數系統使用者都可以使用的命令,並不是root系統管理員的專利。但是普通使用者使用「find」命令時也有可 能遇到這樣的問題,那就是linux系統中系統管理員root可以把某些檔案目錄設定成禁止訪問模式。這樣普通使用者就沒有許可權用「find」命令來查詢這 些目錄或者檔案。當普通使用者使用「find」命令來查詢這些檔案目錄是,往往會出現"permissiondenied."(禁止訪問)字樣。系統將無法 查詢到你想要的檔案。為了避免這樣的錯誤,我們可是使用轉移錯誤提示的方法嘗試著查詢檔案,例如輸入:

find / -name access_log 2>/dev/null

這個方法是把查詢錯誤提示轉移到特定的目錄中去。系統執行這個命令後,遇到錯誤的資訊就直接輸送到stderrstream2 中,access_log2就是表明系統將把錯誤資訊輸送到stderrstream2中,/dev/null是乙個特殊的檔案,表明空的或者錯誤的信 息,這樣查詢到的錯誤資訊將被轉移了,不會再顯示了。

在linux系統查詢檔案也會遇到這樣乙個實際問題。如果我們在整個硬碟,這個系統中查詢某個檔案就要花費相當長的一段時間,特別是大型linux系 統和容量較大的硬碟,檔案放在套嵌很深的目錄中的時候。如果我們知道了這個檔案存放在某個大的目錄中,那麼只要在這個目錄中往下找就能節省很多時間了。使 用find /etc -name httpd.conf就可以解決這個問題。上面的命令就是表示在etc目錄中查詢httpd.conf這個檔案。這裡再說明一下「/」這個函式符號的含 義,如果輸入「find /」就是表示要求linux系統在整個root目錄下查詢檔案,也就是在整個硬碟上查詢檔案,而「find /etc」就是只在 

etc目錄下查詢檔案。因為「find /etc」表示只在etc目錄下查詢檔案,所以查詢的速度就相應要快很多了。

三.根據部分檔名查詢方法:

例如我們知道某個檔案包含有srm這3個字母,那麼要找到系統中所有包含有這3個字母的檔案是可以實現 的,輸入: 

find /etc -name '*srm*'

這個命令表明了linux系統將在/etc整個目錄中查詢所有的包含有srm這3個字母的檔案,比如absrmyz,tibc.srm等等符合條件的檔案都能顯示出來。如果你還知道這個檔案是由srm 這3個字母打頭的,那麼我們還可以省略最前面的星號,命令如下: 

find/etc -name 'srm*'

這是只有像srmyz這樣的檔案才被查詢出來,像absrmyz或者absrm這樣的檔案都不符合要求,不被顯示,這樣查詢檔案的效率和可靠性就大大增強了。

四.根據檔案的特徵查詢方法:

如果只知道某個檔案的大小,修改日期等特徵也可以使用「find」命令查詢出來,這和windows系統中的「搜尋」功能是基本相同的。在微軟的「搜 索」中,「搜尋助理」使得搜尋檔案和資料夾、印表機、使用者以及網路中的其他計算機更加容易。它甚至使在internet上搜尋更加容易。「搜尋助理」還包 括乙個索引服務,該服務維護了計算機中所有檔案的索引,使得搜尋速度更快。使用「搜尋助理」時,使用者可以指定多個搜尋標準。例如,使用者可以按名稱、型別及 大小搜尋檔案和資料夾。使用者甚至可以搜尋包含特定文字的檔案。如果使用者正使用active directory,這時還可以搜尋帶有特定名稱或位置的印表機。 

例如我們知道乙個linux檔案大小為1,500bytes,那麼我們可是使用如下命令來查詢find /-size 

1500c,字元c表明這個要查詢的檔案的大小是以bytes為單位。如果我們連這個檔案的具體大小都不知道,那麼在linux中還可以進行模糊查詢方式 來解決。例如我們輸入find /-size+10000000c這個命令,則標明我們指定系統在根目錄中查詢出大於10000000位元組的檔案並顯示出來。命令中的「+」是表示要求系 統只列出大於指定大小的檔案,而使用「-」則表示要求系統列出小於指定大小的檔案。下面的列表就是在linux使用不同「find"命令後系統所要作出的 查詢動作,從中我們很容易看出在linux中使用「find」命令的方式是很多的,「find」命令查詢檔案只要靈活應用,絲毫不比在windows中查 找能力差。

find / -amin -10 # 查詢在系統中最後10分鐘訪問的檔案 

find / -atime -2 # 查詢在系統中最後48小時訪問的檔案 

find / -empty # 查詢在系統中為空的檔案或者資料夾 

find / -group cat # 查詢在系統中屬於groupcat的檔案 

find / -mmin -5 # 查詢在系統中最後5分鐘裡修改過的檔案 

find / -mtime -1 #查詢在系統中最後24小時裡修改過的檔案 

find / -nouser #查詢在系統中屬於作廢使用者的檔案 

find / -user fred #查詢在系統中屬於fred這個使用者的檔案 

下面的列表就是對find命令所可以指定檔案的特徵進行查詢的部分條件。在這裡並沒有列舉所有的查詢條件,參考有關linux有關書籍可以知道所有find命令的查詢函式。

-amin n 

查詢系統中最後n分鐘訪問的檔案 

-atime n 

查詢系統中最後n*24小時訪問的檔案 

-cmin n 

查詢系統中最後n分鐘被改變狀態的檔案 

-ctime n 

查詢系統中最後n*24小時被改變狀態的檔案 

-empty 

查詢系統中空白的檔案,或空白的檔案目錄,或目錄中沒有子目錄的資料夾 

-false 

查詢系統中總是錯誤的檔案 

-fstype type 

查詢系統中存在於指定檔案系統的檔案,例如:ext2 . 

-gid n 

查詢系統中檔案數字組 id 為 n的檔案 

-group gname 

查詢系統中檔案屬於gnam檔案組,並且指定組和id的檔案。

linux下查詢某個檔案

參考 一.通過檔名查詢法 舉例說明,假設你忘記了httpd.conf這個檔案在系統的哪個目錄 下,甚至在系統的某個地方也不知道,則這是可以使用如下命令 這個命令語法看起來很容易就明白了,就是直接在find後面寫上 name,表明要求系統按照檔名查詢,最後寫上httpd.conf這個目標檔名即可。稍等...

linux查詢某個檔案

因為要裝pl sql所以要查詢tnsnames.ora檔案。看看怎麼查這個檔案在linux下的哪個目錄 find name nginx.conffind name nginx find name tnsnames.ora 查到 還可以用locate 來查詢 locate tnsnames.ora結果...

linux下查詢某個檔案位置的方法

因為要裝pl sql所以要查詢tnsnames.ora檔案。看看怎麼查這個檔案在linux下的哪個目錄 find name tnsnames.ora 查到 還可以用locate 來查詢 locate tnsnames.ora 結果是 一.通過檔名查詢法 舉例說明,假設你忘記了httpd.conf這個...