在linux中,可以使用find或是locate指令來尋找檔案位置,語法格式為「find / -name 檔案名稱」和「locate 檔案名稱」。 find指令用來在指定目錄下尋找文件,locate指令用來尋找符合條件的文檔。
本教學操作環境:centos7系統、thinkpad t480電腦。
因為要裝pl/sql所以要找tnsnames.ora檔。 。看看怎麼查這個檔案在linux下的哪個目錄
find / -name tnsnames.ora
查到:
/opt/app/oracle/product/10.2 /network/admin/tnsnames.ora
/opt/app/oracle/product/10.2/network/admin/samples/tnsnames.ora
#也可以用locate 來找
locate tnsnames.ora
結果是: /opt/app/oracle/product/10.2/hs/admin/tnsnames.ora.sample
/opt/app/oracle/product/ 10.2/network/admin/tnsnames.ora
/opt/app/oracle/product/10.2/network/admin/samples/tnsnames.ora
1.透過檔案名稱尋找法:
舉例說明,假設你忘記了httpd.conf這個檔案在系統的哪個目錄下,甚至在系統的某個地方也不知道,則這是可以使用以下指令:
find / -name httpd.conf
這個指令語法看起來很容易就明白了,就是直接在find後面寫上-name,表明要求系統按照文件名查找,最後寫上httpd.conf這個目標文件名即可。稍等一會系統會在電腦螢幕上顯示出尋找結果清單:
etc/httpd/conf/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
三.根據部分文件名查找方法:
例如我們知道某個檔案包含有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 -55 # 找出在系統中最後5分鐘修改過的檔案
find / -mtime -1 #找出在系統中最後24小時裡修改過的檔案
# find / -nouser #找出在系統中屬於作廢使用者的檔案
find / -user fred #找出在系統中屬於FRED這個使用者的檔案
下面的清單就是對find指令所可以指定檔案的特徵進行尋找的部分條件。這裡並沒有列舉所有的查找條件,參考有關Linux有關書籍可以知道所有find指令的查找函數。
-amin n
# 尋找系統中最後N分鐘存取的檔案
-atime n
尋找系統中最後n*24小時存取的檔案 n
尋找系統中最後n*24小時存取的檔案
-cmin n
查找系統中最後N分鐘被改變狀態的檔案
-ctime n
# 查找系統中最後n*24小時被使用 n
# 查找系統中最後n*24小時被查找改變狀態的檔案
-empty
找出系統中空白的文件,或空白的文件目錄,或目錄中沒有子目錄的資料夾
-false
## 查找系統中總是錯誤的文件
-fstype type
查找系統中存在於指定文件系統的文件,例如:ext2 .
# -gid n
查找系統中檔案數字群組ID 為n的檔案
-group gname 找出系統中檔案屬於gnam檔案群組,並且指定群組和ID的檔案
###(推薦學習:###linux教學###)###以上是linux如何尋找文件位置的詳細內容。更多資訊請關注PHP中文網其他相關文章!