快速查找、搜索文件
Last updated
Last updated
# 在系统根目录下,查找文件类型为普通文件,
# 属于will用户的,2天以前的,
# 并且不包含/usr/bin目录的文件名为main.c的文件,并将结果输出到屏幕。
find / -path "/usr/bin" -prune -o -name "main.c" -user will -type f -mtime +2 -print
# -prune 必须和 -path, -o 一起使用
# -prune -o 的顺序不 能调换
# -name等必须放在-prune -o后面才能使用# 对上例中查找的结果进行删除操作
find / -path "/usr/bin" -prune -o -name "main.c" -user will -type f -mtime +2 -print -exec rm {} \;# 在系统根目录下查找不在/var/log和/usr/bin目录下的,名为“main.c”的普通文件
find / \( -path "/var/log" -o -path "/usr/bin" \) -prune -o -name "main.c" -type f -print
# \ 表示引用,告诉shell不对后面的字符做特殊解释,而留给find命令去解释其意义
# \(-path中,在(和-path之间是有空格的,同时/usr/bin\)在bin和\之间也是有空格的# 查找系统中所有大小为0的普通文件,并列出它们的完整路径
find / -type f -size 0 -exec ls -al {} \;# 查找系统/var/log目录中修改时间在7天以前的普通文件,
# 然后以交互方式删除
find /var/log/ -type f -mtime +7 -ok rm {} \;# 在当前目录及子目录下查找所有*.txt文件
find ./ -name "*.txt" -print# 在用户自己的根目录下查找文件名以一个大写字母开头,
# 紧接着是一个小写字母和两个数字,
# 最后以.txt结尾的文件
find / -name "[A-Z][a-z][0-9][0-9]*.txt" -print