find
命令详解
find
是 Unix 和类 Unix 操作系统(如 Linux 和 macOS)中一个非常强大的命令行工具,用于在文件系统中搜索文件和目录。find
命令可以根据多种条件(如文件名、类型、大小、修改时间等)进行搜索,并可以执行复杂的操作。
基本语法
find
命令的基本语法如下:
find [路径] [表达式]
- 路径:指定要搜索的目录路径。如果不指定路径,默认从当前目录开始搜索。
- 表达式:指定搜索条件。表达式可以包含多个条件,用逻辑运算符连接。
常见选项和表达式
-
按名称搜索文件
find /path/to/search -name "filename"
-name
:按文件名搜索。-iname
:按文件名搜索,不区分大小写。
示例:
find /home/user -name "*.txt" find /home/user -iname "*.TXT"
-
按类型搜索文件
find /path/to/search -type f
-type f
:搜索普通文件。-type d
:搜索目录。-type l
:搜索符号链接。-type c
:搜索字符设备文件。-type b
:搜索块设备文件。
示例:
find /home/user -type f find /home/user -type d
-
按大小搜索文件
find /path/to/search -size +10M
-size +10M
:搜索大于 10MB 的文件。-size -10M
:搜索小于 10MB 的文件。-size 10M
:搜索正好 10MB 的文件。
示例:
find /home/user -size +100M find /home/user -size -1K
-
按修改时间搜索文件
find /path/to/search -mtime +7
-mtime +7
:搜索修改时间超过 7 天的文件。-mtime -7
:搜索修改时间在 7 天内的文件。-mtime 7
:搜索修改时间恰好为 7 天的文件。
示例:
find /home/user -mtime +30 find /home/user -mtime -7
-
按访问时间搜索文件
find /path/to/search -atime +7
-atime +7
:搜索访问时间超过 7 天的文件。