Linux find命令中-exec参数的作用

我们都知道 , Linux命令加上不同的参数其效果也不同 , 下面小编将针对Linux fing命令中的-exec 参数给大家做个详细介绍 , 以便你有个了解 。

Linux find命令中-exec参数的作用


exec解释:
-exec 参数后面跟的是command命令 , 它的终止是以;为结束标志的 , 所以这句命令后面的分号是不可缺少的 , 考虑到各个系统中分号会有不同的意义 , 所以前面加反斜杠 。
{} 花括号代表前面find查找出来的文件名 。
使用find时 , 只要把想要的操作写在一个文件里 , 就可以用exec来配合find查找 , 很方便的 。在有些操作系统中只允许-exec选项执行诸如l s或ls -l这样的命令 。大多数用户使用这一选项是为了查找旧文件并删除它们 。建议在真正执行rm命令删除文件之前 , 最好先用ls命令看一下 , 确认它们是所要删除的文件 。exec选项后面跟随着所要执行的命令或脚本 , 然后是一对儿{ } , 一个空格和一个\ , 最后是一个分号 。为了使用exec选项 , 必须要同时使用print选项 。如果验证一下find命令 , 会发现该命令只输出从当前路径起的相对路径及文件名 。
实例1:ls -l命令放在find命令的-exec选项中
命令:
find。-type f -exec ls -l {} \;
输出:
代码如下:
[root@localhost test]# find。-type f -exec ls -l {} \;
-rw-r--r-- 1 root root 127 10-28 16:51。/log2014.log
-rw-r--r-- 1 root root 0 10-28 14:47。/test4/log3-2.log
-rw-r--r-- 1 root root 0 10-28 14:47。/test4/log3-3.log
-rw-r--r-- 1 root root 0 10-28 14:47。/test4/log3-1.log
-rw-r--r-- 1 root root 33 10-28 16:54。/log2013.log
-rw-r--r-- 1 root root 302108 11-03 06:19。/log2012.log
-rw-r--r-- 1 root root 25 10-28 17:02。/log.log
-rw-r--r-- 1 root root 37 10-28 17:07。/log.txt
-rw-r--r-- 1 root root 0 10-28 14:47。/test3/log3-2.log
-rw-r--r-- 1 root root 0 10-28 14:47。/test3/log3-3.log
-rw-r--r-- 1 root root 0 10-28 14:47。/test3/log3-1.log
[root@localhost test]#
说明:
上面的例子中 , find命令匹配到了当前目录下的所有普通文件 , 并在-exec选项中使用ls -l命令将它们列出 。
实例2:在目录中查找更改时间在n日以前的文件并删除它们
命令:
find。-type f -mtime +14 -exec rm {} \;
输出:
【Linux find命令中-exec参数的作用】上一页123下一页 剩下全文

    推荐阅读