首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用find -exec执行多个命令,但其中一个命令是'cd‘

使用find命令结合-exec参数可以在Linux系统中执行多个命令。当需要在find命令的-exec参数中执行多个命令时,可以使用分号(;)或者加上反斜杠(;)来分隔每个命令。

然而,由于cd命令是用来改变当前工作目录的,它只会在子进程中生效,对于父进程是没有影响的。因此,在-exec参数中使用cd命令是无法改变当前工作目录的。

如果你需要在find命令中执行多个命令,并且其中一个命令需要改变当前工作目录,可以使用一个包含多个命令的脚本文件来实现。具体步骤如下:

  1. 创建一个脚本文件,比如script.sh,使用文本编辑器打开该文件。
  2. 在脚本文件中,按照需要的顺序编写要执行的命令,包括cd命令。
  3. 保存并关闭脚本文件。
  4. 在find命令的-exec参数中,指定要执行的脚本文件,例如:-exec /path/to/script.sh {} ;。

这样,find命令会对每个匹配到的文件执行指定的脚本文件,其中脚本文件中的cd命令会在子进程中生效,实现改变当前工作目录的效果。

需要注意的是,脚本文件需要具有执行权限,可以使用chmod命令添加执行权限,例如:chmod +x /path/to/script.sh。

关于find命令和-exec参数的更多信息,你可以参考腾讯云文档中的相关内容:

  • find命令:https://cloud.tencent.com/document/product/213/4954
  • -exec参数:https://cloud.tencent.com/document/product/213/4954#-exec
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

这20类500个常用命令参数你一定记不到50%

使用which命令,就可以看到某个系统命令是否存在,以及执行的到底一个位置的命令。...3)查看cd which cd(显示不存在,因为cd内建命令,而which查找显示PATH中的命令) 查看当前PATH配置:echo $PATH;或使用env查看所有环境变量及对应值...*reason$'(其中.表示一个字符,*表示任务多个;....-print: find命令将匹配的文件输出到标准输出。 -execfind命令对匹配的文件执行该参数所给出的shell命令。...在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略 -newer 如果希望查找更改时间比某个文件新比另一个文件旧的所有文件

93780

Linux 提权总结

/shell nmap --script=shell 全版本通杀提权,利用nmap可以执行指定文件的特点提权 2.find find / -exec command find命令自带-exec参数,可以执行命令...,若find有suid权限,那么使用exec相当于直接提权到root....suid权限 攻击者视角: 首先使用下列指令搜寻suid权限文件 find / -perm -u=s -type f 2>/dev/null 发现可疑目标,执行一下看看 发现返回了ps命令的结果,我们可以以此猜测这个文件内部...遂可尝试环境变量提权 我们依次执行以下命令 cd /tmp echo "/bin/bash" > ps export $PATH=/tmp:$PATH 需要修改自身环境变量的权限,基本上都有这个权限...首先我们执行如下命令 docker run -v /:/mnt --rm -it crf_web1 chroot /mnt sh 然后在其中的/etc/passwd中写入一个root权限用户(我这里直接无密码了

6K20

Linux命令find——查找命令

-type f -mtime +30 -name "*.log" -exec mv {} old \; 例6:因为单行命令中-exec参数中无法使用多个命令,以下方法可以实现在-exec之后接受多条命令...-mtime +3 -print 8.查找比某个文件新或旧的文件: 如果希望查找更改时间比某个文件新比另一个文件旧的所有文件,可以使用-newer选项。...oldest_file_name 其中,!逻辑非符号。...-name "*.XC" -mount -print 还有很重要的exec:-exec 参数后面跟的command命令,它的终止是以;为结束标志的,所以这句命令后面的分号不可缺少的,...建议在真正执行rm命令删除文件之前,最好先用ls命令看一下,确认它们所要删除的文件。 exec选项后面跟随着所要执行命令或脚本,然后一对儿{ },一个空格和一个\,最后一个分号。

4.5K50

Linux命令find和grep详解

* /表示根目录 * -print:表示将结果输出到标准输出上 -exec:表示对文件执行所给出的shell命令 -ok:...-2 6、将 find 搜索的结果集执行某一指定命令 在当前目录及子目录下,查找名字为 .c 结尾的文件并将文件以 ls -lh 显示 find ./ -name '*.c' -exec ls..., xargs 会对结果进行分段处理,所以性能好些, xargs 也有缺陷, xargs 默认用空格来分割结果集,当文件名有空格的时候,会因为文件名被切割失效 -xargs:将 find 搜索的结果集执行某一指定命令...创建名字带空格文件 “ab cd.c” touch "ab cd.c" ls -lh xargs 缺陷演示 find ./ -maxdepth 1 -name "*.c" -exec ls -l...-f 或 --file= : 指定规则文件,其内容含有一个多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。

71550

Linux 【入门篇】——常用命令学习

*reason$'(其中.表示一个字符,*表示任务多个;.*表示任意多个字符) 17、find 命令 用于在文件树中查找文件,并作出相应的处理。...-print: find命令将匹配的文件输出到标准输出。 -execfind命令对匹配的文件执行该参数所给出的shell命令。...-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行一个命令之前,都会给出提示,让用户来确定是否执行。...在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略 -newer 如果希望查找更改时间比某个文件新比另一个文件旧的所有文件,可以使用-newer...-f -name 'passwd*' -exec grep "pkg" {} \; (8)用 exec 选项执行 cp 命令 find .

1K10

Linux 常用命令

*reason$'(其中.表示一个字符,*表示任务多个;.*表示任意多个字符) 17、find 命令 用于在文件树中查找文件,并作出相应的处理。...-print: find命令将匹配的文件输出到标准输出。 -execfind命令对匹配的文件执行该参数所给出的shell命令。...-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行一个命令之前,都会给出提示,让用户来确定是否执行。...在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略 -newer 如果希望查找更改时间比某个文件新比另一个文件旧的所有文件,可以使用-newer...-f -name 'passwd*' -exec grep "pkg" {} \; (8)用 exec 选项执行 cp 命令 find .

1K62

Linux常用命令

实例: (1)查看 ls 命令是否存在,执行哪个 which ls (2)查看 which which which (3)查看 cd which cd(显示不存在,因为 cd 内建命令,而 which...*表示任意多个字符) 17、find 命令 用于在文件树中查找文件,并作出相应的处理。 命令格式: find pathname -options [-print -exec -ok ...]...-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行一个命令之前,都会给出提示,让用户来确定是否执行。...在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略 -newer 如果希望查找更改时间比某个文件新比另一个文件旧的所有文件,可以使用-newer...-f -name 'passwd*' -exec grep "pkg" {} ; (8)用 exec 选项执行 cp 命令 find .

71110

3.查找定位文件命令

这个命令应该是最常用的一个Linux命令了。可以通过cd命令迅速、灵活地切换到不同的工作目录。...除了常见的切换目录方式,还可以使用cd -”命令返回到上一次所处的目录,使用cd..”命令进入上级目录,以及使用cd~”命令切换到当前用户的家目录,抑或使用cd~username”命令切换到其他用户的家目录...它十分类似于第3章将要讲解的管道符技术,并且由于find命令对参数有特殊要求,因此虽然exec长格式形式,但它的前面依然只需要一个减号(-)。...该实验的重点“-exec {} \;”参数,其中的{}表示find命令搜索出的每一个文件,并且命令的结尾必须“\;”。...在使用locate命令时,先使用updatedb命令生成一个索引库文件,这个库文件的名字/var/lib/mlocate/mlocate.db,后续在使用locate命令搜索文件时就是在该库中进行查找操作

69520

Centos7中find命令的用法,以及find+execfind+xargs

-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行一个命令之前,都会给出提示,让用户来确定是否执行。...{} 花括号代表前面find查找出来的文件名。 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。...在有些操作系统中只允许-exec选项执行诸如l s或ls -l这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。...建议在真正执行rm命令删除文件之前,最好先用ls命令看一下,确认它们所要删除的文件。 exec选项后面跟随着所要执行命令或脚本,然后一对儿{ },一个空格和一个\,最后一个分号。...为了使用exec选项,必须要同时使用print选项。如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。

3.1K30

【建议收藏系列】爆肝3w字带你理解什么叫运维~

执行脚本 编写一个简单的脚本test.sh: #! /bin/sh cd .. ls Shell脚本中用#表示注释,相当于C语言的//注释。如果#位于第一行开头,并且#!...如果将命令行下输入的命令用()括号括起来,那么也会fork出一个子Shell执行小括号中的命令,一行中可以输入由分号;隔开的多个命令,比如: $ (cd .....exec或ok来执行shell命令 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便 在有些操作系统中只允许-exec选项执行诸如ls或ls -l这样的命令。...exec选项后面跟随着所要执行命令或脚本,然后一对儿{},一个空格和一个\,最后一个分号。为了使用exec选项,必须要同时使用print选项。...find命令配合使用exec和xargs可以使用户对所匹配到的文件执行几乎所有的命令

2K30

find加上exec的参数来批量修改文件名字

文件/目录: 命令要操作的对象,可以是文件、目录或其他数据。有些命令可以不需要文件或目录参数,而是从标准输入中获取数据。 所以,命令通常的格式 命令 [参数] [文件/目录],这并不是绝对的。...有些命令可能只需要命令名,而不需要参数或文件/目录,而有些命令可能需要多个参数或文件/目录。例如: ls -l: 这个命令用于列出目录内容,并使用 -l 参数以长格式显示。...接下来我们就需要使用find加上exec的参数来批量修改文件名字。 最后的命令chatGPT帮忙写的 如下所示: find ....-exec: 这个选项允许你在 find 命令的搜索结果上执行其他命令。在这个例子中,-exec 后面跟着要执行命令,{} 代表 find 命令找到的每个文件。...sh -c 'mv "0" 表示 find 命令找到的当前文件的路径, {} 和 \;: 在 -exec 中,{} 代表 find 命令找到的每个文件的路径。\; 用于标记 -exec 命令的结束。

16710

如何在Bash中编写循环?

使用for循环和find命令自动对多个文件执行一组操作。 ? 人们想要学习Unix shell的一个常见原因释放批处理的功能。...如果要对许多文件执行某些操作,一种方法构造一个遍历这些文件的命令来实现。在编程术语中,这称为执行控制,最常见的示例之一for循环。...使用find命令执行for循环 从理论上讲,您可能会发现一个不提供for循环函数的shell,或者您可能只是更喜欢使用带有附加功能的其他命令。.../otago.jpg find的优点在于,可以使用-exec标志将找到的每个文件输入到循环中。例如,要仅缩小示例目录中的PNG照片,请执行以下操作: $ find ....您只是一个用户,但是经过深思熟虑的循环,您可以使计算机完成艰苦的工作。 您可以并且应该像对待其他任何命令一样对待循环,以便在需要对多个文件重复执行一个或两个操作时可以将其放在手边。

2.4K10

Linux 常用命令总结

例如:查看 ls 命令是否存在,执行哪个 which ls 例如:查看 which which which 例如:查看 cd which cd(显示不存在,因为 cd 内建命令,而 which...*reason$'(其中.表示一个字符,*表示任务多个;.*表示任意多个字符) find 命令 用于在文件树中查找文件,并作出相应的处理。...-print: find命令将匹配的文件输出到标准输出。 -execfind命令对匹配的文件执行该参数所给出的shell命令。...-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行一个命令之前,都会给出提示,让用户来确定是否执行。...在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略 -newer 如果希望查找更改时间比某个文件新比另一个文件旧的所有文件

54710

不会 find 命令这 7 种用法!你算啥运维人

可以很肯定地说,find 命令 Linux 后台开发人员必须熟知的操作之一,除非您使用 Windows Server。 对于技术面试,它也是一个热门话题。...这种情况很常见,令人惊讶的,并非每个开发人员都能在面试中清楚地写出这个命令。 答案:首先我们需要使用 cd 命令进入对应的目录,然后,命令如下: find ....-exec 命令使这些所有事情变得更加容易。 现在,要了解如何使用它,让我们回到之前提到的面试问题: find ....注意:占位符 {} 非常重要,尤其在您想删除文件时。因为,如果您不使用它,该命令将对所有文件执行(而不是您刚刚通过 find 命令找到的文件)。...做一个尝试,请在终端上执行以下两个命令,并检查它们的结果有何不同: 一个使用占位符: find . -type f -atime +5 -exec ls {} \; 另一个使用find .

43130

Linux大人养成计划1---基础命令总结

root 按照所有者搜索(就是说这个文件属于所有者的) 4). find /root –nouser 查找没有所有者的文件(这样的文件一般垃圾文件,或者内湖文件,或者外部文件) 5). find...–exec ls –lh {} \ 多条命令组合处理 -exec/ -ok 命令{}\ 对搜索结果执行操作 (3).grep [选项] 字符串 文件名 在文件当中匹配符合条件的字符串 选项...获取shell内部命令的帮助, 只能获取内部命令 注: 可以通过whereis 命令----来查看是否内部命令 放在/bin/ 目录的一般不是内部命令 例:help cd ---获取cd命令的帮助...n”重复执行第n条历史命令 使用”!!”重复执行上一条命令 使用”!...字符串”重复执行最后一条以该字符串开头的命令 4.重定向 例如当我们执行 cat test.txt 命令时,该命令会把test.txt里面的内容输出到屏幕上,如果我们希望它把结果输出到某个文件上,而不是屏幕

59730

掌握 Linux find 命令的 7 种用法

1 可以很肯定地说,find命令 Linux 后台开发人员必须熟知的操作之一,除非您使用 Windows Server。 对于技术面试,它也是一个热门话题。...这种情况很常见,令人惊讶的,并非每个开发人员都能在面试中清楚地写出这个命令。 答案:首先我们需要使用 cd 命令进入对应的目录,然后,命令如下: find ....注意:占位符{}非常重要,尤其在您想删除文件时。因为,如果您不使用它,该命令将对所有文件执行(而不是您刚刚通过 find 命令找到的文件)。...做一个尝试,请在终端上执行以下两个命令,并检查它们的结果有何不同: 一个使用占位符: find . -type f -atime +5 -exec ls {} \; 2....另一个使用find . -type f -atime +5 -exec ls \; -exec 选项后面的命令必须以分号(;)结束。众所周知,转义字符用于去除单个字符的特殊含义。

47000

mv argument list too long错误

此时就可以借助find找出符合条件的文件,然后拆开执行,mv的指令,有两种执行方式,一个xargs,另一个-exec。...xargs指令给其他指令传递参数的一个过滤器,也是组合多个命令一个工具,-i会将xargs的内容赋值给{}。...-exec参数后面执行其后面的指令,-exec以;为结尾,由于各个系统中分号的意义不同,因此用\进行转义,即\;,{}会被find指令的结果替换。...我们采用-exec,拼接指令如下,find首先找出符合条件的文件,然后{}会替换find的结果,依次执行mv, $ cd /opt/app/log $ find . .../backup/a1.log"和"/opt/applog/backup/a1.log",因为此时使用"cd /opt/app/log",已经在/opt/app/log下执行了,所以".

2.2K20

Linux & Docker常用命令

创建一个容器在后台运行,需要使用docker exec进入容器,退出后,容器不会关闭。 -it创建的容器一般称为交互式容器,-id创建的容器一般称为守护式容器。 –name:为创建的容器命名。...hostname、ip addr、env 这三个命令可以获取相关信息 进入容器内部获取信息 (2)执行docker exec命令 (3)执行docker inspect命令(推荐) 第1种:进入容器内部获取信息...docker exec -it 容器id /bin/bash 第2种:执行docker exec命令 docker exec 容器id hostname docker exec 容器id ip...数据卷****** 数据卷宿主机中的一个目录或文件 当容器目录和数据卷目录绑定后,对方的修改会立即同步 一个数据卷可以被多个容器同时挂载 一个容器也可以挂载多个数据卷 数据卷作用 容器数据持久化 外部机器和容器间接通信...locate查询比find要快,最新文件如果在数据库中没有记录,需要手动更新(updatedb) locate redis 4、whereis 与which类似查询【可执行文件】,whereis查询更多

1.2K30

Linux中find命令的7种用法

可以肯定地说,find命令后端开发人员必须知道的Linux操作之一,除非您使用 Windows Server。对于技术面试,这也是一个热门话题。...这种情况很常见,令人惊讶的,并非每个开发人员都能在面试中清楚地编写命令。 答:首先我们需要使用cd命令进入对应的目录,然后,命令如下: find ....该-exec命令使所有事情变得更容易。现在,要了解如何使用它,让我们回到之前提到的面试问题: find ....注意:占位符{}非常重要,尤其在您想删除文件时。因为如果您不使用它,该命令将针对所有文件而不是您刚刚通过该find命令找到的文件执行。...要尝试一下,请在终端上执行以下两个命令并检查它们的结果有什么不同:一种使用占位符: find . -type f -atime +5 -exec ls {} \; 另一个: find .

2.2K40

Linux常用命令大全(整理自用)

实例 查看 ls 命令是否存在,执行哪个 which ls 查看 which which which 查看 cd which cd(显示不存在,因为 cd 内建命令,而 which 查找显示 PATH...*reason$' #其中.表示一个字符,*表示任务多个;.*表示任意多个字符 find 命令 用于在文件树中查找文件,并作出相应的处理。...-print: find命令将匹配的文件输出到标准输出。 -execfind命令对匹配的文件执行该参数所给出的shell命令。...-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行一个命令之前,都会给出提示,让用户来确定是否执行。...在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略 -newer 如果希望查找更改时间比某个文件新比另一个文件旧的所有文件,可以使用-newer

2.3K10
领券