unix将旧文件移动到新目录会导致错误' ...不是目录'

时间:2013-12-16 18:38:17

标签: unix filesystems

我正在尝试将超过特定日期的文件移动到新文件夹,并且我不断收到以下错误。 mv:target'/ / / * / '不是目录。 这是我的命令行:

find /mnt/data1/sqlbackup/dataFiles/FOLDERII -mtime +300 -exec 
             mv -t '{}' /mnt/data1/sqlbackup/dataFiles/oldfiles \;

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:2)

修正参数的顺序。 -t之后的参数应该是文件应该移入的desination目录。

find /mnt/data1/sqlbackup/dataFiles/FOLDERII -mtime +300 -exec 
         mv -t /mnt/data1/sqlbackup/dataFiles/oldfiles {} \;

或者您可以完全省略-t选项。如果它是目录,mv会自动将最后一个参数视为目标目录。

find /mnt/data1/sqlbackup/dataFiles/FOLDERII -mtime +300 -exec 
         mv '{}' /mnt/data1/sqlbackup/dataFiles/oldfiles \;

答案 1 :(得分:1)

man page开始,mv可以通过三种方式使用:

  
      
  • mv [OPTION] ... [ - T] SOURCE DEST
  •   
  • mv [OPTION] ...来源......目录
  •   
  • mv [OPTION] ... -t DIRECTORY SOURCE ...
  •   

您正在使用-t标志,因此您需要在要移动的文件之前传递目标目录