2015-01-23

Ubuntu 利用 find 指令找檔案

阿舍之前都比較習慣用 whereis 和 locate 指令來找檔案,然後,就常常都會有找不到檔案的情形,後來,阿舍才注意到這二個指令在搜尋檔案有範圍和時差的問題哩 ! 所以,阿舍就只好回去查看那個阿舍比較少用的 find 指令的用法,結果,阿舍才發現,原來,找檔案,用 find 指令應該會比較快哩 ! ....


find 指令不像是 whereis 和 locate 指令一樣,只要給檔案名稱就可以了,而是需要先給一個要搜尋的資料夾路徑才行,所以,阿舍一開始就覺得說,就不知道檔案在那裡,怎麼會知道要從那裡搜尋起呢 ? 因此,阿舍就把這個 find 指令給冷凍起來了,然後,多年後阿舍才想起來,不知道檔案在那裡,就從根目錄開始搜尋起不就好了嗎 ? 笨~~

因為 find 指令的特色之一就是會把給定的資料夾從頭至尾掃一遍,所以,當你給它根目錄時,他就會整個系統給掃描過一遍來找到符合的檔案,而下面就是阿舍現在在用的檔案搜尋方式,以阿舍要搜尋 php.ini 檔案放在那為例。

$ sudo find / -name apache2.conf
/etc/apache2/apache2.conf

另外,find 在用 -name 選項來找檔案時,是會比對完整的檔案名稱的,如果對於要找的檔案的名稱沒有很確定或是不完整的話,可以在檔案名稱上搭配*或 ? 號等萬用字元來讓 find 指令模糊比對哩 ! ...

$ sudo find / -name apache2.*
/run/apache2/apache2.pid
/usr/share/doc/apache2/examples/apache2.monit
/usr/share/apport/package-hooks/apache2.py
/usr/share/man/man8/apache2.8.gz
/etc/apache2/apache2.conf
/var/lib/dpkg/info/apache2.prerm
/var/lib/dpkg/info/apache2.postrm
.
.
. (略)


$ sudo find / -name apache?.conf
/etc/apache2/apache2.conf


推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

1 則留言 :

匿名 提到...

浪費時間寫得好差

張貼留言

歡迎留言提問和討論 .... 😁