大家好,欢迎来到IT知识分享网。
- 写博客
- 发Chat
- 登录注册
-
我的博客
消息(3)
帐号设置
反馈
帮助
退出
转
一个强大的linux命令——find之exec
2017年01月09日 11:23:20
阅读数:7422
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 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]#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
实例2:在目录中查找更改时间在n日以前的文件并删除它们
命令:
find . -type f -mtime +14 -exec rm {} \;
输出:
[root@localhost test]# ll 总计 328 -rw-r--r-- 1 root root 11-03 06:19 log2012.log -rw-r--r-- 1 root root 33 10-28 16:54 log2013.log -rw-r--r-- 1 root root 127 10-28 16:51 log2014.log lrwxrwxrwx 1 root root 7 10-28 15:18 log_link.log -> log.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 drwxr-xr-x 6 root root 4096 10-27 01:58 scf drwxrwxrwx 2 root root 4096 10-28 14:47 test3 drwxrwxrwx 2 root root 4096 10-28 14:47 test4 [root@localhost test]# find . -type f -mtime +14 -exec rm {} \; [root@localhost test]# ll 总计 312 -rw-r--r-- 1 root root 11-03 06:19 log2012.log lrwxrwxrwx 1 root root 7 10-28 15:18 log_link.log -> log.log drwxr-xr-x 6 root root 4096 10-27 01:58 scf drwxrwxrwx 2 root root 4096 11-12 19:32 test3 drwxrwxrwx 2 root root 4096 11-12 19:32 test4 [root@localhost test]#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
实例3:在目录中查找更改时间在n日以前的文件并删除它们,在删除之前先给出提示
命令:
find . -name “*.log” -mtime +5 -ok rm {} \;
输出:
[root@localhost test]# ll 总计 312 -rw-r--r-- 1 root root 11-03 06:19 log2012.log lrwxrwxrwx 1 root root 7 10-28 15:18 log_link.log -> log.log drwxr-xr-x 6 root root 4096 10-27 01:58 scf drwxrwxrwx 2 root root 4096 11-12 19:32 test3 drwxrwxrwx 2 root root 4096 11-12 19:32 test4 [root@localhost test]# find . -name "*.log" -mtime +5 -ok rm {} \; < rm ... ./log_link.log > ? y < rm ... ./log2012.log > ? n [root@localhost test]# ll 总计 312 -rw-r--r-- 1 root root 11-03 06:19 log2012.log drwxr-xr-x 6 root root 4096 10-27 01:58 scf drwxrwxrwx 2 root root 4096 11-12 19:32 test3 drwxrwxrwx 2 root root 4096 11-12 19:32 test4 [root@localhost test]#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
实例4:-exec中使用grep命令
命令:
find /etc -name “passwd*” -exec grep “root” {} \;
输出:
[root@localhost test]# find /etc -name "passwd*" -exec grep "root" {} \; root:x:0:0:root:/root:/bin/bash root:x:0:0:root:/root:/bin/bash [root@localhost test]#
- 1
- 2
- 3
- 4
实例5:查找文件移动到指定目录
命令:
find . -name “*.log” -exec mv {} .. \;
输出:
[root@localhost test]# ll 总计 12drwxr-xr-x 6 root root 4096 10-27 01:58 scf drwxrwxr-x 2 root root 4096 11-12 22:49 test3 drwxrwxr-x 2 root root 4096 11-12 19:32 test4 [root@localhost test]# cd test3/ [root@localhost test3]# ll 总计 304 -rw-r--r-- 1 root root 11-03 06:19 log2012.log -rw-r--r-- 1 root root 61 11-12 22:44 log2013.log -rw-r--r-- 1 root root 0 11-12 22:25 log2014.log [root@localhost test3]# find . -name "*.log" -exec mv {} .. \; [root@localhost test3]# ll 总计 0[root@localhost test3]# cd .. [root@localhost test]# ll 总计 316 -rw-r--r-- 1 root root 11-03 06:19 log2012.log -rw-r--r-- 1 root root 61 11-12 22:44 log2013.log -rw-r--r-- 1 root root 0 11-12 22:25 log2014.log drwxr-xr-x 6 root root 4096 10-27 01:58 scf drwxrwxr-x 2 root root 4096 11-12 22:50 test3 drwxrwxr-x 2 root root 4096 11-12 19:32 test4 [root@localhost test]#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
实例6:用exec选项执行cp命令
命令:
find . -name “*.log” -exec cp {} test3 \;
输出:
[root@localhost test3]# ll 总计 0[root@localhost test3]# cd .. [root@localhost test]# ll 总计 316 -rw-r--r-- 1 root root 11-03 06:19 log2012.log -rw-r--r-- 1 root root 61 11-12 22:44 log2013.log -rw-r--r-- 1 root root 0 11-12 22:25 log2014.log drwxr-xr-x 6 root root 4096 10-27 01:58 scf drwxrwxr-x 2 root root 4096 11-12 22:50 test3 drwxrwxr-x 2 root root 4096 11-12 19:32 test4 [root@localhost test]# find . -name "*.log" -exec cp {} test3 \; cp: “./test3/log2014.log” 及 “test3/log2014.log” 为同一文件 cp: “./test3/log2013.log” 及 “test3/log2013.log” 为同一文件 cp: “./test3/log2012.log” 及 “test3/log2012.log” 为同一文件 [root@localhost test]# cd test3 [root@localhost test3]# ll 总计 304 -rw-r--r-- 1 root root 11-12 22:54 log2012.log -rw-r--r-- 1 root root 61 11-12 22:54 log2013.log -rw-r--r-- 1 root root 0 11-12 22:54 log2014.log [root@localhost test3]#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
文章标签: linuxcommand
个人分类: linux
相关热词: 一个和 一个 一个标题一个框 一个圈里一个c 一个端口一个ip
▼查看关于本篇文章更多信息
上一篇一个功能强大的linux命令——find
下一篇一个强大的linux命令——find之xargs
æ³å¯¹ä½è说ç¹ä»ä¹
发表评论
添加代码片
还能输入1000个字符
find -exec 与xargs 区别
hittata
09-26 2.1万
find . -name “*.txt” -exec rm {} \; find . -name “*.txt” | xargs rm {} -exec 1.参数是一个一个传递…
Linux中exec系列函数的应用
tycoon1988
09-05 1098
这段时间在研究linux中用户登陆和shell执行程序的原理。我们知道,shell命令分为内部命令和外部命令,内部命令有诸如cd,history,exit,echo等,常见的外部命令有ls,ping,…
Linux命令 find和mv的结合使用:查找文件,移动到某个目录 – CSDN博客
6-18
-exec mv –查找完毕后执行移动操作; 3.按照时间移动到指定目录里 # find ….文章标签: linux date file 个人分类: linux 想对作者说点什么? 我来说一句…
按时间查找并移动文件 – CSDN博客
6-6
linux查看目录的四种方法(ls只显示目录 ) 1, ls -d * 2, find . -type …-exec mv –查找完毕后执行移动操作; 3.按照时间移动到指定目录里 # find ….
Linux系统exec命令
psvoldemort
01-15 3758
shell的内建命令exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉,而且exec命令后的其它命令将不再执行。 因此,如果你在一个shell里面…
Linux下用find查找并复制指定文件到指定目录下 – CSDN博客
6-15
关键字: linux find 将用户目录ffmpeg目录下所有的*.a文件复制到当前目录ffmpeg/lib下, find ~/ffmpeg -name “*.a” -type f -exec cp {} ./ffmpeg/lib …
find和grep结合更加方便的查找 – CSDN博客
8-1
不足:用ctrl+r搜索历史命令找到grep之后,如果想改变查询词,还需要从末尾移动光标…在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令…
Linux命令:find和exec结合使用
imzoer
03-31 9296
exec选项后面跟随着所要执行的命令或脚本,然后是一对儿 {},一个空格和一个\,最后是一个分号。 cmd {} \; 看例子: zoer@ubuntu:~$ awk ‘BEGIN{cou…
linux下exec系列(一)
JoeBlackz
11-02 3817
fork()是用于建立进程的手段之一,但是fork()只能建立相同程序的副本。幸运的是,Linux系统还提供了系统调用exec系列。它可用于新程序的运行。 如果exec调用成功,调用进程将被覆盖,然…
linux环境下find的所有用法以及粘滞位的说明 – CSDN博客
6-30
1.Linux中find常见用法示例 find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数; pathname: find命令所查找的目录路径。例如用….
Linux下用find查找并复制指定文件到指定目录下 – CSDN博客
8-10
linux find查找多个指定目录并复制到指定文件夹 …shell脚本:cp某个目录下筛选(find)后的某些文件到另…移动类 37篇 金融类 31篇 信息保存 56篇 Web…
linux exec用法总结
p5
04-21 306
分类: LINUX 原文地址:linux exec用法总结 作者:taosk Linux中exec的用法总结 先总结一个表: exec命令 …
Linux 查找某天的文件并打包 – CSDN博客
8-4
1.方法一 ll -lrt | grep May\ 25 | awk ‘{print $9}’ | xargs tar -zcvf /home/DexYang/userser0525.tar.gz
Linux下find命令使用总结 – CSDN博客
8-2
-type f -name test.py -delete 将2天前的.sh文件移动到old目录中 find ….1.Linux下find命令在目录结构中搜索文件,并执行指定的操作。 Linux下find命令提供…
LINUX exec函数的使用
_
07-02 167
(1)exec函数说明 fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的…
Linux中find命令,与exec合用,按修改时间查询等
lkforce
10-18 1242
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释: -exec 参数后面跟的是comm…
linux find用法整理 – CSDN博客
8-7
linux find 一个不错的网站http://www.linuxsir….NUM matchinglines.在一个文件中匹配到NUM后就退出….目录下(递归子目录)的所有的*.sh文件并移动到…
linux怎么将一个文件移动到另一个目录下 – CSDN博客
8-6
(3)把当前目录的一个子目录里的文件移动到另一个…参数备份目标文件后,备份文件的字尾会被加上一个…linux 将find的文件copy到另一个文件夹 yangguang…
【Linux】shell命令学习之find
xiajun0
09-22 4939
find命令主要用来进行文件或目录的查找。 -print指明打印出匹配的文件名 -print0指明使用’\0’定界符来打印每一个匹配的文件名 -name:按文件名查找 -iname忽略…
linux命令—cp 命令
u0
11-23 1027
cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是…
没有更多推荐了,返回首页
个人资料
Vtamins
原创
32
粉丝
14
喜欢
8
评论
6
等级:
访问:
3万+
积分:
736
排名:
7万+
勋章:
持之以恒
授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
最新文章
- 阿里巴巴2017 Java在线编程题
- 阿里二面回忆
- 阿里一面回忆
- 计算机网络面试总结
- 设计模式面试总结
个人分类
- 学习笔记 20篇
- 考试 1篇
- hadoop 7篇
- zookeeper 3篇
- Java 3篇
- 设计模式 1篇
- linux 23篇
- 面试攻略 12篇
- go 2篇
- 大数据 3篇
- python 2篇
- 服务器 1篇
- 安全 1篇
展开
归档
- 2018年3月 10篇
- 2018年1月 2篇
- 2017年10月 2篇
- 2017年9月 5篇
- 2017年3月 1篇
- 2017年2月 3篇
- 2017年1月 6篇
- 2016年12月 15篇
- 2016年11月 6篇
- 2016年5月 2篇
- 2016年4月 2篇
- 2016年3月 1篇
展开
热门文章
- 穿透内网–实现从外网远程桌面或ssh到内网x
阅读量:9490
- Java面试之垃圾回收总结
阅读量:7433
- 一个强大的linux命令——find之exec
阅读量:7418
- Python Excel数据查找
阅读量:1995
- Go语言用GoPacket抓包分析
阅读量:1339
最新评论
- 穿透内网–实现从外网远程桌面或s…
yichang99:用N2N,简单有效。
- 穿透内网–实现从外网远程桌面或s…
u0:[reply]weixin_[/reply] 同时存在两个服务端的,如果跳板机的N…
- 穿透内网–实现从外网远程桌面或s…
weixin_:vps链接不上去 这是报错的信息: 几个在同一 IP 地址的 VPN Server。您可以指定目…
- LintCode之最长公共子串(L…
DCX_abc:感谢分享
- 穿透内网–实现从外网远程桌面或s…
u0:很好的文章
联系我们
请扫描二维码联系客服
400-660-0108
客服 客服论坛
关于招聘广告服务 网站地图
©2018 CSDN版权所有 京ICP证0号
百度提供搜索支持
经营性网站备案信息
网络110报警服务
中国互联网举报中心
北京互联网违法和不良信息举报中心
- 2
- 写评论
- 目录
- exec解释
- 应用实例
- 实例1ls -l命令放在find命令的-exec选项中
- 实例2在目录中查找更改时间在n日以前的文件并删除它们
- 实例3在目录中查找更改时间在n日以前的文件并删除它们在删除之前先给出提示
- 实例4-exec中使用grep命令
- 实例5查找文件移动到指定目录
- 实例6用exec选项执行cp命令
- 收藏
- 微信
- 微博
关闭
关闭
关闭
不良信息举报
举报内容:
一个强大的linux命令——find之exec
举报原因:
色情 政治 抄袭 广告 招聘 骂人 其他
原文地址:
原因补充:
最多只允许输入30个字
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/153041.html