格式:

    1. find path-name [-options] [-print -exec -ok command {} \;]

    -options:
    image.png

    {} 表示 shell 命令的选项即为所查找到的文件

    命令的末尾必须以 ; 结束。

    -ok:对查找出的符合条件的文件执行所给出的 Linux 命令。与 exec 不同的是,它会询问用户是否需要执行该命令。

    运维例子:

    1. # 在系统根目录下,查找文件类型为普通文件,属于ixdba用户的,2天以前的,并且不包含/usr/bin目录的文件名为main.c的文件,并将结果输出到屏幕。
    2. find / -path "/usr/bin" -prune -o -name "main.c" -user ixdba -type f -mtime +2 -print
    3. # 对上例中查找的结果进行删除操作。
    4. find / -path "/usr/bin" -prune -o -name "main.c" -user ixdba -type f -mtime +2 \
    5. -print -exec rm {} \;
    6. # 在系统根目录下查找不在/var/log和/usr/bin目录下的所有普通文件
    7. find / \( -path "/usr/bin" -o -path "/var/log" \) -type f -print
    8. # 查找系统中所有大小为0的普通文件,并列出它们的完整路径
    9. find / -size 0 -type f -exec ls -alh {} \;
    10. # 查找系统/var/log目录中修改时间在7天以前的普通文件,然后以交互方式删除。
    11. find /var/log -type f -mtime +7 -ok rm {} \;
    12. # 在当前目录及子目录下查找所有*.txt文件。
    13. find . -name "*.txt" -print
    14. # 在用户自己的根目录下查找文件名以一个大写字母开头,紧接着是一个小写字母和两个数字,最后以.txt结尾的文件。
    15. find ~ -name "[A-Z][a-z][0-9][0-9]*.txt" -print
    16. # 在/etc目录下查找文件属主为ixdba用户的文件。
    17. find /etc -user ixdba -print