歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux學習筆記--find命令(文件搜索命令)

Linux學習筆記--find命令(文件搜索命令)

日期:2017/3/1 12:15:28   编辑:關於Linux

find,查找的意思,作用是在系統當中搜索符合條件的文件。

find命令與locate命令的區別:

locate: 1) 非實時查找;
        2) 依賴於索引,而索引構建非常占用資源,索引的創建是在系統空閒時系統自動進行,
        可以用updatedb命令更新索引;
        3) 查找速度快;
        4) 非精准查找。

find  : 1) 實時查找;
        2) 精准查找 (系統上實時的有就是有沒有就是沒有);
        3) 精確查找 (查找結果絕對符合查找條件才予顯示);
        4) 查找速度慢。

1. 命令格式:

find [搜索范圍] [搜索條件] [處理動作]

2. 常用搜索條件選項:

-name "文件名稱" : 按照文件名來搜索(可以使用通配符);
       通配符有  :*   (匹配任意多個字符)
                 ?   (匹配任意一個字符)
                 []  (匹配任意一個中括號內的字符)
                 [^] (匹配任意一個不在中括號內的字符)

-iname "文件名稱" : 按照文件名來搜索,並忽略大小寫(可以使用通配符);

-user   用戶名    : 按照所有者搜索;

-nouser 用戶名    : 搜索沒有所有者的文件;

-type   文件類型  : 根據文件類型進行搜索;
        文件類型有:b (塊設備文件)
                  c (字符設備文件)
                  d (目錄文件)
                  f (普通文件)
                  l (符號鏈接文件)
                  s (套接字文件)
                  p (命名管道文件)

-mtime   單位屬性 : 按修改文件的時間進行搜索(單位為"天");
         例如     : -mtime -10 (搜索10天內修改過的文件)
                    -mtime 10 (搜索10天前當天修改過的文件)
                    -mtime +10 (搜索10天前修改過的文件)

-atime   單位屬性 : 按文件訪問時間進行搜索(單位為"天");
-ctime   單位屬性 : 按文件屬性改變的時間進行搜索(單位為"天");

-mmin    單位屬性 : 按修改文件的時間進行搜索(單位為"分");
-amin    單位屬性 : 按文件訪問時間進行搜索(單位為"分");
-cmin    單位屬性 : 按文件屬性改變的時間進行搜索(單位為"分");

-size    單位屬性 : 按文件大小來進行搜索;
         例如    : -size -10k (搜索文件大小小於10K的文件)
                  -size 10k  (搜索文件大小為10K的文件)
                  -size +10k (搜索文件大小大於10K的文件)
                  -size -25M (搜索文件大小小於25M的文件)
                  (注意:"k"為小寫,"M"為大寫)

-a              : 組合條件"與"(and) 
-o              : 組合條件"或"(or)
-not|!          : 組合條件"取反"

3. 常用處理動作:

"-print"           默認處理動作;
"-ls"              作用相當於"ls -l";
"-exec 命令 {} \;" 對查找到的文件執行指定的命令,
                   命令後面的{}表示,查找到什麼就引用什麼;
"-ok 命令 {} \;"   這是個交互式的"-exec",每操作一次就需要你確認下。

4. 常用范例:

1) 查找/root/py目錄下,名為"test1.py"的文件。

這裡寫圖片描述<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwcmUgY2xhc3M9"brush:sql;"> 2) 查找/root/py目錄下,名為"test1.py"的文件(忽略大小寫區別)。

這裡寫圖片描述

3) 查找/root/py目錄下,以".py"結尾的文件。

這裡寫圖片描述

4) 查找/root/py目錄下,名為"test1.py"或"test2.py"的文件。

這裡寫圖片描述

5) 查找/root/py目錄下,以".py"結尾並且所有者為"root"的文件。

這裡寫圖片描述

6) 查找當前日志目錄中,"2天以內"修改過的日志文件。

這裡寫圖片描述

7) 查找當前日志目錄中,"7天以前"修改過的日志文件並進行刪除。

這裡寫圖片描述

8) 查找當前日志目錄中,文件"大於25K"的文件,並進行人性化顯示。

這裡寫圖片描述

9) 查找當前日志目錄中,文件"大於25K並小於50K"的文件,並進行人性化顯示。

這裡寫圖片描述

Copyright © Linux教程網 All Rights Reserved