在 linux 不可视的系统中 find 是一个重要的命令,它可以快速定位文件或目录。
下面列出一些与 find 组合使用的命令。
-
查找指定文件名称的文件
# 根目录查找,不显示异常结果,或没有权限结果 find / -name "abc.txt" 2>dev/null # 当前目录查找 find ./ -name "abc.txt" # 指定目录查找 find /test -name "abc.txt" find ./test -name "abc.txt" -
查找通配文件名称的文件
# 根目录查找,不显示异常结果,或没有权限结果 find / -name "*abc.txt" 2>dev/null # 当前目录查找 find ./ -name "*abc.txt" # 指定目录查找 find /test -name "*abc.txt" find ./test -name "*abc.txt" -
列出所有文件
find / find ./ -
忽略大小写,把上面 -name 修改成 -iname 即可
find / -iname "abc.txt" -
限制查找目录的深度
find / -maxdepth 2 -name "abc.txt" -
查找不包含指定文件的其他文件
find / -not -name "*.txt" -
组合查询
# 既包含 abc 又包含 .txt 的文件 find / -name "abc*" ! -name "*.txt" # 包含 .bin 或包含 .txt 的文件 find / -name "*.bin" -o -name "*.txt" -
只查找文件
find / -type f -name "abc*" -
只查找目录
find / -type d -name "abc*" -
查找不同目录下的文件
find ./test1 ./test2 -type -f -name "abc*" -
查找隐藏文件(隐藏文件是以.开头的)
find / -type -f -name ".*" -
查找指定权限的文件
find / -type -f -perm 0666 -
查找只读文件
find / -maxdepth 1 -perm /u=r -
查找可执行文件
find / -maxdepth 1 -perm /a=x -
查找属于指定用户的文件
find / -user jin find / -user jin -name "*.txt" -
查找属于指定用户组的文件
find / -group jins -
根据文件修改或访问时间查找
# 查找第N天修改过的文件 find / -mtime 2 # 查找第N天访问过的文件 find / -atime 2 # 查找某时间内修改过的文件 find / -mtime +2 -mtime -5 # 查找N分钟内状态改变的文件 find / -cmin -5 # 查找N分钟内修改过的文件 find / -mmin 30 # 查找N分钟内访问过的文件 find / -amin 30 -
按文件大小查找
# 查找指定大小文件 find / -size 10M # 查找指定范围大小文件 find / -size +10M -size -20M -
查找空文件或空目录
# 空文件 find / -type f -empty # 空目录 find / -type d -empty -
删除查找到的文件或目录
# 文件 find ./test -type f -name "test" | xargs rm -rf # 目录 find ./test -type d -name "test" | xargs rm -rf -
查找文件中包含指定字符
find / -name "*.properties" | xargs grep 'params' -in i:忽略大小写 n:显示查找到的行号
本文介绍了 Linux 下 find 命令的各种用法,包括如何查找特定文件名、通配符匹配的文件、忽略大小写的搜索、限制查找深度、组合查询条件等。此外还提供了按文件大小、权限、所有者、最后修改时间进行筛选的方法。
1584

被折叠的 条评论
为什么被折叠?



