文章目录
前言一、find如何快速查找、搜索文件二、练习前言
一、find如何快速查找、搜索文件
二、练习
(1)在系统根目录下,查找文件类型为普通文件,属于lianhc用户的,2天以前的,并且不包含/usr/bin目录的文件名为main.c的文件,并将结果输出到屏幕。find / -path "/usr/bin" -prune -o -name "main.c" -user lianhc -type f -mtime +2 -print[root@flink1133 ~]# find / -path "/usr/bin" -prune -o -name "main.c" -user lianhc -type f -mtime +2 -print-prune:查找文件时不查找该目录。如果同时使用-depth选项,那么-prune将被find命令忽略。-path:查找路径名匹配所给字符串的所有文件。-mtime:按时间查找,+n表示n天之前的,-n表示今天到n天前之间的。(2)对上例中查找的结果进行删除操作find / -path "/usr/bin" -prune -o -name "main.c" -user lianhc -type f -mtime +2 -print -exec rm {} \;[root@flink1133 ~]# find / -path "/usr/bin" -prune -o -name "main.c" -user lianhc -type f -mtime +2 -print -exec rm {} \;(3)在系统根目录下,查找不在/var/log和/usr/bin目录下的所有普通文件main.cfind / \( -path /var/log -o -path /usr/bin \) -prune -o -name "main.c" -print(4)查找系统中所有大小为0的普通文件,并列出它们的完整路径。find / -type f -size 0 -exec ls -al {} \;(5)查找系统/var/log目录中修改时间在7天以前的普通文件,然后以交互方式删除。find /var/log -type f -mtime +7 -ok rm {} \;(6)在当前目录及子目录下查找所有*.txt文件find . -name "*.txt" -print(7)在用户自己的根目录下查找文件名以一个大写字母开头,紧接着是一个小写字母和两个数字,最后以.txt结尾的文件。find ~ -name "[A-Z][a-z][0-9][0-9]*.txt" -print(8)在/etc下查找文件属主为oracle用户的文件。find /etc -user oracle -print