小编Wha*_*hat的帖子

继续 mv 的最佳实践

我使用终端将文件从一个驱动器复制到另一个驱动器。

sudo mv -vi /location/to/drive1/ /location/to/drive2/
Run Code Online (Sandbox Code Playgroud)

然而,在创建目录后,它突然停止了,几个小时后,并且没有错误。

我自己的解决方案通常是散列和比较的混合,这主要是一个耗时的混乱,因为我现在必须从中间副本中恢复而不真正知道丢失了哪些文件(为 zsh 编写了很长的单行代码 - 请注意此脚本在编写的 bash 中不起作用):

source_directory="/path/to/source_directory/";
target_directory="/path/to/target_directory/";
while read hash_and_file; do {
    echo "${hash_and_file}" | read hash file;
    echo "${file}" | sed "s/^/${source_directory}/g" | read copy_from;
    echo "${copy_from}" | sed "s/${source_directory}/${target_directory}/g" | read copy_to;
    mv -v "${copy_from}" "${copy_to}" | tee -a log;
    rm -v "${copy_from}" | tee -a log; };
done <<<$(
    comm -23 <( find ${source_directory} -type f -exec sha256sum "{}" \; |
                sed "s: ${source_directory}: :g" | sort;
           ) …
Run Code Online (Sandbox Code Playgroud)

data-recovery mv

13
推荐指数
1
解决办法
1332
查看次数

标签 统计

data-recovery ×1

mv ×1