49 GBのディレクトリを間違ったファイルパスで「mv」しました。ファイルを元の状態に復元できますか?

49 GBのディレクトリを間違ったファイルパスで「mv」しました。ファイルを元の状態に復元できますか?

私(まあ、私は持つ)目次:

/media/admin/my_data

サイズは約49GBで、数万のファイルが含まれています。このディレクトリは、アクティブなLUKSパーティションのマウントポイントです。

ディレクトリ名を次のように変更したいと思います。

/media/admin/my_data_on_60GB_partition

当時は気付いていませんでしたが、ホームディレクトリでコマンドを実行していたので、結局、次のようになりました。

~% sudo mv /media/admin/my_data my_data_on_60GB_partition

その後、プログラムは内容を新しいディレクトリに移動mvし始めます。/media/admin/my_data~/my_data_on_60GB_partition

Ctrl+を使用してCコマンドをキャンセルしたので、複数のファイルが複数のディレクトリに分割されています。

~/my_data_on_60GB_partition    <---  about 2GB worth files in here

そして

/media/admin/my_data           <---- about 47GB of orig files in here    

新しいディレクトリ~/my_data_on_60GB_partitionと一部のサブディレクトリはルートが所有しています。私はプログラムが最初にファイルをルートにコピーし、転送後に自分のユーザーアカウントに返す必要があると
仮定します。mvchown

やや古いディレクトリ/パーティションのバックアップがあります。
私の質問は、移動した複数のファイルを確実に回復できますか?

つまり、次のことを実行できます。

sudo mv ~/my_data_on_60GB_partition/*  /media/admin/my_data

または、ファイルが破損しているか部分的に破損している可能性があるため、回復の試みを放棄する必要がありますか?

  • オペレーティングシステム - Ubuntu 16.04
mv --version  
mv (GNU coreutils) 8.25

ベストアンサー1

ファイルシステム間でファイルを移動すると、mvファイルはコピーが完了するまで削除されず、ファイルを順次処理します。 (もともと各ファイルを順次コピーして削除することを言いましたが、保証されません。少なくともGNUmvコピーは削除されます。ファイルごと)コマンドラインパラメータ順番に、そしてPOSIXはこの動作を指定します)。したがって、ターゲットディレクトリには最大1つの不完全なファイルがありますが、ソースファイルはまだソースディレクトリにあります。

コンテンツを再移動するには、何も上書きしないように-iフラグを追加してください。mv

sudo mv -i ~/my_data_on_60GB_partition/* /media/admin/my_data/

(回復する隠しファイルがないと仮定~/my_data_on_60GB_partition/)またはより良い方法(発見した内容を考慮すると、削除待ちのファイルが多い可能性があります)対応する-nフラグを追加してmv何も上書きしませんが、これについての質問は受け付けません。それ:

sudo mv -n ~/my_data_on_60GB_partition/* /media/admin/my_data/

フラグを追加して、-v実行中の操作を確認することもできます。

POSIX準拠のすべてと同様に、mv元のディレクトリ構造はそのまま維持する必要があるため、これを確認して簡単に削除できます/media/admin/my_data。 (しかし、一般的に、このmv -nバリエーションは安全なアプローチだと思いますmv例えば mv /media/admin/my_data/* my_data_on_60GB_partition/.)

一部の権限を復元する必要があります。みんなandを使用するchownか、andchmodを使用してバックアップから復元しますgetfaclsetfacl(ありがとう。桂里~のため思い出させる)。

おすすめ記事