我已经使用 photorec 从硬盘恢复数据,现在有很多目录 /home/ray/recup_dir.1
,占用/home/ray/recup-dir.598
了我的主目录中的宝贵空间。
我想将它们复制到另一个目录中/media/ray/"Seagate Expansion Drive"/RecupsA
如何使用一个命令来完成此操作?
答案1
我想到的第一个解决方案是rsync。排除一切。包括与模式匹配的目录。我承认使用 rsync 将信息复制到同一主机感觉很奇怪。通常它用于复制到远程计算机。但是我认为没有理由不能复制到本地主机。
rsync -ravz --include '/home/ray/recup_dir.*' --exclude '*' user@localhost
ravz的解释:
-r recursive copy
-v verbose
-a : archive mode. Preserves symbolic links, file permissions, user & group ownerships, timestamps
-z : compress file data
第二种选择是作弊并输入mc
。这将开始午夜指挥官,允许您选择多个目录,然后复制它们。
第三个选项:查找。
find /home/ray/recup_dir.\* -exec cp {} /media/ray/"Seagate Expansion Drive"/RecupsA \;
第四种选择:使用 shell。转到 /home/ray/ 然后
for a in recup* ; do cp -r $a /media/ray/"Seagate Expansion Drive"/RecupsA; done
答案2
使用cp
带有r
递归选项的标准:
cp -r /home/ray/recup_dir.{1..598} "/media/ray/Seagate Expansion Drive/RecupsA"
但我有一种感觉,在这种情况下,你宁愿移动它们:
mv /home/ray/recup_dir.{1..598} "/media/ray/Seagate Expansion Drive/RecupsA"
这两个命令仅将最后一个参数视为目的地,以及所有之前的来源(文件或目录)。