find mtime参数+号,-号,不带符号的用法



 find . -mtime +0 -type f -name "oms*" | xargs rm -f 删除24小时以前 oms格式的文件     #按文件更改时间来查找文件,-n指n天以内,+n指n天以前。


大家在使用find命令中的mtime参数时候,会看到官方的解释如下:

-mtime n
File's data was last modified n*24 hours ago.  See the comments for -
atime to understand how rounding affects theinterpretation of file modification times.

一天是指当前系统时间算起的,向前减24小时。

但是在各种参考的使用方式中有用+号,-号,不带符号的用法,那么这里又有什么区别呢注意这里的n,如果n为带有+号的值,意思为查找n天前所有的文件,比如n=+1当前249点,那么查找229点以前的数据,不包括229点到239点这段时间,如果是负号(n=-1)则为查找一天内的文件,比如当前时间249点,那么查找239点到249点时间段的数据,如果是(n=-2)则代表查找两天内的所有数据比如当前时间249点,那么查找229点到249点时间段的数据,如果不带有符号,那么则查找指定n天中这一天的数据,比如(n=1当前时间249点,那么查找229239点这个时间段的数据。




<think>嗯,用户让我介绍一下find命令的示例。我需要先回想一下find的基本用法,然后考虑常见的应用场景。首先,findLinux和Unix系统中用来查找文件的强大工具,用户可能需要用它来根据名称、类型、时间等进行搜索。 我应该先解释find的基本语法,这样用户能理解后面的例子。基本结构是find [路径] [选项] [操作]。路径指定从哪里开始搜索,选项包括-name、-type这些,操作用来处理找到的文件,比如-exec或者删除。 接下来,用户可能需要最常见的例子,比如按文件名查找。比如find /home -name "*.txt",这里要注意-name是大小写敏感的,如果用户需要区分大小写,应该用-iname。然后可能需要举例说明。 然后是按类型查找,比如找目录或者符链接。例如find /var -type d -name "log",这里要说明-type的参数,比如d是目录,f是普通文件,l是链接。 权限查找也是一个重要点,比如找可执行文件或者有特定权限的文件。例如find . -type f -perm 0700,或者找所有用户可写的文件,用-perm /a=w。这里可能需要解释权限符的含义。 时间相关的查找,比如按修改时间、访问时间或创建时间。比如找7天前修改过的文件,用-mtime +7,或者最近30分钟内的,用-mmin -30。用户可能用这个来清理旧文件或查找日志。 大小查找也很实用,比如找大于10MB的文件,用-size +10M,或者空文件用-empty。这里要说明单位,比如k、M、G。 组合条件的时候,用户可能需要与或非逻辑,比如-a表示与,-o表示或,!表示非。例如找图片文件但排除.jpg,可以用-name "*.png" -o -name "*.gif"并排除.jpg,或者用! -name "*.jpg"。 处理搜索结果时,常见的操作是删除或执行命令。比如删除所有.tmp文件,用-exec rm {} \;,或者使用-ok代替-exec来确认每个操作。这里要提醒用户小心使用删除操作,避免误删。 可能还需要提到一些高级用法,比如查找并压缩文件,或者结合xargs使用,提高效率。例如find ... -print0 | xargs -0处理带空格的文件名。 用户可能是系统管理员或者开发人员,需要管理服务器上的文件,或者日常整理文件。他们可能对权限、时间、大小这些条件组合使用比较感兴趣,所以要多举几个组合的例子,帮助他们解决实际问题。 还要注意安全性,比如在删除文件前确认,或者使用-ok选项。同时,提醒用户路径的默认值是当前目录,如果需要全盘搜索可能需要指定根目录,但要注意权限问题。 最后,总结常用选项,帮助用户记忆,比如-name、-type、-mtime-size、-exec等。这样用户可以根据需要组合同的条件来快速定位文件。</think>以下是`find`命令的常用示例及说明,帮助您逐步掌握其功能: --- ### **1. 基本语法** ```bash find [搜索路径] [选项] [操作] ``` --- ### **2. 按文件名查找** - **查找当前目录及子目录中所有`.txt`文件** ```bash find . -name "*.txt" ``` - `-name`:按文件名匹配(区分大小写) - `-iname`:区分大小写的文件名匹配 ```bash find /home -iname "readme.md" ``` --- ### **3. 按文件类型查找** - **查找所有目录** ```bash find /var -type d -name "log" ``` - `-type`参数- `d`:目录 - `f`:普通文件 - `l`:符链接 --- ### **4. 按权限查找** - **查找权限为`0700`的文件(仅所有者可读写执行)** ```bash find . -type f -perm 0700 ``` - **查找所有用户可写的文件** ```bash find /etc -perm -o=w ``` --- ### **5. 按时间查找** - **查找7天前修改的文件** ```bash find /var/log -mtime +7 ``` - **查找最近30分钟内访问过的文件** ```bash find /tmp -amin -30 ``` - 时间参数- `-mtime`:修改时间(天) - `-mmin`:修改时间(分钟) - `-atime`:访问时间(天) - `-ctime`:状态变更时间(天) --- ### **6. 按文件大小查找** - **查找大于10MB的文件** ```bash find /home -size +10M ``` - **查找空文件或目录** ```bash find . -empty ``` - 单位:`k`(KB)、`M`(MB)、`G`(GB) --- ### **7. 组合条件查找** - **逻辑运算符**: - `-a`:与(默认) - `-o`:或 - `!`:非 - **示例:查找`.png`或`.gif`图片,排除`.jpg`** ```bash find . \( -name "*.png" -o -name "*.gif" \) ! -name "*.jpg" ``` --- ### **8. 对搜索结果执行操作** - **删除所有`.tmp`文件** ```bash find /tmp -name "*.tmp" -exec rm {} \; ``` - `-exec`:对匹配文件执行命令 - `{}`:代表当前文件 - `\;`:命令结束符 - **安全操作(需确认)** ```bash find . -name "*.bak" -ok rm {} \; ``` --- ### **9. 高级用法** - **查找并压缩文件** ```bash find /backup -name "*.log" -exec gzip {} \; ``` - **结合`xargs`批量处理** ```bash find . -name "*.txt" | xargs grep "error" ``` --- ### **总结** 常用选项速记: - `-name`:按名称 - `-type`:按类型 - `-mtime`:按修改时间 - `-size`:按大小 - `-exec`:执行操作 根据需求灵活组合参数,可快速定位和管理文件。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值