linux find -mtime 用法
linux find -mtime用法是一个在命令行界面中常用的文件查命令,该命令主要用于在文件系统中查符合指定时间范围的文件或目录,以及执行一些相关的操作。该命令有多种使用方式,其中最常用的方式是通过指定-mtime和-n参数来进行文件查操作。下面将详细介绍该命令的具体用法。
一、基本用法
find查命令的使用 1、查最近N天内修改过的文件:
$ find /path/to/dir/ -mtime -N
其中,/path/to/dir/是需要查的文件目录路径,N为天数,-N表示最近N天内,+N表示N天前的文件,0表示当天的文件。
二、细节解析
1、修改时间
-mtime是以文件的修改时间为基准,也就是文件内容的最后一次修改时间。在操作系统中,每个文件都有三种表示时间的属性:
- 内容修改时间(modify time):文件内容最后一次被修改的时间。
- 改变属性时间(change time):文件元数据(文件名、权限等)最后一次被修改的时间。
- 访问时间(access time):文件最后一次被访问的时间。
所以,在使用find命令查的时候,最好使用-mtime选项,而不是其他两个选项,否则获得的结果可能不准确。
2、+-符号
在使用-mtime选项时,要注意加号和减号的区别。-N表示最近N天内修改过的文件,+N表示N天以前修改过的文件,0 表示当天的文件。
3、单位换算
-mtime后面的数字表示的是天数,如果需要查更精确的时间,可以使用-mmin和-mhour选项,表示分钟和小时。 需要注意的是,如果用-mmin选项,注意要把分钟数转换为分钟,即一天1440分钟,例如:
4、特别的时间标识符
-mtime除了可以使用数字表示要查的天数外,还可以使用其他字符来表示特定的时间范围:
- -mtime 0:表示今天被修改过的文件。
- -mtime -1:表示从24小时到48小时之内被修改过的文件。
- -mtime +1:表示大于48小时被修改过的文件(即不包括今天被修改过的文件)。
- -mtime 1:表示从24小时到48小时之间被修改过的文件。
三、常见操作
1、列出符合指定时间范围的文件
删除10天以前修改过的所有.html文件:
移动最近30天内的所有.log文件到相应目录下:
$ mkdir /path/to/newdir/
$ find /path/to/oldir/ -name "*.log" -mtime -30 -exec mv {} /path/to/newdir/ \;
修改所有两个星期前修改过的.txt文件的权限:
五、总结
linux find -mtime用法,是linux系统中非常常用的一个命令,其可以用在文件查、修改以及删除等操作中。在使用该命令时需要注意-mtime后面的单位和符号,以及特定的时间标识符。同时,使用find命令时,为了避免误操作,需要谨慎使用-exec选项,可以先使用-print选项将符合要求的文件列表打印出来进行核对,以确保操作的正确性。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论