用处
find命令用于在指定目录下查找文件。
全称
无
参数
-name :后跟须要匹配的文件名模式,须要应用引号引起来
上面是一些简略的示例查找:(~示意$HOME目录)
1.查找以后$HOME下’.log’结尾的文件
find ~ –name “*.log” –print
2.当前目录与子目录下查找所有’.log’结尾的文件
find . –name “*.log” –print
3.当前目录与子目录下查找文件名以一个大写字母结尾的文件
find . –name “[A-Z]” –print
4.在/etc目录下查找文件名以host结尾的文件
find /etc –name “host*” –print
5.在当前目录查找文件名以一个小写字母结尾,最初是4到9加上.txt完结的文件
find . –name “[a-z]*[4-9].txt” –print
find file by name
-iname :依据文件名查找文件,不辨别大小写
1.查找文件名为.log结尾的文件,不辨别大小写
find . –iname “*.log” –print
-perm :后跟文件权限,按文件权限模式来查找文件
1.查找当前目录下文件权限为777的文件
find . –perm 777 –print
how to Find file in Linux
-prune :疏忽某个目录
1.心愿在tmp下查找,但不心愿在/tmp/tmp1下查找
find test –path “/tmp/tmp1” –prune –o –print
2.心愿在tmp下查找,但不心愿在/tmp/tmp1、/tmp/tm2、/tmp/tmp3等多个文件夹下查找
find test (–path tmp/tmp1 –o –path tmp/tmp2 –o –path tmp/tmp2 ) –prune –o –print
-user与nouser :依据文件属主查找与查找属主账户曾经被删除的文件
1.查找文件属主为qinys的所有文件
find ~ –user qinys –print
2.查找删除用户Tom的文件
find /home –nouser –print
-group与nogroup :依据文件属于的用户组查找与查找属用户组曾经被删除的文件
1.查找文件属主为qinys的所有文件
find ~ –group gp1 –print
2.查找删除用户Tom的文件
find /home –nogroup –print
-mtime\atime\ctime :依据更改工夫或者拜访工夫等查找文件
1.在根目录下查找更改工夫在5日以内的文件
find / –mtime -5 –print
2.查找/home目录下3日以前的文件
find / –mtime +3 –print
10 Linux find exec examples
-newer :查找更改工夫比某个文件新但另外一个文件旧的所有文件
语法:new_file_name ! old_file_name
其中!是逻辑非符号
1.查找更改工夫比文件a.log新,但比文件b.log旧的文件(如果当初是在目录/home下)
find –newer a.log ! -newer b.log
2.查找更改工夫比tmp.log新的文件
find . –newer tmp.log
-size :依据文件大小来查找文件(这里的文件长度既能够应用块来计量,也能够应用字节来计量)
1.查找当前目录下文件长度大于1M字节的文件
find . –size +1000000c –print
2.在目录/home下查找文件长度恰好为100字节的文件
find . –size 100c –print
3.在当前目录下查找长度超过10块的文件(一块等于512字节)
find . –size +10 –print
-type :查找某一类型的文件,诸如:
b – 块设施文件。
d – 目录。
c – 字符设施文件。
p – 管道文件。
l – 符号链接文件。
f – 一般文件。
案例
1.在目录中查找更改工夫在6日以前的文件并删除他们(注:明天是20190109)
从上图咱们能够看出,合乎查找的文件test.sh曾经被删除
2.在目录中查找更改工夫在1日以前后缀为.log的文件并删除他们,删除时候提醒
20 advanced Linux find Examples