find 命令是在 Linux 和 Unix 系统中用于查找文件的强大工具。它可以递归地在指定的目录和子目录中搜索符合条件的文件,并执行一些操作。
以下是 find 命令的一些常见用法和参数:
基本用法
查找指定名称的文件:
find /path/to/directory -name "filename"
这个命令会在 /path/to/directory 目录中递归查找名称为 filename 的文件。
按类型查找
查找指定类型的文件:
find /path/to/directory -type f
这个命令会在 /path/to/directory 目录中递归查找所有类型的文件(不包括目录、符号链接等)。
查找指定类型的目录:
find /path/to/directory -type d
这个命令会在 /path/to/directory 目录中递归查找所有类型的目录。
按时间戳查找
查找最近 N 天内被修改的文件:
find /path/to/directory -type f -mtime -N
这个命令会在 /path/to/directory 目录中递归查找最近 N 天内被修改的所有类型的文件。
查找在 N 天前被修改的文件:
find /path/to/directory -type f -mtime +N
这个命令会在 /path/to/directory 目录中递归查找 N 天前被修改的所有类型的文件。
按大小查找
查找大于指定大小的文件:
find /path/to/directory -type f -size +Nc
这个命令会在 /path/to/directory 目录中递归查找所有类型的文件,且文件大小大于 N 个字节(字节可以用 c 表示)。
查找小于指定大小的文件:
find /path/to/directory -type f -size -Nc
这个命令会在 /path/to/directory 目录中递归查找所有类型的文件,且文件大小小于 N 个字节(字节可以用 c 表示)。
指定操作
可以通过 -exec 参数指定要执行的操作。例如,以下命令会将查找到的所有 .txt 文件复制到另一个目录中:
find /path/to/directory -name "*.txt" -exec cp {} /path/to/destination \;
在这个命令中, {} 会被替换成查找到的文件名, \; 是一个必需的终止符号。
还有许多其他参数可以使用,您可以通过 man find 命令查看 find 命令的完整手册。