使用find命令找出并删除某一时间点的文件

发布时间:2021-01-02编辑:脚本学堂
linux中的find命令可以帮助我们找出某一时间点或时间段内的文件,然后进行相关操作。

linux中的find命令可以帮助我们找出某一时间点或时间段内的文件,然后进行相关操作。

$man find 可以查看find命令的使用方法。
1. 找出 n 天前的文件
$find /temp/ -type f -mtime +n -print
注:/temp/ 指出寻找/temp/目录下的文件
-type f 指出找系统普通文件,不包含目录文件
-mtime +n 指出找 n*24 小时前的文件
-print 将找出的文件打印出来

例如:
找出 7 天前的文件
 

复制代码 代码示例:
$find /temp/ -type f -mtime +7 -print

找出 3 天前的文件
 

复制代码 代码示例:
find /temp/ -type f -mtime +3 -print

2. 找出并删除 7 天前的文件
 

复制代码 代码示例:
$find /temp/ -type f -mtime +7 -print -exec rm -f {} ;

注:-exec 指出要执行后面的系统命令
rm -f 删除找出的文件
{} 只有该符号能跟在命令后面
结束符

3. 也可以使用 xargs 代替 -exec
 

复制代码 代码示例:
$find /temp/ -type f -mtime +7 -print | xargs rm -f

find命令用途举例
如:

复制代码 代码如下:

* 查找/var下最大的前10个文件:
$ find /var -type f -ls | sort -k 7 -r -n | head -10

* 查找/var/log/下大于5GB的文件:
$ find /var/log/ -type f -size +5120M -exec ls -lh {} ;

* 找出今天的所有文件并将它们拷贝到另一个目录:
$ find /home/me/files -ctime 0 -print -exec cp {} /mnt/backup/{} ;

* 找出所有一周前的临时文件并删除:
$ find /temp/ -mtime +7-type f | xargs /bin/rm -f

* 查找所有的mp3文件,并修改所有的大写字母为小写字母:
$ find /home/me/music/ -type f -name *.mp3 -exec rename 'y/[A-Z]/[a-z]/' '{}' ;

您可能感兴趣的文章:
find命令忽略某个或多个子目录的实例分享
linux命令行下查找文件的命令find 应用举例
find 按文件修改时间查找文件及find空文件夹
find命令查找比某个文件新或旧的文件
linux中find命令的妙用
使用find命令删除n天前的文件
linux find 命令详解