如何在Linux中查找和删除超过x天的文件

时间:2020-03-21 11:44:21  来源:igfitidea点击:

始终建议查找和清理我们在一段时间后不再需要的旧文件。
这将为我们节省一些磁盘空间。
如果我们尚未清洁旧文件,这里有一种快速的方法。
此简短教程我们通过如何在Linux和Unix的操作系统中查找和删除比X天的文件。

免责声明:

运行以下命令时,我们应该非常小心。
在删除文件之前,这些命令将不会要求我们进行任何确认。
在点击Enter键后,它将简单地删除文件。
因此,非常小心,并仔细检查我们即将删除的文件。

首先,让我们了解超过x天的文件,例如30天。

要做,所以,刚刚运行:

$find . -mtime +30 -print

上面的命令将找到并显示当前工作目录中超过30天的旧文件。

其中

  • 点(。) - 表示当前目录。
  • -mtime - 表示文件修改时间,用于查找超过30天的文件。
  • -print - 显示旧文件

如果要在特定目录中搜索文件,只需用文件夹路径替换点。
例如,要查找/home/sk/downloadds目录中超过30天的文件,刚刚运行:

$find /home/sk/Downloads -mtime +30 -print

示例输出:

/home/sk/Pictures/Wallpapers
/home/sk/Pictures/Wallpapers/29312450971_819c502b2e_o.jpg
/home/sk/Pictures/Wallpapers/skamath-HD-Wallpapers1.jpg
/home/sk/Pictures/Deepin Movie
/home/sk/Pictures/smplayer_screenshots

现在,运行以下命令中的任何一个命令来删除不再需要的文件。
同样,我警告我们,在输入按钮后,这些命令将立即删除文件。
在运行这些命令之前,请谨慎仔细检查。

$find <Path_To_Old_Files> -type f -mtime +30 | xargs rm -f

或者,

$find <Path_To_Old_Files> -mtime +30 -exec rm -f {} \;

或者,

$find <Path_To_Old_Files> -mtime +30 -delete;