天天看點

Linux搜尋檔案指令

搜尋指令:

1、which 用于搜尋一個指令或可執行檔案的絕對路徑,其搜尋在一個變量下搜尋即$PATH下。

2、whereis 查找出與關鍵詞相關的檔案的路徑

3、locate 列出與搜尋關鍵詞相關的所有檔案、目錄。不适于精确搜尋并且搜尋不到tmp目錄下的檔案,如有剛建立的檔案或目錄時需要updatedb更新才可以查到。

4、常用精确查找檔案指令 find

  常用方式:

  格式 find 路徑 -name 'filename' 單引号''可要可不要

  通配符方式:

       find 路徑 -name "filename*"單引号雙引号均可

  指定查找類型

  find 路徑 -type d 目錄

                  f 檔案

                  s 套接字檔案

                  b 塊裝置

                  c 字元裝置

  常用與時間有關的

   find 路徑 -mtime +n/-n 通路建立或修改時間大于或少于n天的檔案

   find 路徑 -mmin +n/-n  通路建立或修改時間大于或少于n分鐘的檔案

   find 路徑 -atime +n/-n 

   find 路徑 -ctime +n/-n 

  可以多個選項一起使用如

   find /tmp/ -type f -name 111

   find /var/log -type f -mtime +30 |xargs rm  找到/var/log下超過30天的檔案删除

   find /tmp/ -tuype f |xargs -i mv{}{}.back  找到tmp目錄下的檔案并把所有檔案最後加上.back

  inode号查找檔案

   如:find / -inum 391868

找出/abc/目錄下所有一年前的檔案,如何做?

find /abc/ -type f -mtime +365

如果隻想找到目前目錄下(不要子目錄以及子目錄的子目錄)的檔案或目錄符合條件的需要加什麼選項?

-maxdepth 1

搜尋目前目錄下權限為777的檔案如何做?

find . -type f -perm 777

下面關于find規則描述正确的是?

A find . -type f -mtime +10 -o -perm 644 搜尋目前目錄下10天以前的檔案或者權限為644的檔案和目錄

B find . -name "*.txt" -a \( -perm 777 -o -type d \) 首先滿足檔案名為*.txt, 然後還要滿足權限為777或者是目錄這樣的要求,也就是說,目前目錄下檔案名為*.txt的目錄符合條件

,或者檔案名為*.txt并且權限為777也符合條件

C find . -size +100M 搜尋目前目錄下大小大于100M的檔案

D find /tmp/ -type f -user user1 -group test 搜尋/tmp/目錄下屬主為user1屬組為test的檔案

正确答案: A,B,C,D