Linux 找檔案方法

Linux 下找檔案很多時會用上 find 指令, find 的搜尋功能十強大, 可以用多個不同的過濾條件找檔案, 除了找檔案外, find 指令也可以找目錄, 而且 find 是 Linux 下內建的工具, 不用額外安裝.

找檔案最常遇到的情況是根據檔案名稱搜尋, 例如要在 /var/www/html 找 filename.txt 檔案, 用以下指令:

/linux/find-command

  • # find /var/www/html/ -name filename.txt

另一個常見的搜尋例子是, 找要出指定副檔名的檔案, 例如要找出所有 “.log” 結尾的檔案, 可以這樣:

/linux/find-command

  • # find /var/www/html/ -name “*.log”

上面例子是根據檔案名稱搜尋檔案, find 指令其中一個十分有用的參數是 -type, 加入了 -type 參數後, 可以指令要找的檔案類型, 一般常見的檔案類型會以下字符指定:

f -> 檔案
d -> 目錄
l -> 連結檔
c -> character devices
b -> block devices
Find by type

例如我想找出所有 /var/www/html/ 的連結檔, 用以下指令:

/linux/find-command


  • # find /var/www/html/ -type l

find 另一個常用的功能是 -size 參數, 這樣便可以找出指定大小的檔案, 例如要找出所有大過 1000MB 的檔案, 便可以用以下語法:

/linux/find-command

  • # find /var/www/html/ -size +1000MB

以上的 +1000MB 是指大過 1000MB 的意思, 除了 MB 外, 也可以用以下單位定義:

c -> bytes
k -> Kilobytes
M -> Megabytes
G -> Gigabytes
b -> 512-byte blocks

以檔案存取或修改作為過濾條件, 可以用 -atime, -mtime 及 ctime 搜尋, 例如找出 7 天內被存取或修改過的檔案:

/linux/find-command

  • # find /var/www/html/ -type f -atime -7

找出 7 天內被修改的檔案:

/linux/find-command

  • # find /var/www/html/ -type f -mtime -7

上面的 -7 是 7 天內被修改過的意思, 如果想改為找 7 天內沒有被修改過, 將 “-7” 改為 “+7”

find 指令的功能不止上面這些, 還是很多不同的搜尋技巧, 本文只作基本介紹, 其他留待日後再寫。



你可能感興趣的內容:

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.