我怎样才能将centos上的很多文件从一个目录移动到另一个目录?
how can i move a lot of files on centos from one directory to another?
我一直在尝试将 Centos 6 上的很多文件从一个目录移动到另一个目录;我说的是数以千计的 .wav
录音,大约 230 GB。
我会用 crontab 来做,我有这个命令:
find /var/spool/asterisk/backups/ -name ".wav" -exec mv /usr/src/scripts/ {} \
问题是我想先将它与 cp
一起使用,而不是 mv
来查看它是如何工作的,但它什么也没做,所以我怎么知道上面那个mv
有效吗?
我发现了我的失败之处:我在逗号之间的 wav 之前缺少 *。
如果文件不多
mv /var/spool/asterisk/backups/*.wav /usr/src/scripts/
如果你有大量的文件,那么它会因为命令行太长而失败,你的 "find" 可能会花很长时间,因为它一次移动一个文件(在你的情况下,它是错误的方式,它是 SRC DEST 而不是 DEST SRC)
你可以使用像
这样的东西
find /var/spool/asterisk/backups/ -name "*.wav"|xargs -n 100 mv --target-directory=/usr/src/scripts/
然后你一次移动 100 个文件,应该会加快速度。
要查看它的作用,您可以像 "echo mv ...|head" 一样在其前面加上 "echo" 前缀,然后从输出中复制并粘贴一行。
要测试一下,您可以使用 "cp -a" 而不是 mv
我一直在尝试将 Centos 6 上的很多文件从一个目录移动到另一个目录;我说的是数以千计的 .wav
录音,大约 230 GB。
我会用 crontab 来做,我有这个命令:
find /var/spool/asterisk/backups/ -name ".wav" -exec mv /usr/src/scripts/ {} \
问题是我想先将它与 cp
一起使用,而不是 mv
来查看它是如何工作的,但它什么也没做,所以我怎么知道上面那个mv
有效吗?
我发现了我的失败之处:我在逗号之间的 wav 之前缺少 *。
如果文件不多
mv /var/spool/asterisk/backups/*.wav /usr/src/scripts/
如果你有大量的文件,那么它会因为命令行太长而失败,你的 "find" 可能会花很长时间,因为它一次移动一个文件(在你的情况下,它是错误的方式,它是 SRC DEST 而不是 DEST SRC)
你可以使用像
这样的东西find /var/spool/asterisk/backups/ -name "*.wav"|xargs -n 100 mv --target-directory=/usr/src/scripts/
然后你一次移动 100 个文件,应该会加快速度。
要查看它的作用,您可以像 "echo mv ...|head" 一样在其前面加上 "echo" 前缀,然后从输出中复制并粘贴一行。
要测试一下,您可以使用 "cp -a" 而不是 mv