Linux常用命令(十九) - find之exec
来源:互联网 发布:java多线程通信方式 编辑:程序博客网 时间:2024/04/26 19:27
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 {} \;
说明:find命令匹配到了当前目录下的所有普通文件,并在-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]#
实例2:在目录中查找更改时间在n日以前的文件并删除它们
命令:find . -type f -mtime +14 -exec rm {} \;
说明:在shell中用任何方式删除文件之前,应当先查看相应的文件,一定要小心!当使用诸如mv或rm命令时,可以使用-exec选项的安全模式。它将在对每个匹配到的文件进行操作之前提示你。
实例3:在目录中查找更改时间在n日以前的文件并删除它们,在删除之前先给出提示
命令:find . -name "*.log" -mtime +5 -ok rm {} \;
说明:在上面的例子中, find命令在当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。 按y键删除文件,按n键不删除。
实例4:-exec中使用grep命令
命令:find /etc -name "passwd*" -exec grep "root" {} \;
说明:任何形式的命令都可以在-exec选项中使用。在上面的例子中我们使用grep命令。find命令首先匹配所有文件名为“passwd*”的文件,例如passwd、passwd.old、passwd.bak,然后执行grep命令看看在这些文件中是否存在一个"spp"关键词。
实例5:查找文件并移动到指定目录
命令:find . -name "*.log" -exec mv {} .. \;
实例6:用exec选项执行cp命令
命令:find . -name "*.log" -exec cp {} test3 \;
- Linux常用命令(十九) - find之exec
- Linux常用命令(十九) - find之exec
- linux常用命令(20):find命令之exec
- Linux常用命令:find命令之exec
- Linux find命令之exec
- Linux命令find之"exec"
- Linux常用命令之find
- Linux进阶之 find命令之exec
- Linux命令 之 find(二)exec
- Linux命令之find exec rm
- Linux 命令20-find命令之exec
- linux命令(21):find命令之exec
- linux shell之find常用命令
- linux find exec rm
- linux find exec rm
- linux find -exec 用法
- Linux find 命令-exec
- Linux find -exec
- Ubuntu12.04使用Dotdeb安装PHP5.4 / Nginx1.4/Redis2.6等新版本
- web项目统计在线人数
- Debugging a Deadlock(用户态、内核态)
- 高精度乘法
- VC项目不同后缀文件含义
- Linux常用命令(十九) - find之exec
- nginx - 缓存过期影响因素优先级分析
- 菜鸟nginx源码剖析数据结构篇(七) 哈希表 ngx_hash_t(下)
- springMVC3学习(二)--ModelAndView对象
- vim: remove trailing whitespaces
- 好久不见再见亦是朋友吧
- maven项目生成的war包在tomcat下运行报错
- 结合ARC,Blocks和GCD 来实现一个下载的封装
- ubuntu 删除 svn