Linux命令复制最近创建/更新的文件?

时间:2015-12-09 16:45:23

标签: shell

我想将最近创建/更新的文件复制到另一个文件夹。比如说,例如,应该将过去3天内创建的文件复制到另一个文件夹(/ tmp)。怎么做?是否可能。

1 个答案:

答案 0 :(得分:1)

您可以使用find命令的mtime参数查找在特定时间内上次修改过的文件,然后使用它的exec参数进行复制他们在某个地方。

例如,此命令将在当前目录中查找三天内修改的文件,并将其复制到/tmp目录:

find . -mtime -3 -type f -exec cp "{}" /tmp \;
  

-mtime n文件的数据上次修改时间为n * 24小时前。请参阅-atime的注释,以了解舍入如何影响   解释文件修改时间。

     

-exec命令;执行命令;如果返回0状态,则返回true。以下所有要查找的参数都被视为该命令的参数   直到由&#39 ;;'组成的论点遇到了。字符串' {}'是   由当前正在处理的文件名替换   在命令的参数中,而不仅仅是在参数中   单独,如某些版本的查找。这两种结构都可能   需要进行转义(使用' \')或引用以保护它们免受攻击   由shell扩展。有关示例,请参见“示例”部分   使用-exec选项。为每个命令运行一次指定的命令   匹配的文件。该命令在起始目录中执行。那里   围绕使用-exec动作是不可避免的安全问题;   你应该使用-execdir选项。