我使用以下命令来清空一个目录中超过30天的文件和子目录,并将它们移动到一个存档目录中。如果没有人要求他们的文件,几周后我可以删除这个存档目录。目标目录下有按用户名分的子目录,存档目录也是如此。
我使用的命令如下:
我建议对这个问题在ask ubuntu上提出了一个修改后的版本,另一个用户编辑了代码,将行尾的
然而,如果使用
我不明白为什么它会这样行为,或者正确的命令应该是什么。请不要只给出修正的指令,我希望能够理解而不是盲目地遵循建议。
我使用的命令如下:
find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \;
我建议对这个问题在ask ubuntu上提出了一个修改后的版本,另一个用户编辑了代码,将行尾的
\;
改为+
,因为这样更快(而且更正确?)。点击这里查看。然而,如果使用
+
的话,只有当-exec
命令是ls -lh
时才有效,而不适用于我实际使用的命令。如果我尝试使用+
,会收到错误消息:find: missing argument to '-exec'
我不明白为什么它会这样行为,或者正确的命令应该是什么。请不要只给出修正的指令,我希望能够理解而不是盲目地遵循建议。
+
可以为同一个命令提供多个参数,但是mv
无法处理这种情况! - Arronical