Stephen Kittの回答を得て、このコマンドを潜在的なソリューションとして議論した後:
sudo mv -i ~/my_data_on_60GB_partition/* /media/admin/my_data/
私は何が起こっているのか頭に浮かぶまでそれを実行することを控えることに決めました、この答えは私が見つけて何をしたかを説明しています。
mv
ファイルをターゲットにコピーするGnu を使用しています。コピー操作が成功した場合にのみ、元のファイルが削除されます。
ただしmv
、このシーケンスを一度に1ファイルずつ実行するかどうかを確認したかったのですが、そうであれば、元のフォルダーの内容は2つの部分にきれいにスライスされ、1つの部分は宛先に移動し、もう1つの部分はソースに残っていました。そしておそらく、2つのディレクトリ間で共通するコピー中に中断された1つのファイルが存在する可能性があります。
2つのディレクトリ間で共通のファイルを発見するために、次を実行しました。
~% sudo diff -r --report-identical-files my_data_on_60GB_partition/. /media/admin/mydata/. | grep identical | wc -l
14237
この結果は、ソースディレクトリとターゲットディレクトリの両方に同じファイルの14,237インスタンスがあることを示唆しました。ファイルを手動で確認することで確認しました。両方のディレクトリに同じファイルが多数ありました。これは、mv
大量のファイルをコピーした後にのみソースファイルの削除を実行することを示唆しています。クイック検索info
のmv
コマンドが示されました
[ mv
]は最初にcp -a
、要求されたディレクトリとファイルをコピーするために使用されたのと同じコードのいくつかを使用し、次に(コピーが成功したと仮定して)オリジナルを削除します。コピーが失敗すると、宛先パーティションにコピーされた部分が削除されます。
私はコマンドを実行しませんでしたが、実行しようとしたかどうか疑っています
sudo mv -i ~/my_data_on_60GB_partition/* /media/admin/my_data/
-i
上書き前のプロンプトは、おそらく14,000回以上トリガーされていました。
そのため、新しく作成されたディレクトリ内の合計ファイル数を確認するには:
~% sudo find my_data_on_60GB_partition/ -type f -a -print | wc -l
14238
そのため、新しいディレクトリに合計14238個の通常ファイルがあり、14237がソースに同じ元のファイルがあった場合、新しいディレクトリには対応する同じファイルがソースにないファイルが1つしかなかったことを意味します。そのファイルが何であるかを調べるために、ソースの方向にrsyncを実行しました。
~% sudo rsync -av --dry-run my_data_on_60GB_partition/ /media/admin/my_data
sending incremental file list
./
Education_learning_reference/
Education_learning_reference/Business_Education/
Education_learning_reference/Business_Education/Business_education_media_files/
Education_learning_reference/Business_Education/Business_education_media_files/Jeff Hoffman - videos/
Education_learning_reference/Business_Education/Business_education_media_files/Jeff Hoffman - videos/Jeff and David F interview/
Education_learning_reference/Business_Education/Business_education_media_files/Jeff Hoffman - videos/Jeff and David F interview/018 business plans-identifying main KPIs.flv
sent 494,548 bytes received 1,881 bytes 330,952.67 bytes/sec
total size is 1,900,548,824 speedup is 3,828.44 (DRY RUN)
クイックチェックにより、これが不正なファイルであることが確認されました。ファイルはソースと宛先の両方に存在し、宛先ファイル= 64MB、オリジナル= 100MBです。このファイルとそのディレクトリ階層はまだルートが所有しており、元の権限はまだ復元されていません。
要約すると:
mv
到達しなかったすべてのファイル は、元の場所に残っています(明らかに)
mv
完全にコピーしたすべてのファイルは、ソースディレクトリに元のコピーがまだありました。
- 部分的にのみコピーされたファイルには、元のディレクトリが元のディレクトリに残っていた
言い換えれば、元のファイルはすべてそのままであり、この場合の解決策は、新しいディレクトリを削除するだけでした!
Control-Z
(一時停止する)のではなく、入力するときに習慣になりControl-C
ます。この場合、その時点で転送されていたファイルを確認できるため、どのファイルが部分的にのみコピーされたかを知ることができます。その後、どのように進めるかを冷静に決定できます。(kill -stop
ttyにないプロセスに使用)。