參考:http://www.cnblogs.com/ccode/p/4033088.html;
在linux命令行模式下,經常會遇到定位文件的問題,這時候采用locate和find都是可以的,下面簡述這兩個查找命令的區別:
可以在超級用戶提示符 # 下面(root),使用 find 命令快速查找軟件(或者各種文件)在哪一個子目錄下面。使用方法如下:
find / -name "*.c"
其中:/ 表示從根目錄開始進行查找文件;*.c 表示需要查找的文件是 C 語言源程序(*.c)或者其他的文件名稱都可以,這樣的方法是比較慢的,因為從根目錄開始查找。
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
如果我們知道某個文件包含有srm這3個字母,那么要找到系統中所有包含有這3個字母的文件是可以實現的,輸入:
find /etc -name '*srm*'
這個命令表明了Linux系統將在/etc整個目錄中查找所有的包含有srm這3個字母的文件,比如absrmyz,tibc.srm等等符合條件的文件都能顯示出來。如果你還知道這個文件是由srm 這3個字母打頭的。
我們還可以省略最前面的星號,命令如下:
find/etc -name 'srm*'
這是只有像srmyz這樣的文件才被查找出來,像absrmyz或者absrm這樣的文件都不符合要求,不被顯示,這樣查找文件的效率和可靠性就大大增強了。