Nikhil Vijayan Asked: 2020-03-20 04:56:31 +0800 CST2020-03-20 04:56:31 +0800 CST 2020-03-20 04:56:31 +0800 CST 如果我想在unix中删除几天不访问的文件怎么办? 772 如果我想删除在 Unix 中几天未访问的文件/文件夹怎么办?假设有一些文件在 5 天前在特定位置被最后一次访问。我想删除那些。什么是shell命令? unix-shell 2 个回答 Voted Best Answer Phill W. 2020-03-20T05:17:46+08:002020-03-20T05:17:46+08:00 find 命令是您所需要的,它带有 -atime 和可能的 -daystart 选项。 从这个开始,以确保它找到你需要的东西(而不是你不需要的东西!): find directory -atime +5 -daystart -ls 然后,一旦你感到高兴,就让它去做真正的工作: find directory -atime +5 -daystart -exec rm {} \; John Mahowald 2020-03-20T06:56:03+08:002020-03-20T06:56:03+08:00 虽然find是可移植的并且可以在各种操作系统上工作,-daystart -ls但不是 POSIX。如果您知道您正在使用 GNU findutils,不妨-delete改用并跳过对rm. 或者,考虑安装和使用tmpwatch. 您可以提供任何或所有访问时间、修改时间或 inode 更改时间,如果提供多个,则评估较旧的时间。此外,还有安全检查,所以它不会逃脱给定的树。 文件列表试运行。 tmpwatch --verbose --test --atime 5d /tmp 实际删除。 tmpwatch --verbose --atime 5d /tmp
find 命令是您所需要的,它带有 -atime 和可能的 -daystart 选项。
从这个开始,以确保它找到你需要的东西(而不是你不需要的东西!):
然后,一旦你感到高兴,就让它去做真正的工作:
虽然
find
是可移植的并且可以在各种操作系统上工作,-daystart -ls
但不是 POSIX。如果您知道您正在使用 GNU findutils,不妨-delete
改用并跳过对rm
.或者,考虑安装和使用
tmpwatch
. 您可以提供任何或所有访问时间、修改时间或 inode 更改时间,如果提供多个,则评估较旧的时间。此外,还有安全检查,所以它不会逃脱给定的树。文件列表试运行。
tmpwatch --verbose --test --atime 5d /tmp
实际删除。
tmpwatch --verbose --atime 5d /tmp