find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。语法find(选项)(参数)实例根据文件或者正则表达式进行匹配列出当前目录及子目录下所有文件和文件夹 find . 在 /home 目录下查找以.txt结尾的文件名find /home -name "*.txt" 同上,但忽略大小写 find /home -iname "*.txt" 当前目录及子目录下查找所有以.txt和.pdf结尾的文件 find . \( -name "*.txt" -o -name "*.pdf" \) 或 find . -name "*.txt" -o -name "*.pdf" 匹配文件路径或者文件 find /usr/ -path "*local*" 基于正则表达式匹配文件路径 find . -regex ".*\(\.txt\|\.pdf\)$" 同上,但忽略大小写 find . -iregex ".*\(\.txt\|\.pdf\)$" 否定参数找出/home下不是以.txt结尾的文件 find /home ! -name "*.txt" 根据文件类型进行搜索find . -type 类型参数类型参数列表:
基于目录深度搜索向下最大深度限制为3 find . -maxdepth 3 -type f 搜索出深度距离当前目录至少2个子目录的所有文件 find . -mindepth 2 -type f 根据文件时间戳进行搜索find . -type f 时间戳UNIX/Linux文件系统每个文件都有三种时间戳:
搜索最近七天内被访问过的所有文件 find . -type f -atime -7 搜索恰好在七天前被访问过的所有文件 find . -type f -atime 7 搜索超过七天内被访问过的所有文件 find . -type f -atime +7 搜索访问时间超过10分钟的所有文件 find . -type f -amin +10 找出比file.log修改时间更长的所有文件 find . -type f -newer file.log 根据文件大小进行匹配find . -type f -size 文件大小单元文件大小单元:
搜索大于10KB的文件 find . -type f -size +10k 搜索小于10KB的文件 find . -type f -size -10k 搜索等于10KB的文件 find . -type f -size 10k 删除匹配文件删除当前目录下所有.txt文件 find . -type f -name "*.txt" -delete 根据文件权限/所有权进行匹配当前目录下搜索出权限为777的文件 find . -type f -perm 777 找出当前目录下权限不是644的php文件 find . -type f -name "*.php" ! -perm 644 找出当前目录用户tom拥有的所有文件 find . -type f -user tom 找出当前目录用户组sunk拥有的所有文件 find . -type f -group sunk 借助 |