find命令是Linux中非常强大的文件搜索工具,它可以根据文件名、大小、修改时间等多种条件来查找文件。以下是一些基本的find命令用法:
find [路径] [表达式]
按文件名搜索
find /path/to/search -name "filename"
例如,查找当前目录及其子目录下所有名为example.txt的文件:
find . -name "example.txt"
按文件名模式搜索
find /path/to/search -name "pattern*"
例如,查找当前目录及其子目录下所有以example开头的文件:
find . -name "example*"
按文件类型搜索
find /path/to/search -type f # 查找文件
find /path/to/search -type d # 查找目录
find /path/to/search -type l # 查找符号链接
按文件大小搜索
find /path/to/search -size +100M # 查找大于100MB的文件
find /path/to/search -size -100M # 查找小于100MB的文件
find /path/to/search -size 100M # 查找正好100MB的文件
按修改时间搜索
find /path/to/search -mtime -7 # 查找最近7天内修改过的文件
find /path/to/search -mtime +30 # 查找30天前修改过的文件
find /path/to/search -mtime 0 # 查找今天修改过的文件
按权限搜索
find /path/to/search -perm 755 # 查找权限为755的文件
find /path/to/search ! -perm 755 # 查找权限不是755的文件
组合条件搜索
find /path/to/search -name "example*" -type f -size +100M
例如,查找当前目录及其子目录下所有以example开头且大于100MB的文件。
-exec:对找到的文件执行指定的命令。
find . -name "example.txt" -exec rm {} \;
这条命令会删除所有名为example.txt的文件。
-print:打印找到的文件路径(默认行为)。
find . -name "example.txt" -print
-ls:以ls -l的格式显示找到的文件信息。
find . -name "example.txt" -ls
通过这些基本用法和选项,你可以灵活地使用find命令在Linux系统中进行文件搜索。