find命令可以在一個目錄(及子目錄)中搜索文件,也可以指定一些匹配條件,如按文件名、文件類型、用戶甚至是時間戳查找文件。
用法:find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
find命令的常用選項
-print:find命令將匹配的文件輸出到標準輸出
-exec:find命令對匹配的文件執行該參數所給出的shell命令,相應命令的形式爲‘command’{} \,注意{}和\;之間的空格
-ok:和-exec作用相同,不過會以一種更安全的方式執行參數給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行。
示例:
#查找當前目錄下所有gz文件並且執行ls命令
#find -name "*.gz" -exec ls {} \;
#查找當前目錄下所有的gz文件並且執行rm命令,在刪除的時候進行詢問
#find -name "*.gz" -ok rm -rf {} \;
1、查找當前目錄下
find -name "*.gz"
2、從根目錄下開始查找
find / -name "*.gz"
3、只查找當前目錄下的一級目錄中包含的,不包括二級目錄下包含的文件
find . -name "*.gz" -maxdepth 1
4、find . -name "*.gz" -maxdepth 1 -print
顯示效果同上
5、find . -name "*.gz" -exec ls -l {} \;
找到文件後綴爲.gz的文件並用ls -l的命令展示出來
6、找出所有修改時間在當前文件之後的所有文件
find -newer win-utf
7、3天之內的文件
find -ctime -3
8、3天之前的文件
find -ctime +3
9、根據權限查找
find -perm 644 -maxdepth 1
10、查找文件
find -type -f
11、查找鏈接
find -type l
12、查找目錄
find -type d
13、文件大小
find -size +512
14、用戶
find -user root
15、組
find -group root
16、查找空文件或目錄
find -empty
17、查找更新時間在某兩個文件之間的所有文件
find . cnewer redis-4.0.11 -a -not -cnewer zookeeper.out
查找更新時間在redis-4.0.11 之後並且在zookeeper.out更新時間之前的所有文件
18、查找1天以前3天以內的所有文件
find . -mtime +1 -and -mtime -3