Linux學習筆記第四天 - 常見的find命令

findspa

1 按名稱查找

固定名稱搜索(區分大小寫):find 位置 -name 名稱。

eg:find /tmp -name clj                                                   ci

執行完成後,找到了/tmp下的cljtable

固定名稱搜索(不區分大小寫):find 位置 -iname 名稱。

eg:find /tmp -iname clj                                            搜索

執行完成後,就會找到不區分大小寫的全部文件和目錄im

通配符查找:使用*和?進行查找

eg: find /tmp -name clj*數據

*表明所左右字符,這個命令就是 找到以clj開頭的全部的文件和目錄。此外,你還可使用?來進行查詢,好比: find /tmp -name clj??的意思就是,查找的文件或目錄以clj開頭,後面還有兩位你不知道是什麼。幾個?表明後邊有幾位。查詢

2 按大小查找

find 位置 -size +-= 文件大小。+表明大於,-表明小於,=表明等於img

eg:find /tmp -size + 2048。這個表明找到/tmp下大於1M的文件或目錄。有人會問,不該該是2M嗎?其實在這個命令裏,文件的大小是按照 數據塊來算的, 1數據塊=0.5k ,而1M=1024k,1024k也就是2048數據塊了。因此,若是向找大於1M的文件或目錄,要執行的命令是find /tmp -size + 2048,同理,減號和等號也是同樣的。tab

3 按全部者和所屬組來查找

find /home -user 全部者(所屬組)名稱di

eg: find /home -user clj。這條命令就是找到全部者爲clj的文件和目錄

eg: find /home -group clj。這條命令就是找到所屬組爲clj的文件和目錄

4 根據時間屬性來查找

find 位置 -amin,-cmin,-mmin +-時間

-amin +-時間 減號表明必定時間內瀏覽過這個文件,加號表明在必定時間以前瀏覽過 eg:find /tmp -amin +5表明找到在tmp下,五分鐘以前被瀏覽的文件或目錄
-cmin +-時間 減號表明必定時間內修改過這個文件屬性(就是你用ls命令能夠看到的那些),加號表明在必定時間以前修改過 eg:find /tmp -cmin +5表明找到在tmp下,五分鐘以前被修改過屬性的文件或目錄
-mmin +-時間 減號表明必定時間內修改過這個文件內容(就是文件裏的內容),加號表明在必定時間以前修改過 eg:find /tmp -mmin -5表明找到在tmp下,五分鐘以內被修改過內容的文件或目錄

5 根據i節點來查找

find 位置 -inum i節點號。eg:find /tmp -inum 522243 表明你要在tmp下找到i節點號爲522243的文件或目錄

6 根據類型查找

find 位置 -type f d l :f表明是文件,d表明是目錄,l表明軟連接。

eg: find /tmp -type f  表明找到tmp下的文件

7 條件並列查找

find 位置 條件1 -o -a 條件2,-a表明兩個條件都知足,-o表明只要知足一個條件便可。

eg: find /tmp -type f -a -name clj*  表明找到tmp下名稱以clj開頭的文件(由於是f因此不會查找目錄,只查找文件)。

8 查找並操做

有的時候,在你查出來一個文件或者目錄的時候,你想馬上就去修改它,而不是找到了以後再去那個目錄下或者再敲一遍命令去修改,這時候咱們就須要用到 -ok 或者 -exec命令了

格式:find 位置 條件 -exec(-ok) 操做 {} \;

eg: find /tmp -name clj* -a -type f -exec cat {} \; 紅色部分就看成是固定格式來看就能夠了

這個命令就是找到tmp下以clj開頭的文件,並瀏覽內容,固然,-exec也能夠換成-ok,只不過-ok會有一個提示。

ok,打完收工!!!

相關文章
相關標籤/搜索