-print:显示
-ls:显示查找到的文件的详细信息
-exec {} \;
解释-exec {} 表示命令的参数即为所找到的文件,以;表示command命令的结束。\是转义符,因为分号在命令中还有其他用途,所以就用一个\来限定表示这是一个分号而不是其他意思。
-ok {} \; :交互式的-exec,是一种比较安全的模式执行,每次都会给出提示,让用户选择是否执行
例如:
1、查找刚才那个目录下的小于2M的文件并列出详细信息[root@myb362 find]# find . -size -2M -ls
656263 4 drwxr-xr-x 2 root root 4096 Apr 6 04:46 .
656265 512 -rwxr-xr-x 1 root root 524288 Apr 6 04:21 ./a
656270 0 -rw-r--r-- 1 root root 0 Apr 6 04:46 ./a.txt
656266 1024 -rw-r--r-- 1 root root 1048576 Apr 6 04:21 ./b
2、接上题,这次将这些文件的权限改为755然后列出详细信息[root@myb362 find]# find . -size -2M -exec chmod 755 {} \; -ls
656263 4 drwxr-xr-x 2 root root 4096 Apr 6 04:46 .
656265 512 -rwxr-xr-x 1 root root 524288 Apr 6 04:21 ./a
656270 0 -rwxr-xr-x 1 root root 0 Apr 6 04:46 ./a.txt
656266 1024 -rwxr-xr-x 1 root root 1048576 Apr 6 04:21 ./b
其实,在find命令中,除了-exec 可以对符合条件的文件执行所给的linux命令,还有另外一个命令也可以实现这种功能,那就是xargs
xargs要结合管道来完成操作
用法:find [查找位置] [查找标准] |xargs command
上边第二题用xargs处理就会是这样
find . –size –2M | xargs chmod 755 | ls –l
但是,这次ls-l要放到后边并且通过管道执行了。