find是很常用的一个Linux命令,但是一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec
的作用就显现出来了。exec
解释:
-exec
参数后面跟的是command
命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{}
花括号代表前面find
查找出来的文件名。
在使用find
时,只要把想要的操作写在一个文件里,就可以用exec
来配合find
查找,很方便的。在有些操作系统中只允许-exec
选项执行诸如ls
或ls -l
这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。建议在真正执行rm
命令删除文件之前,最好先用ls命令看一下,确认它们是所要删除的文件。 exec
选项后面跟随着所要执行的命令或脚本,然后是一对{ }
,一个空格和一个\
,最后是一个分号。为了使用exec选项,必须要同时使用print选项。如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。
实例1:ls -l命令放在find命令的-exec选项中
命令:
find . -type f -exec ls -l {} \;
Shell
演示执行及输出:
[root@localhost yiibai]# find . -type f -exec ls -l {} \;
-rw-r--r--. 1 yiibai yiibai 18 Aug 2 2016 ./.bash_logout
-rw-r--r--. 1 yiibai yiibai 193 Aug 2 2016 ./.bash_profile
-rw-r--r--. 1 yiibai yiibai 231 Aug 2 2016 ./.bashrc
-rw-rw-r--. 1 yiibai yiibai 30 Feb 13 03:14 ./test/mylog1.log
-rw-rw-r--. 1 yiibai yiibai 60 Feb 13 03:15 ./test/mylog2.log
-rw-rw-r--. 1 yiibai yiibai 49 Feb 13 03:20 ./test/log.txt
-rw-rw-r--. 1 yiibai yiibai 388 Feb 13 20:11 ./test/log.log
-rw-r