find命令小记
find命令小记1. 按文件名查找查找当前目录及其子目录下所有名为example.txt的文件find . -name "example.txt" . 表示从当前目录开始查找。 -name 指定文件名匹配条件。 查找当前目录及其子目录下所有以.log结尾的文件find . -name "*.log" * 是通配符,表示匹配任意字符。 2. 按文件类型查找查找当前目录及其子目录下所有的目录find . -type d -type d 表示查找目录。 查找当前目录及其子目录下所有的普通文件find . -type f -type f 表示查找普通文件。 3. 按文件大小查找查找当前目录及其子目录下所有大于1MB的文件find . -type f -size +1M -size +1M 表示文件大小大于1MB。 查找当前目录及其子目录下所有小于1KB的文件find . -type f -size -1k -size -1k 表示文件大小小于1KB。 4. 按修改时间查找查找当前目录及其子目录下最近7天内修改过的文件find . -type f -mtime -7 -mtime -7 表示文件在过去7天内被修改过。 查找当前目录及其子目录下超过30天未修改的文件find . -type f -mtime +30 -mtime +30 表示文件在过去30天内未被修改过。 5. 按权限查找查找当前目录及其子目录下所有权限为755的文件find . -type f -perm 755 -perm 755 表示文件权限为rwxr-xr-x。 查找当前目录及其子目录下所有可执行文件find . -type f -executable -executable 表示文件具有可执行权限。 6. 组合条件查找查找当前目录及其子目录下所有大于1MB且在过去7天内修改过的文件find . -type f -size +1M -mtime -7 多个条件可以组合使用。 7. 执行操作查找当前目录及其子目录下所有.log文件并删除find . -name "*.log" -exec rm -f {} ; -exec 后面跟要执行的命令,{} 表示当前匹配的文件名。 ; 表示命令结束。 查找当前目录及其子目录下所有.txt文件并打印其内容find . -name "*.txt" -exec cat {} ; 使用 cat 命令打印文件内容。 8. 排除特定目录查找当前目录及其子目录下所有文件,但排除node_modules目录find . -path "./node_modules" -prune -o -print -path 指定要排除的路径。 -prune 表示跳过该路径。 -o 表示逻辑“或”。 9. 按用户或组查找查找当前目录及其子目录下所有属于用户john的文件find . -user john -user 指定文件的所有者。 查找当前目录及其子目录下所有属于组users的文件find . -group users -group 指定文件所属的组。 10. 按深度查找查找当前目录下(不包括子目录)所有文件find . -maxdepth 1 -maxdepth 指定最大搜索深度。