一、作用
查找文件或目錄
二、參數(常用)
-atime 查找在指定時間曾被存取過的目錄或文件,單位以24小時計算。(訪問時間,執行文件等)
-ctime 查找指定時間曾被更改的目錄或文件,單位以24小時計算。(文件權限,用戶組等等)
-mtime 查看指定時間曾被修改的目錄或文件,單位以24小時計算。(vi等)
-exec 假設find指令回傳值為True,就執行該命令。
-follow 排除符號鏈接。
-links 查找符合指定的硬鏈接數目的文件或目錄。
-name 指定字符串作為尋找文件或目錄范本樣式。
-perm 查找符合指定的權限數值的文件或目錄。
-size 查找符合指定大小的文件。
-type 查看類型,如文件是f,目錄是d。
-uid? 查找符合指定的用戶識別碼的文件或目錄。
-gid? 查找符合指定群組識別碼的文件或目錄。
-user? 查找符合指定的用戶名稱的文件或目錄。
-group? 查找符合指定群組名稱的文件或目錄。
三、案例
1、以權限644查找 ~/ 下最近7天被訪問的文件且用戶是rm
[rm@centos7 ~]$ stat f1
文件:"f1"
大小:21?????? ??? ?塊:8????????? IO 塊:4096?? 普通文件
設備:fd00h/64768d?? ?Inode:529634????? 硬鏈接:1
權限:(0664/-rw-rw-r--)? Uid:( 1000/????? rm)?? Gid:( 1000/????? rm)
最近訪問:2020-02-04 16:21:52.692398778 +0800
最近更改:2020-02-04 16:21:52.793398307 +0800
最近改動:2020-02-04 16:21:52.793398307 +0800
創建時間:-
[rm@centos7 ~]$ find ~/ -type f -perm 664 -atime -7 -user rm
/home/rm/list.txt
/home/rm/list_right
/home/rm/list_error
/home/rm/file1
/home/rm/file
/home/rm/somefile
/home/rm/f1
/home/rm/mi
2、搜索 /opt/data/ 下以.txt結尾的大小為0文件并刪除
[rm@centos7 rm]$ touch {1..100}.txt
[rm@centos7 ~]$ ls /opt/data/
100.txt? 19.txt? 28.txt? 37.txt? 46.txt? 55.txt? 64.txt? 73.txt? 82.txt? 91.txt
10.txt?? 1.txt?? 29.txt? 38.txt? 47.txt? 56.txt? 65.txt? 74.txt? 83.txt? 92.txt
11.txt?? 20.txt? 2.txt?? 39.txt? 48.txt? 57.txt? 66.txt? 75.txt? 84.txt? 93.txt
12.txt?? 21.txt? 30.txt? 3.txt?? 49.txt? 58.txt? 67.txt? 76.txt? 85.txt? 94.txt
13.txt?? 22.txt? 31.txt? 40.txt? 4.txt?? 59.txt? 68.txt? 77.txt? 86.txt? 95.txt
14.txt?? 23.txt? 32.txt? 41.txt? 50.txt? 5.txt?? 69.txt? 78.txt? 87.txt? 96.txt
15.txt?? 24.txt? 33.txt? 42.txt? 51.txt? 60.txt? 6.txt?? 79.txt? 88.txt? 97.txt
16.txt?? 25.txt? 34.txt? 43.txt? 52.txt? 61.txt? 70.txt? 7.txt?? 89.txt? 98.txt
17.txt?? 26.txt? 35.txt? 44.txt? 53.txt? 62.txt? 71.txt? 80.txt? 8.txt?? 99.txt
18.txt?? 27.txt? 36.txt? 45.txt? 54.txt? 63.txt? 72.txt? 81.txt? 90.txt? 9.txt
[rm@centos7 ~]$ ls -l? /opt/data/|head -3
總用量 0
-rw-rw-r-- 1 rm rm 0 2月?? 7 20:53 100.txt
-rw-rw-r-- 1 rm rm 0 2月?? 7 20:53 10.txt
[rm@centos7 ~]$? find /opt/data/ -type f? -size 0 -name "*.txt" -exec rm -f {} \;
[rm@centos7 ~]$ ls /opt/data/
[rm@centos7 ~]$