Linux命令-find命令之exec

2023-05-16

    -exec  参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。
    {}   花括号代表前面find查找出来的文件名。
    使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。在有些操作系统中只允许-exec选项执行诸如l s或ls -l这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。建议在真正执行rm命令删除文件之前,最好先用ls命令看一下,确认它们是所要删除的文件。 exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。为了使用exec选项,必须要同时使用print选项。如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。
-------------------------------------------------------------------------------------------
ls -l命令放在find命令的- exec选项中:
(find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将它们列出。)
# find . -type f -exec ls -l {} \;
-rw-r--r-- 1 root root 758 12月 21 10:56 ./java_test/Test2.class
-rw-r--r-- 1 root root 593 12月 21 10:56 ./java_test/Test2.java
-rw-r--r-- 1 root root 94 12月 21 10:39 ./java_test/Test1.java
-rw-r--r-- 1 root root 415 12月 18 16:35 ./java_test/Test1.class
-rw-r--r-- 1 root root 14004 1月  11 15:30 ./test01/d.txt
-rw-r--r-- 1 root root 591 1月  12 10:20 ./test01/g.txt
-rw-r--r-- 1 root root 119 1月  11 11:33 ./test01/e.txt
-rw-r--r-- 1 root root 87 1月  11 11:28 ./test01/c.txt
-rw-r--r-- 1 root root 80 1月  11 14:29 ./test01/f.txt
-rw-r--r-- 1 root root 77 1月  10 15:33 ./test01/b.txt
-rw-r--r-- 1 root root 1016 1月  12 10:55 ./test01/h.txt
-rw-r--r-- 1 root root 32 1月  11 11:32 ./test01/a.txt
-rw-r--r-- 1 root root 355 1月  13 14:54 ./test01/tail.txt
-rw-r--r-- 1 root root 352 12月 21 14:36 ./js_test/a.js
----------------------------------------------------------------------------------------------
在目录中查找更改时间在2日以前的文件并删除它们,在删除之前先给出提示:
(ind命令在当前目录中查找所有文件名以.txt结尾、更改时间在2日以上的文件,并删除它们,只不过在删除之前先给出提示。 
按y键删除文件,按n键不删除。)

# ll
总用量 48
-rw-r--r-- 1 root root    32 1月  11 11:32 a.txt
-rw-r--r-- 1 root root    77 1月  10 15:33 b.txt
-rw-r--r-- 1 root root    87 1月  11 11:28 c.txt
-rw-r--r-- 1 root root 14004 1月  11 15:30 d.txt
-rw-r--r-- 1 root root   119 1月  11 11:33 e.txt
-rw-r--r-- 1 root root    80 1月  11 14:29 f.txt
-rw-r--r-- 1 root root   591 1月  12 10:20 g.txt
-rw-r--r-- 1 root root  1016 1月  12 10:55 h.txt
-rw-r--r-- 1 root root   355 1月  13 14:54 tail.txt
[root@lanzhu test01]# find . -name "*.txt" -mtime 2 -ok rm {} \;
< rm ... ./g.txt > ? n
< rm ... ./h.txt > ? n
-----------------------------------------------------------------------------------------------
-exec中使用grep命令:
(任何形式的命令都可以在-exec选项中使用。使用grep命令。
find命令首先匹配所有文件名为“ passwd*”的文件,例如passwd、passwd.old、passwd.bak,
然后执行grep命令看看在这些文件中是否存在一个root用户。)

# find /etc -name "passwd*" -exec grep "root" {} \;
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
-----------------------------------------------------------------------------------------------
查找文件移动到指定目录:
(查找test1中.txt文件移动到test01目录下)
# ll
总用量 16
-rw-r--r-- 1 root root  591 1月  12 10:20 g.txt
-rw-r--r-- 1 root root 1016 1月  12 10:55 h.txt
-rw-r--r-- 1 root root  355 1月  13 14:54 tail.txt
drwxr-xr-x 2 root root 4096 1月  15 10:31 test1
[root@lanzhu test01]# ll test1/
总用量 36
[root@lanzhu test01]# ll
总用量 4
drwxr-xr-x 2 root root 4096 1月  15 10:33 test1
[root@lanzhu test01]# cd test1
[root@lanzhu test1]# ll
总用量 48
-rw-r--r-- 1 root root    32 1月  11 11:32 a.txt
-rw-r--r-- 1 root root    77 1月  10 15:33 b.txt
-rw-r--r-- 1 root root    87 1月  11 11:28 c.txt
-rw-r--r-- 1 root root 14004 1月  11 15:30 d.txt
-rw-r--r-- 1 root root   119 1月  11 11:33 e.txt
-rw-r--r-- 1 root root    80 1月  11 14:29 f.txt
-rw-r--r-- 1 root root   591 1月  12 10:20 g.txt
-rw-r--r-- 1 root root  1016 1月  12 10:55 h.txt
-rw-r--r-- 1 root root   355 1月  13 14:54 tail.txt
[root@lanzhu test1]# ll
总用量 48
[root@lanzhu test01]# ll
总用量 40
-rw-r--r-- 1 root root    32 1月  11 11:32 a.txt
-rw-r--r-- 1 root root    77 1月  10 15:33 b.txt
-rw-r--r-- 1 root root    87 1月  11 11:28 c.txt
-rw-r--r-- 1 root root 14004 1月  11 15:30 d.txt
-rw-r--r-- 1 root root   119 1月  11 11:33 e.txt
-rw-r--r-- 1 root root    80 1月  11 14:29 f.txt
drwxr-xr-x 2 root root  4096 1月  15 11:08 test1
[root@lanzhu test01]# cd test1/
[root@lanzhu test1]# ll
总用量 12
-rw-r--r-- 1 root root  591 1月  12 10:20 g.txt
-rw-r--r-- 1 root root 1016 1月  12 10:55 h.txt
-rw-r--r-- 1 root root  355 1月  13 14:54 tail.txt
[root@lanzhu test1]# find . -name "*.txt" -exec mv {} .. \;
[root@lanzhu test1]# ll
总用量 0
[root@lanzhu test1]# cd ..
[root@lanzhu test01]# ll
总用量 52
-rw-r--r-- 1 root root    32 1月  11 11:32 a.txt
-rw-r--r-- 1 root root    77 1月  10 15:33 b.txt
-rw-r--r-- 1 root root    87 1月  11 11:28 c.txt
-rw-r--r-- 1 root root 14004 1月  11 15:30 d.txt
-rw-r--r-- 1 root root   119 1月  11 11:33 e.txt
-rw-r--r-- 1 root root    80 1月  11 14:29 f.txt
-rw-r--r-- 1 root root   591 1月  12 10:20 g.txt
-rw-r--r-- 1 root root  1016 1月  12 10:55 h.txt
-rw-r--r-- 1 root root   355 1月  13 14:54 tail.txt
drwxr-xr-x 2 root root  4096 1月  15 11:09 test1
------------------------------------------------------------------------------------------
用exec选项执行cp命令:
(查找test01目录中.txt文件,复制到test1目录下)
# ll
总用量 0
[root@lanzhu test1]# cd ..
[root@lanzhu test01]# ll
总用量 52
-rw-r--r-- 1 root root    32 1月  11 11:32 a.txt
-rw-r--r-- 1 root root    77 1月  10 15:33 b.txt
-rw-r--r-- 1 root root    87 1月  11 11:28 c.txt
-rw-r--r-- 1 root root 14004 1月  11 15:30 d.txt
-rw-r--r-- 1 root root   119 1月  11 11:33 e.txt
-rw-r--r-- 1 root root    80 1月  11 14:29 f.txt
-rw-r--r-- 1 root root   591 1月  12 10:20 g.txt
-rw-r--r-- 1 root root  1016 1月  12 10:55 h.txt
-rw-r--r-- 1 root root   355 1月  13 14:54 tail.txt
drwxr-xr-x 2 root root  4096 1月  15 11:09 test1
[root@lanzhu test01]# find . -name "*.txt" -exec cp {} test1 \;
cp: "./test1/d.txt" 与"test1/d.txt" 为同一文件
cp: "./test1/g.txt" 与"test1/g.txt" 为同一文件
cp: "./test1/e.txt" 与"test1/e.txt" 为同一文件
cp: "./test1/c.txt" 与"test1/c.txt" 为同一文件
cp: "./test1/f.txt" 与"test1/f.txt" 为同一文件
cp: "./test1/b.txt" 与"test1/b.txt" 为同一文件
[root@lanzhu test01]# cd test1
[root@lanzhu test1]# ll
总用量 48
-rw-r--r-- 1 root root    32 1月  15 11:18 a.txt
-rw-r--r-- 1 root root    77 1月  15 11:18 b.txt
-rw-r--r-- 1 root root    87 1月  15 11:18 c.txt
-rw-r--r-- 1 root root 14004 1月  15 11:18 d.txt
-rw-r--r-- 1 root root   119 1月  15 11:18 e.txt
-rw-r--r-- 1 root root    80 1月  15 11:18 f.txt
-rw-r--r-- 1 root root   591 1月  15 11:18 g.txt
-rw-r--r-- 1 root root  1016 1月  15 11:18 h.txt
-rw-r--r-- 1 root root   355 1月  15 11:18 tail.txt
----------------------------------------------------------------------------------------

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux命令-find命令之exec 的相关文章

  • 【recode】4、二维码自主降落与重复测试code修改

    0 前言 使用二维码辅助无人机降落 xff0c 模拟飞机先飞到二维码上空一定的高度 xff0c 然后切换到command control模式 xff1b 飞机会自动识别二维码的位置然后调整自身的X和Y位置信息 xff0c 同时控制高度进行下
  • 【code review】2、关于高度的估计过程

    0 前言 在定高模式中 xff0c 飞控需要有当前高度的信息 xff0c 也就是z的position信息 xff0c 进行Z轴的位置环控制 xff1b 那么这个Z轴的位置信息是怎么来的呢 xff1f 本文为在解读wukong FPV源码中Z
  • (开源)正点原子飞控+北醒tof+优象光流——室内定点(一)

    1 说明 xff1a 前几篇文章讲述了如何使用tof的数据实现飞机的定高 xff1b 接下来分享的是如何使用光流来定点 xff1b 主要分为以下几个步骤 xff1a 1 xff09 添加光流驱动 xff0c 获得x y轴方向的观测速度 xf
  • STM32的三种更新固件的方式

    说明 xff1a stm32有三种更新固件的方式 xff0c 分别为 xff08 1 xff09 DFU模式 xff08 Development Firmware Upgrade 即 开发固件升级 xff09 xff1b xff08 2 x
  • 有哪些比较好用的安卓模拟器(电脑端)

    模拟器帮助我们实现在电脑上玩手游的下载 目前市面上安卓模拟器软件看着种类繁多 xff0c 哪些模拟器比较好用呢 xff1f 但其实只有两大技术流派 xff1a Bluestacks和Virutalbox Bluestacks的历史可以追溯到
  • [icm42688]_readme

    记录一个使用icm42688的坑 xff1b 上图为42688的引脚连接图 xff1b 引脚说明处标注如果FSYNC不使用需要接地 xff1b 在实际测试驱动的过程中 xff0c 由于没有将该pin接地 xff0c 所以无法读取id 从机没
  • atbetaflight——指定commit号编译固件

    一 说明 在开发过程中 xff0c 比如成员A上传了一次code 而成员B需要测试本次提交的code xff0c 但是由于没有搭建ci 成员B就需要自己拉code编译 xff0c 本文将详细说明编译步骤 xff1b 二 步骤 1 使用vsc
  • atbf中imu数据的读取与处理方式

    一 说明 本文为作者在阅读atbf源码的过程中 xff0c 对atbf中imu数据的读取和处理方式的个人理解 xff0c 可能存在不对之处 xff0c 意在抛砖引玉 xff0c 请各位老师多多指正 xff1b 二 数据读取流程图 1 tar
  • atbf中imu数据读取逻辑分析仪抓取

    一 说明 使用逻辑分析仪抓区imu的spi和中断io的信号 xff0c 从而侧面描述atbf在imu上的数据读取方式 xff1b 二 硬件说明 1 硬件材料 1 mcu at32F437开发板 2 imu icm42688p 3 逻辑分析仪
  • cmake-自动识别新增子模块

    实际的项目中可能会有这种需求 xff0c 随着项目的进行 xff0c 会有新增的子模块 xff0c 如果每新增一个子模块 xff0c 顶层CMakeLists txt都要同步修改一次 xff0c 一般工程代码加入了版本控制 xff0c 那么
  • CSDN每日一练c++难题-大数加法 C语言

    题目名称 xff1a c 43 43 难题 大数加法 时间限制 xff1a 1000ms内存限制 xff1a 256M 题目描述 大数一直是一个c语言的一个难题 现在我们需要你手动模拟出大数加法过程 请你给出两个大整数加法结果 输入描述 x
  • Ubuntu软件包资源官网下载教程(包含所有下载源)

    官网地址 国外 xff1a Ubuntu Ubuntu Packages Search https packages ubuntu com 国内 xff1a Ubuntu Ubuntu Packages Search https packa
  • 基于ROS的YOLOV3实现目标检测项目过程记录

    lt link rel 61 34 stylesheet 34 href 61 34 https csdnimg cn release blogv2 dist mdeditor css editerView ck htmledit view
  • darknet_ros(yolo移植到ros系统)代码分析

    lt link rel 61 34 stylesheet 34 href 61 34 https csdnimg cn release blogv2 dist mdeditor css editerView ck htmledit view
  • DSP28335的PWM信号

    DSP的PWM信号 简介 DSP28335共12路16位的ePWM xff0c 能进行频率和占空比控制 ePWM的时钟TBCLK 61 SYSCLKOUT HSPCLKDIV CLKDIV PWM信号频率由时基周期寄存器TBPDR和时基计数
  • Kubernetes (k8s)最佳安全实践指南

    对于大部分 Kubernetes 用户来说 xff0c 安全是无关紧要的 xff0c 或者说没那么紧要 xff0c 就算考虑到了 xff0c 也只是敷衍一下 xff0c 草草了事 实际上 Kubernetes 提供了非常多的选项可以大大提高
  • DSP28335 CAN模块详解

    1 CAN2 0B协议简述 TMS320F28335上有2个增强型CAN总线控制器 xff0c 符合CAN2 0B协议 xff0c 其总线波特率可达到1Mbps 符合CAN2 0B协议的数据帧为扩展数据帧 xff0c 即采用29位标识符 数
  • DSP28335看门狗复位

    1 看门狗时钟 看门狗时钟发生器 WDCLK 61 CLKOUT 512 xff0c 当HALT时停止 6 bits预定标WDPS选择 xff1a 将WDCLK再分频后送给看门狗定时器 WDPS为WDCR的2 0 位 其6 bits配置作用
  • DSP28335 看门狗初始化函数

    DSP28335 看门狗初始化函数 看门狗初始化程序 入口参数为系统定时复位时间 在需要复位看门狗计数器的地方调用程序ServiceDog 此程序在文件DSP2833x SysCtrl c中 详细说明在 TMS320x
  • Keil5编译error:core_cm3.h

    当打开现成的工程项目时 xff0c 编译出现一堆错误 xff0c 大部分错误出现关于 core cm3 h 这个文件 xff0c 那么大概率可能跟Keil5的版本有关 xff0c 如下 xff1a 可能原因 xff1a 打开魔术棒 gt T

随机推荐

  • Simulink创建子系统,创建引用模型,调用模型,加密模型

    Simulink创建子系统 创建引用模型 调用模型 加密模型 一 创建子系统 1 创建新工程 并添加Logical Operator Unit Delay连线 完成如下图 全选所有模块 右键选择 基于所选内容创建子系统 ctrl G 完成如
  • 自动驾驶 2D 单目\双目\多目视觉方法 一(Pseudo-LiDAR,Mono3D,FCOS3D,PSMNet)

    文章目录 概述单目3D感知3D目标检测单目深度估计 双目3D感知双目3D目标检测双目深度估计 Pseudo LiDAR1 核心思路总结2 要点分析 Mono3DFCOS3DPSMNet 概述 自动驾驶中必不可少的3D场景感知 因为深度信息
  • [C语言] 利用库函数实现查找指定键值对功能

    1 功能描述 键值对 xff08 key 61 value xff09 字符串 xff0c 在开发中经常使用 要求1 xff1a 请自己定义一个接口 xff0c 实现根据key获取 要求2 xff1a 编写测试用例 要求3 xff1a 键值
  • 【C++】Clang-Format:代码自动格式化(看这一篇就够了)

    文章目录 Clang format格式化C代码1 引言 amp 安装1 1引言1 2 安装 2 配置字解释2 1 language 编程语言2 2 BaseOnStyle 基础风格2 3 AccessModifierOffset 访问性修饰
  • 生产者消费者问题(Producer-consumer problem)

    概述 生产者消费者问题 xff0c 也称有限缓冲问题 xff08 英语 xff1a Bounded buffer problem xff09 xff0c 是一个多线程同步问题的经典案例 该问题描述了两个共享固定大小缓冲区的线程 即所谓的 生
  • Yolov3+C+++opencv+VS2015训练过程及检测(很详细)

    运行环境 我的运行环境是C 43 43 43 opencv 43 VS2015 43 yolov3 xff0c 切记opencv的版本最好是opencv 3 4 2版以上的 xff0c 这个版本以后才有了DNN函数库来实现机器学习的相关内容
  • RAID容量在线计算器

    RAID容量计算器在线工具 xff0c 可以简单快速地获取各RAID需要的硬盘 xff0c 可用容量 以下地址任意打开一个即可快速获取RAID硬盘 容量 好用的工具就是要给大家一起分享 https www synology cn zh cn
  • C++代码自动检测工具clang-format和clang-tidy

    文章目录 96 clang format 96 安装方法命令格式使用案例更多关于 96 clang format 96 96 clang tidy 96 简单介绍检测原理安装方法使用方法更多关于 96 clang tidy 96 clang
  • Python作为人工智能首选编程语言,你能了解多少呢?

    为何人工智能 AI 首选Python xff1f 读完这篇文章你就知道了 我们看谷歌的TensorFlow基本上所有的代码都是C 43 43 和Python xff0c 其他语言一般只有几千行 如果讲运行速度的部分 xff0c 用C 43
  • 错误代码:WHEA_INTERAL_ERROR—蓝屏

    非常奇怪哦 xff0c 什么都没干 xff0c 笔记本电脑打不开 xff0c 蓝屏 xff0c 呀呀呀 xff0c 搞了一个小时 xff0c 最后终于解决解决办法很简单 xff0c 拔掉所有外设 xff0c 如鼠标 xff0c 键盘 xff
  • NB-IoT技术实战开发 ----- NB-IoT介绍

    一 1 初识NB IoT 1 NB IoT介绍2 物联网技术发展2 1有线物联网2 2 无线网络网 3 为什么需要NB IOT4 NB IOT优势5 NB IOT解决方案亮点和价值5 1 广覆盖5 2 低功耗5 3低成本5 4 大连接 6
  • 已知两个长度分别为m 和 n 的升序链表,若将它们合并为一个长度为 m+n 的降序链表,则最坏情况下的时间复杂度是()

    王道书第七面的第六题 xff0c 理解了一下午终于解决 xff01 算法的本质 xff1a 两个表进行比较 xff0c 其中一个表比较完之后 xff0c 剩下的直接插入 因此最好的情况 xff0c 不用想的太复杂 xff0c 其实就只是短的
  • 用例间的三种关系(小白必看)

    用例间的三种关系 xff0c 瞎子都能看懂 xff01 xff01 xff01 1 包含2 泛化3 扩展 1 包含 指向分解出来的用例 把一个复杂的步骤分解为较小的步骤 2 泛化 指向父用例 继承关系 xff0c 子用例有特别功能 eg1
  • ev加密视频转换成MP4格式,亲测可用

    需要的话私信我即可 ev4加密视频转换 觉得有用的话点个关注吧 xff0c 谢谢大家 需要该破解软件的话 xff0c 直接评论区留言即可 xff0c 我每天都会看csdn的 xff0c 杜绝二次间接收费 xff0c 全程免费分享 xff0c
  • 机器学习个人总结(王道版)

    机器学习流程 xff1a 预处理 gt 特征工程 gt 机器学习算法 选择合适的算法 gt 评估 强化学习 xff1a 用人工智能去调参 数据也是一种财富离散型数据 xff1a 由记录不同类别个体的数目所得到的数据 xff0c 又称计数数据
  • 深度学习(王道学习篇)

    在ubuntu中安装虚拟环境 设置pip安装源步骤 1 mkdir pip 2 cd pip 3 vim pip conf 4 往pip conf放入 global timeout 61 6000 index url 61 http pyp
  • python程序打包成exe文件

    1 打包成多文件 把你的运行环境导出来 pip intsall requests pip freeze span class token operator gt span requirets span class token punctua
  • K8S之Docker容器的备份和容灾方案

    数据安全在当今复杂的IT世界中变得越来越重要 xff0c 甚至超越了网络安全和信息安全 xff0c 因为一切企业基本上都是以业务和应用的线上商业发展之道 所以大家变得尤为重视 Docker 是一个开源的应用容器引擎 xff0c 基于 Go
  • 基于matlab的车牌识别系统的实现

    1 项目背景及目标 随着人们生活水平的提高 xff0c 机动车辆的数量也逐渐增加 xff0c 2020年全国的机动车保有总数量为3 72亿辆 xff0c 其中汽车保有量为2 81亿辆 xff0c 占75 54 如此庞大的汽车保有量 xff0
  • Linux命令-find命令之exec

    exec 参数后面跟的是command命令 xff0c 它的终止是以 为结束标志的 xff0c 所以这句命令后面的分号是不可缺少的 xff0c 考虑到各个系统中分号会有不同的意义 xff0c 所以前面加反斜杠 花括号代表前面find查找出来