Linux文件查找命令(locate/find)(5)

[root@localhost ~]# find /tmp/myper/ -perm /001 -ls 18772160 0 drwxr-xr-x 2 root root 62 7月 23 07:38 /tmp/myper/ 654577 0 -rw---x--x 1 root root 0 7月 23 07:32 /tmp/myper/myper1 654579 0 ---xr-xr-x 1 root root 0 7月 23 07:32 /tmp/myper/myper3 654580 0 -rwxr-xr-x 1 root root 0 7月 23 07:32 /tmp/myper/myper4

举例3:匹配/tmp/myper下user权限至少可读,group和others权限至少可以执行的文件

[root@localhost ~]# find /tmp/myper/ -perm -411 -ls 18772160 0 drwxr-xr-x 2 root root 62 7月 23 07:38 /tmp/myper/ 654577 0 -rw---x--x 1 root root 0 7月 23 07:32 /tmp/myper/myper1 654580 0 -rwxr-xr-x 1 root root 0 7月 23 07:32 /tmp/myper/myper4

 处理动作:

-print:输出至标准输出,默认选项 -ls:类似对查到的文件执行"ls -l"命令 -delete:删除查到的文件 -fls /PATE/TO/SOMEFILE:把查到的所有文件的长格式信息保存至指定的文件 -ok COMMAND {} \; :对查到的每个文件执行由COMMAND表示的命令,每次操作都由用户确认 -exec COMMAND {} \; :对查到的每个文件执行由COMMAND表示的命令,无需用户确认

find传递查到的文件路径至后面的命令时,是先查找所有符合条件的路径,并一次性传递给后面的命令的,但是有些命令不能接受过长的参数,此时命令会执行失败,可以使用以下方法:

find  | xargs COMMAND

xargs可以读取标准输出的内容,并以空白字元或者断行字元作为分隔符,分隔为arguments,然后一一传递给COMMAND执行

举例:查看符合条件文件的文件元数据

[root@localhost ~]# find /tmp/myper/ -perm -411 | stat stat: 缺少操作数 Try 'stat --help' for more information. [root@localhost ~]# find /tmp/myper/ -perm -411 | xargs stat 文件:"/tmp/myper/" 大小:62 块:0 IO 块:4096 目录 设备:fd00h/64768d Inode:18772160 硬链接:2 权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:user_tmp_t:s0 最近访问:2017-07-23 07:38:40.570675351 +0800 最近更改:2017-07-23 07:38:33.192894947 +0800 最近改动:2017-07-23 07:38:33.192894947 +0800 创建时间:- 文件:"/tmp/myper/myper1" 大小:7 块:8 IO 块:4096 普通文件 设备:fd00h/64768d Inode:654577 硬链接:1 权限:(0611/-rw---x--x) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:user_tmp_t:s0 最近访问:2017-07-23 07:58:31.699745976 +0800 最近更改:2017-07-23 07:57:38.304747287 +0800 最近改动:2017-07-23 07:57:38.304747287 +0800 创建时间:- 文件:"/tmp/myper/myper4" 大小:7 块:8 IO 块:4096 普通文件 设备:fd00h/64768d Inode:654580 硬链接:1 权限:(0755/-rwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:user_tmp_t:s0 最近访问:2017-07-23 07:58:31.699745976 +0800 最近更改:2017-07-23 07:57:53.229457221 +0800 最近改动:2017-07-23 07:57:53.229457221 +0800 创建时间:

 扩展小特性:

在查找的时候多个条件之间的关系:

与:-a  ,默认的关系

或:-o   ,满足一个条件即可

非:-not或者!  ,条件取反

有以下表达式:

!A -a !B = !(A -o B)

!A -o !B = !(A -a B)

 

小练习:

练习1:找出/tmp目录下属主为非root的所有文件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13610.html