find 查找命令
参考网页:http://man.linuxde.net/find
find . #列出当前目录及子目录下所有的文件和文件夹
find /home -name "*.txt" #在/home 目录下查找以.txt结尾的文件名
find /home -iname "*.txt" #在/home 目录下查找以.txt结尾的文件名-忽略大小写
find . \( -name "*.txt" -o -name "*.pdf" \) 或 find . -name "*.txt" -o -name "*.pdf" #当前目录及子目录下查找所有以.txt 和.pdf结尾的文件----注意,第一个的(与- 之间有空格。这个是语法问题,没有空格就不对了
find . \( -name "*help.txt" -o -name "*ed.pdf" \)
find /usr/ -path "*local*" #匹配文件路径或者文件
find /home ! -name "*.txt" #找出/home 目录下不是以.txt结尾的文件
find . -type 类型参数 #f 普通文件、l符号连接 、d 目录 、c 字符设备 、b 块设备、s套接字、p Fifo
find . -maxdepth 3 -type f # 向下最大深度限制为3
find . -mindepth 2 -type f #搜索出深度距离当前目录至少2个子目录的所有文件
find . -type f 时间戳 #根据文件时间戳进行搜索
访问时间(-atime/天,-amin/分钟):用户最近一次访问时间
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间
find . -type f -atime -7 #搜索最近七天内被访问过的所有文件
find . -type f -atime 7 #搜索恰好在七天前被访问的所有文件
find . -type f -atime +7 #搜索超过七天内被访问过的所有文件
find . -type f -amin +10 # 搜索访问时间超过10分钟的所有文件
find . -type f -newer file.log #找出比file.log修改时间更长的所有文
find . -type f -user root -exec chown tom {} \; #找出当前目录下所有的root的文件,并把所有权更改为用户tom
根据文件大小进行匹配
find . -type f -size 文件大小单元
b --块(512字节)
c--字节
w--字(2字节)
k--千字节
M--兆字节
G--吉字节
find . -type f -size +10k #搜索大于10KB的文件
find . -type f -size -10k #搜索小于10KB的文件
find . -type f -size 10k #搜索等于10KB的文件
find . -type f -name "*.txt" -delete #删除当前目录下所有.txt文件
find . -type f -name "pm.py" -delete
根据文件权限/所有权进行匹配
find . -type f -perm 777 #当前目录下搜索出权限为777的文件
find . -type f -name "*.php" ! -perm 644 #找出当前目录下权限不是644的php文件
find . -type f -name "*.html" ! -perm 644
find . -type f -user tom #找出当前目录用户tom拥有的所有文件
find . -type f -group sunk # 找出当前目录用户组sunk拥有的所有文件
上面这些命令都有点太高大上,写个平常用的:
比如找jenkins.war
find . -name "jenkins.war"