`
wezly
  • 浏览: 487394 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

linux find命令-exec参数的使用说明

 
阅读更多

前言:最近几天使用find的高级功能,但执行到 -exec命令的时候总是提示错误

信息如下:“find: missing argument to `-ok' ”,花了点时间,研究了下帮助(man),终于是搞清楚了。

说明:find命令,配合-exec参数,可以对查询的文件进行进一步的操作,可以得到很多有用的功能,比如说文件包含特定字符串的查询等,要了解这个功能,最简单直接的就是看find命令帮助,列出

        -exec command ;
               Execute command; true if 0 status is returned.   All   following   arguments   to find are taken to be arguments to the command until an   argument   consisting of #;' is encountered.   The string {}' is replaced by the current file name being processed everywhere it occurs in the arguments to the command, not just in arguments where it is alone, as in some versions of find.   Both of these constructions might need to be escaped (with a \') or quoted to   protect   them   from   expansion   by the shell.   The command is executed in the starting directory.

其实只要读懂这段话就理解了

废话少说,这里简单说明一下

-exec 参数后面跟的是 command命令,注意点如下:

command命令的终止,使用 ';' (分号)来判定,在后面必须有一个 ';'

'{}',使用{}来表示文件名,也就是find前面处理过程中过滤出来的文件,用于command命令进行处理

特别强调,对于不同的系统,直接使用分号可能会有不同的意义, 使用转义符 '\'在分号前明确说明,对于前面我们遇到的问题,主要就是这个原因引起的!

举例:

1.查询所有保护字符串“Hello”的文件

find / -exec grep "Hello" {} \;

2.删除所有临时文件

find / -name "*.tmp" -exec rm -f {} \;

3 删除20天以前的文件

find / -name "*" -ctime +20 -exec rm -f {} \; (不要执行哦,要看清楚哈)

注:+20 表示20天以前

 

提示:unix压根不记录文件创建时间,unix的文件系统只记录3个时间值,atime,最后访问时间,ctime,inode改变时间,mtime,文件改变时间。mtime改变,ctime一定改变,反之不然。

分享到:
评论

相关推荐

    Linux Find 命令详解

    例如,要使用 `ls -l` 命令列出所匹配到的文件,可以在 `find` 命令的 `exec` 选项中使用: ```sh # find . -type f -exec ls -l {} \; ``` 这将会显示当前目录下所有普通文件,并以长列表形式列出。 #### 五、按...

    Linux find 命令使用小技巧一则

    总结起来,这个技巧展示了如何结合`find`命令的不同参数来高效地管理和维护Linux系统中的文件和目录,特别是对于那些需要定期清理的场景。了解和掌握`find`命令的各种选项,能帮助你更有效地管理你的Linux系统。

    每天一个linux命令(20):find命令之exec分享.pdf

    在实际使用中,`-exec`配合其他`find`命令的参数可以实现很多功能。例如,`-type f`用于指定只查找普通文件,`-mtime +14`则表示查找修改时间超过14天的文件。下面通过两个实例来具体说明`-exec`的用法。 **实例1**...

    关于find命令-各种运用示例

    ### 四、find命令参数 1. `-name`:按文件名查找。 2. `-perm`:按文件权限查找。 3. `-prune`:跳过指定目录不搜索。 4. `-user` 和 `-nouser`:根据属主查找或排除。 5. `-group` 和 `-nogroup`:根据属组查找或...

    linux find

    在Linux操作系统中,`find`命令是一个非常强大的工具,用于在文件系统中搜索符合特定条件的文件和目录。它的灵活性和功能丰富性使得它成为...熟练掌握`find`命令的使用,能极大地提高我们在Linux环境中的工作效率。

    Linux文件查找命令find,xargs详述

    `xargs`命令则常与`find`结合使用,它可以将`find`输出的文件名作为参数传递给其他命令。例如,使用`-exec`删除所有匹配的文件可能需要用户确认,而通过`xargs`传递给`rm`命令则可以直接删除。基本用法如下: ```...

    linux find命令之exec简单概述

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释: -exec 参数后面跟的是command命令,它的终止是以;为结束标志的,...

    linux-find-命令的详细说明.zip

    本详细说明将深入探讨`find`命令的使用方法、选项以及实际应用案例。 **一、基本语法** `find`命令的基本语法如下: ```bash find [where to start searching from] [expression determining what to find] [-...

    浅谈Linux下通过find命令进行rm文件删除的小技巧

    总之,正确理解和使用find命令与rm命令的结合是Linux系统管理中的重要技能。在进行批量删除操作时,应谨慎行事,避免因误删重要文件而造成损失。通过掌握find命令的高级用法,我们可以更高效、更安全地管理Linux系统...

    linux find命令使用手册

    ### Linux Find 命令使用手册详解 #### 概述 `find` 是一个功能强大的命令行工具,用于在Linux系统中的目录树中查找文件。它支持多种选项和表达式来帮助用户根据特定条件筛选出目标文件。此文档将详细介绍`find`...

    linux下find命令-atime,-ctime,-mtime真正含义

    在Linux操作系统中,`...理解并熟练使用`find`命令的时间参数对于管理和维护Linux系统非常重要,特别是在自动化清理、备份或者日志分析等场景。结合不同的时间参数,我们可以实现更精细化的文件操作,提高工作效率。

    linux下find命令查找排除命令(简单明了)

    ### Linux下的find命令查找与排除命令详解 在Linux系统中,`find`命令是一个非常强大的工具,用于在文件系统中搜索文件。通过结合不同的选项和参数,用户可以精确地定位到所需的文件或目录。本文将重点介绍如何使用...

    Linux文件查找命令find

    `-exec`参数允许在找到每个匹配项时执行一个命令,例如可以使用`ls -l`来显示文件详情,或者使用`rm`来删除文件。需要注意的是,`-exec`后的命令必须以`{}`作为占位符,且命令结尾处需加上`;`。为了避免误操作,可以...

    linux命令-三剑客等重要命令.docx

    Linux 中的 find 命令是使用频率非常高的一个命令,它可以在指定的目录下查找文件或目录。find 命令的语法格式为:find [选项] [参数] [目录] 其中,选项和参数是可选的,目录是必需的。如果不指定目录,默认情况下...

    find命令参数详解

    该命令具有强大的功能,因此它的选项也很多,详细了解每个参数可以帮助我们更好地使用 find 命令。 find 命令格式 find 命令的基本格式为:find pathname -options [-print -exec -ok ...] 其中,pathname 是 ...

    linux - find 命令总结

    `find`命令通常与`xargs`命令结合使用,将找到的文件作为参数传递给其他命令。例如: ```bash find . -name "core" -print | xargs echo "" >/tmp/core.log ``` 这个命令会将所有名为`core`的文件的路径写入到`/tmp...

    find命令使用方法

    其中,`pathname`是你要搜索的目录路径,`-options`是你要使用的选项,`-print`、`-exec`和`-ok`是操作参数,分别用于打印匹配的文件、执行指定的shell命令和安全地执行命令。 2. **常用选项** - `-name`: 根据...

    Linux中find命令的用法入门

    Linux系统下的Find 命令具有很强大的搜索功能,可以遍历整个文件系统。所以 find 命令很耗资源,有时候甚至会耗费很长时间,因此建议把它放在后台执行。 Find 命令格式如下所示: find pathname -options [-print -...

Global site tag (gtag.js) - Google Analytics