版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接。 https://blog.csdn.net/axing2015/article/details/88818768
在 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