相关文章推荐
性感的鸵鸟  ·  curl命令 CURL命令 测试 ...·  2 月前    · 
八块腹肌的葡萄酒  ·  Laravel7 - 写单元测试时,提示 ...·  1 月前    · 
豪情万千的双杠  ·  解决 Laravel 单元测试报错:A ...·  1 月前    · 
慷慨的蚂蚁  ·  哈希长度扩展攻击的简介以及HashPump安 ...·  4 周前    · 
爱看球的牙膏  ·  如何用slf4j记录postgres驱动程序 ...·  9 月前    · 
冷静的楼房  ·  VBA:发送多封带有.jpg图片在正文中,并 ...·  1 年前    · 
怕考试的炒粉  ·  python遗传算法之geatpy的深入理解 ...·  1 年前    · 
多情的圣诞树  ·  springboot2的hikari数据库连 ...·  1 年前    · 
Code  ›  Find exec的用法开发者社区
root
https://cloud.tencent.com/developer/article/1840903
悲伤的铁链
1 年前
作者头像
用户8418197
0 篇文章

Find exec的用法

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > howtouselinux > Find exec的用法

Find exec的用法

作者头像
用户8418197
修改 于 2021-07-01 18:13:41
580 0
修改 于 2021-07-01 18:13:41
举报

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 \;

20 Advanced Linux Find Command Examples

10 Linux Find Exec examples - Advanced Part

本文系转载, 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

grep
linux

本文系 转载 , 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

grep
linux
评论
登录 后参与评论
0 条评论
热度
最新
登录 后参与评论
关于作者
用户8418197
0
文章
0
累计阅读量
0
获赞
前往专栏
目录
  • exec解释:
领券
  • 社区

    • 专栏文章
    • 阅读清单
    • 互动问答
    • 技术沙龙
    • 技术视频
    • 团队主页
    • 腾讯云TI平台
  • 活动

    • 自媒体分享计划
    • 邀请作者入驻
    • 自荐上首页
    • 技术竞赛
  • 资源

    • 技术周刊
    • 社区标签
    • 开发者手册
    • 开发者实验室
  • 关于

    • 社区规范
    • 免责声明
    • 联系我们
    • 友情链接

腾讯云开发者

扫码关注腾讯云开发者

扫码关注腾讯云开发者

领取腾讯云代金券

热门产品

  • 域名注册
  • 云服务器
  • 区块链服务
  • 消息队列
  • 网络加速
  • 云数据库
  • 域名解析
  • 云存储
  • 视频直播

热门推荐

  • 人脸识别
  • 腾讯会议
  • 企业云
  • CDN加速
  • 视频通话
  • 图像分析
  • MySQL 数据库
  • SSL 证书
  • 语音识别

更多推荐

  • 数据安全
  • 负载均衡
  • 短信
  • 文字识别
  • 云点播
  • 商标注册
  • 小程序开发
  • 网站监控
  • 数据迁移

Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有

深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569

腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287

问题归档 专栏文章 快讯文章归档 关键词归档 开发者手册归档 开发者手册 Section 归档

Copyright © 2013 - 2023 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

登录 后参与评论
 
推荐文章
性感的鸵鸟  ·  curl命令 CURL命令 测试 http接口 测试api_curl keystore
2 月前
八块腹肌的葡萄酒  ·  Laravel7 - 写单元测试时,提示 A facade root has not been set。
1 月前
豪情万千的双杠  ·  解决 Laravel 单元测试报错:A facade root has not been set开发者社区
1 月前
慷慨的蚂蚁  ·  哈希长度扩展攻击的简介以及HashPump安装使用方法 - pcat - 博客园
4 周前
爱看球的牙膏  ·  如何用slf4j记录postgres驱动程序消息?-腾讯云开发者社区-腾讯云
9 月前
冷静的楼房  ·  VBA:发送多封带有.jpg图片在正文中,并附带表格的电子邮件
1 年前
怕考试的炒粉  ·  python遗传算法之geatpy的深入理解_python_脚本之家
1 年前
多情的圣诞树  ·  springboot2的hikari数据库连接池默认配置 - 掘金
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号