歡迎您光臨本站 註冊首頁

linux下查找文件命令

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
1.whereis 文件名
特點:快速, 執行準確查找. 用途 找到程序的源、二進位文件或手冊. 語法 whereis [ -s ] [ -b ] [ -m ] [ -u ] [ { { -S | -B | -M } Directory ... }... -f ] File ... 描述 whereis 命令找到指定文件的源、二進位文件和手冊等各部分.提供的名稱首先去除前導路徑名組件和任何(單個的)格式為 .ext 的尾隨擴展名(例如,.c).由於使用源代碼控制系統(請參閱 SCCS)而引起的 s. 前綴也會被處理.然後命令試圖從一個標準位置列表中查找期望的程序.   如果輸入錯誤的選項,則返回一條用法消息.在其它情況下,不提供診斷. 標誌 如果給出 -b、-s、-m 或 -u 標誌中的任一個,則 whereis 命令僅分別搜索二進位文件、源、手冊或不尋常部分(或其中的兩個).   -b 搜索文件的二進位部分.   -m 搜索文件的手冊部分.   -s 搜索文件的源部分.   -u 搜索不尋常文件.如果一個文件沒有每個請求類型的一個項則認為該文件是不尋常文件.輸入 whereis -m -u *,則尋找當前目錄中那些沒有文檔的文件.   -B、-M 和 -S 標誌可以用於更改或限制 whereis 命令搜索的位置.由於該程序為了運行得更快而使用了 chdir 子常式,用 -M、-S 和 -B 標誌目錄列表給出的路徑名必須是完整的;例如,它們必須以一個 / (斜杠)開始.   -B 與 -b 一樣,但是添加了要搜索的目錄.更改或限制 whereis 命令搜索二進位文件的位置.   -M 與 -m 一樣,但是添加了要搜索的目錄.更改或限定 whereis 命令搜索手冊部分的位置.   -S 與 -s 一樣,但是添加了要搜索的目錄.更改或限定 whereis 命令搜索源的位置.

  -f 終止的 -M、-S 或 -B 目錄列表併發文件名起始位置信號.

示例 要查找 /usr/ucb 目錄中的所有文件,這些文件或者在 /usr/man/man1 目錄里沒有歸檔或者在 /usr/src/cmd 目錄里沒有源,請輸入:cd /usr/ucb

whereis -u -M /usr/man/man1 -S /usr/src/cmd -f *

文件  /usr/share/man/* 包含手冊文件的目錄.

  /sbin,/etc,/usr/{lib,bin,ucb,lpp}   包含二進位文件的目錄.   /usr/src/* 包含源代碼文件的目錄.
2.find / -name 文件名
查出很多東西,有很多“Permission Denied".
#find / -name php.ini
find [路徑] [參數]
-gid n 查找群眾ID為n的文件
-group name 查找群組名稱為n的文件
-uid n .......
-user name .......
-name file 查找文件名為file的文件
-type type 查找文件屬性為type的文件.(d、l、b......)
-atime n 列出n*24小時存取過的文件
-ctime n 列出n*24小時新增的文件
-mtime n 列出n*24小時被修改過的文件
-newer file 列出比file文件還要新的文件 3.locate 文件名
最快的方法.執行模糊查找.
注意:第一次使用該命令,可能需要更新資料庫,按照提示的命令執行一下就好了.
locate命令可以在搜尋資料庫時快速找到檔案,資料庫由updatedb程序來更新,updatedb是由cron daemon周期性建立的,locate命令在搜尋資料庫時比由整個由硬碟資料來搜尋資料來得快,但較差勁的是locate所找到的檔案若是最近才建立或剛更名的,可能會找不到,在內定值中,updatedb每天會跑一次,可以由修改crontab來更新設定值.(etc/crontab)

locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的資料庫內,尋找合乎範本樣式條件的檔案或目錄錄,可以使用特殊字元(如 ”*”或”?”等)來指定範本樣式,如指定範本為kcpa*ner, locate會找出所有起始字串為kcpa且結尾為ner的檔案或目錄,如名稱為kcpartner若目錄錄名稱為kcpa_ner則會列出該目錄下包括子目錄在內的所有檔案.



locate指令和find找尋檔案的功能類似,但locate是透過update程序將硬碟中的所有檔案和目錄資料先建立一個索引資料庫,在執行 loacte時直接找該索引,查詢速度會較快,索引資料庫一般是由操作系統管理,但也可以直接下達update強迫系統立即修改索引資料庫.

不過第一次在執行update後再使用locate尋找檔案常會失敗,此時就要執行slocate ˉu該命令(也可執行updatedb指令,其效果相同)來更新slocate資料庫,該命令會在/usr/sbin下產生slocate執行檔,再由 locate到此資料庫尋找所要找的資料.

locate:該命令在運行時需要後台索引的資料庫作為支撐,在 Ubuntu 中這個資料庫文件位於 /var/cache/locate/locatedb.一般來說,這個資料庫文件每天是通過 cron 自動更新的.如果不幸沒有得到更新,那麼可以執行 sudo updatedb 來手動更新. 4.也可以這麼找 比如 在 /aaa目錄下找 123這個文件 我就執行 find /aaa |grep 123

本文出自 「我的世界,我的夢」 博客,請務必保留此出處http://itshine.blog.51cto.com/648476/490307


[火星人 ] linux下查找文件命令已經有375次圍觀

http://coctec.com/docs/linux/show-post-49372.html