Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 7天不工作后删除文件_Linux_Command Line_Filesystems_Rm_System Administration - Fatal编程技术网

Linux 7天不工作后删除文件

Linux 7天不工作后删除文件,linux,command-line,filesystems,rm,system-administration,Linux,Command Line,Filesystems,Rm,System Administration,我正在尝试删除所有超过7天的文件。命令正在工作,但不正确 find '/files/tem_data/' -mtime +7 -exec rm -rf {} \+ 它确实会删除文件,但并不准确 ls -Artl | head -n 2 查找确实会删除文件,但当我运行ls命令时,确实包含应该删除的文件。例如今天是11月7日。查找应在11月1日之前删除所有文件。事实并非如此。该命令将保留10月30日和31日的文件。如何删除超过7天的文件 如果我在3分钟后运行find命令。它会删除日期为10月3

我正在尝试删除所有超过7天的文件。命令正在工作,但不正确

 find '/files/tem_data/' -mtime +7 -exec rm -rf {} \+
它确实会删除文件,但并不准确

ls -Artl | head -n 2
查找确实会删除文件,但当我运行ls命令时,确实包含应该删除的文件。例如今天是11月7日。查找应在11月1日之前删除所有文件。事实并非如此。该命令将保留10月30日和31日的文件。如何删除超过7天的文件


如果我在3分钟后运行find命令。它会删除日期为10月30日、首次运行后3分钟的文件。

这不是确切的答案,但您可以将其作为示例进行尝试。
find/path/to/-type f-mtime+7-name'*.gz'-execdir-rm--'{}'\

或者,另一个更快的命令是使用exec的+终止符而不是\;:

find/path/to/-type f-mtime+7-name'*.gz'-execdir rm--'{}'+ 或

  • find:用于查找文件/目录/链接等的unix命令。 /path/to/:开始搜索的目录。
    -类型f:仅查找文件。
    -名称“*.gz”:列出以.gz结尾的文件。
    - MTIM+ 7:只考虑修改时间超过7天的那些。execdir…\;:对于找到的每个这样的结果,执行以下操作: rm中的以下命令--“{}”:删除文件;{}部分是 其中查找结果被替换为上一部分的结果。 --意味着命令结束参数避免提示以连字符开头的文件出错

.

人类发现

-atime n

  File  was  last  accessed  n*24  hours  ago.  When find figures out how many
  24-hour periods ago the file was  last  accessed,  any  fractional  part  is
  ignored,  so  to  match -atime +1, a file has to have been accessed at least
  two days ago.
这意味着您的命令实际上删除了8天前或更多天前访问的文件

既然现在是

$ date
Tue Nov  7 10:29:29 PST 2017
find
将要求文件必须早于:

$ date -d 'now - 8 days'
Mon Oct 30 11:29:05 PDT 2017
换言之,从10月30日起留下一些文件是预期的行为,并记录在案


要解释
查找
四舍五入,只需使用
-mtime+6
即可。

,,等等。这些链接只是建议执行OP已经在执行的操作,并且它们没有解决OP正在执行的行为。Stack Overflow是一个用于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。@TheotherGuy-是的,看看答案,这看起来像是一个要求某人阅读命令手册页的问题。谢谢。我不熟悉linux管理。其他的评论从我的理解来看,我现在正在做什么。谢谢,但这就是我的代码正在做的。就像“另一个人说这是预期的行为”。我不熟悉linux管理员类型的东西,所以我不知道。
$ date -d 'now - 8 days'
Mon Oct 30 11:29:05 PDT 2017