Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Find exec的用法

Find exec的用法

作者头像
用户8418197
修改于 2021-07-01 10:13:41
修改于 2021-07-01 10:13:41
1.4K0
举报
文章被收录于专栏:howtouselinuxhowtouselinux

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 删除。

本文系转载,前往查看

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Centos7中find命令的用法,以及find+exec,find+xargs
find . | xargs grep -ri ‘content’ //find . | xargs grep -ril ‘content’ 只显示文件名称 ---------------------------------------------------------------------------------------------------------------------
拓荒者
2019/06/16
3.7K0
Linux命令之find——查找命令
本篇教程较长,所有在教程前面先放几个实例,有需要的直接看实例就行,想深入了解的小伙伴可以继续往下看:
浩Coding
2019/07/03
5K0
Linux命令之find——查找命令
Linux之find exec
exec解释 -exec参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。 {}花括号代表前面find查找出来的文件名。 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。在有些操作系统中只允许-exec选项执行诸如ls或ls -l这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。建议在真正执行rm命令删除文件之前,最好先用ls命令看一下,确认它们是所
入门笔记
2021/03/03
4.2K0
Linux find命令详解
find pathname -options [-print -exec -ok ...]
一见
2018/08/07
4.1K0
Linux文件查找命令find,xargs详述
由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
EltonZheng
2021/01/26
7.9K0
linux每日命令(21):find命令之exec
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。
用户1214487
2018/12/13
1.4K0
ubuntu find方法
通用格式:find pathname -options [-print -exec -ok] 例子: find / -name filename 再根目录里面搜索文件名为filename的文件 find /etc -name *s*在目录里面搜索带有s的文件 find /etc -name *S 在目录里面搜索以s结尾的文件 find /etc -name s*在目录里面搜索以s开头的文件 find / -amin -10在系统中搜索最后10分钟访问的文件 find / -atime -2查找在系统中最后48小时访问的文件 find / -empty 查找在系统中为空的文件或者是文件夹 find / -group groupname 查找在系统中属于groupname的文件 find / -mmin -5查找在系统中最后5分钟修改过的文件 find / -mtime -1查找在系统中最后24小时修改过的文件 find /-nouser查找在系统中属于费用户的文件 find / -user username 查找在系统中属于username的文件 find / -ctime -1查找在系统中最后24小时被改变状态的文件 find / -fstype type查找在系统中文件类型为?的文件 find / -user user1name -or -user user2name查找在系统中属于user1name或着属于user2name的文件 find / -user user1name -and -user2name在系统中查找既属于user1name又属于user2name用户的文件.
全栈程序员站长
2021/05/19
6340
find 命令的参数详解
使用name选项 文件名选项是find 最常用的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.log的文件,使用~作为 'pathname'参数,波浪号~代 表了你的$HOME目录。
PHP开发工程师
2022/07/08
6600
不服来战!这20类500个常用命令参数你一定记不到50%
公告:今天加班的都是好人!好人!好人! 本文由马哥教育面授班24期学员推荐,转载自互联网,作者为LVS,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。 Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。 1、ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等 常用参数搭配:
小小科
2018/05/02
9970
不服来战!这20类500个常用命令参数你一定记不到50%
find命令高级用法
在《Linux中的文件查找技巧》一文中,我们已经知道了文件查找的基本方法,今天我们介绍find命令的一些高级使用技巧。它能满足我们一些更加复杂的需求。
编程珠玑
2019/09/02
1.3K0
一天一个 Linux 命令(17):find 命令
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/144
joshua317
2021/09/28
8660
linux学习(四) mv命令详解
linux学习(四) mv命令详解
Java架构师必看
2021/05/27
5.4K0
Linux基础(强大到流泪的find/grep)
在linux下面工作,有些命令能够大大提高效率。本文就向大家介绍find、grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们。这篇推送较长,内容预告如下:
用户2617681
2019/08/08
1.3K0
Linux中40个最佳Find命令示例
Linuxfind命令是功能强大的工具,使系统管理员可以根据广泛的搜索条件来定位和管理文件和目录。它可以按名称,类型或扩展名,大小,权限等查找目录和文件。
shaonbean
2020/11/04
4.4K0
Linux 常用命令
就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。
梁三三
2021/07/06
1.1K0
find 命令详解
本文讲述如何通过find命令对文件系统进行深度搜索,并总结各种常见的find命令的用法。
邹立巍
2017/08/01
1.6K0
一日一命令:find 命令详解
find 用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
BUG弄潮儿
2022/02/10
4530
Linux find 命令
find 命令在linux中是很常用到的一个查找命令,它的功能非常地强大。可以结合正则匹配来搜索系统中的指定的内容,以下我就记录一下这个find常用到的一些用法 find 语法:find   path   -option   [   -print ]   [ -exec   -ok   command ]   {}  \;
阳光岛主
2019/02/19
5.9K0
Find 命令使用大全
root@localhost ~# find /etc/ -name passwd
用户8418197
2021/08/08
9210
每天学一个 Linux 命令(20):find
find 命令用来在指定目录下查找文件,在参数之前的任何字符串都会当作是目录名。使用 find 命令时,如何不设置任何参数,则 find 命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部显示出来。
民工哥
2021/01/21
6040
相关推荐
Centos7中find命令的用法,以及find+exec,find+xargs
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档