rm
によるファイルの削除など、ターミナルで行われた操作を元に戻すことはできますか?
得られたソリューション:
- エイリアシング
- 復元ユーティリティ
- バックアップユーティリティ
- LibTrash
- バージョン管理(ヒューズ)
端末でのすべての操作に対して一般的な「元に戻す」はありません。 rm
の使用後にファイルを復元する場合は、復元ソフトウェアを調べる必要があります。
将来のミスからあなたを防ぐオプションは、ファイルを削除する代替コマンドのためにalias
esを作ることです。それらを~/.bashrc
に追加して、rm
の代わりに使用する習慣を身に付けてください。
エイリアスrmi = 'rm -i'
rmi
を使用すると、今後の削除の確認を求められます。 y
コマンドを発行した直後にrmi
を押す習慣を身につけないようにしてください。目的を達成できなくなります。
ターミナルでtrsh
コマンドによって削除されたファイルをごみ箱(KDEおよびGnome上)に移動することもできます。
alias trsh='mv --target-directory="$HOME/.Trash"'
trsh
を使用すると、「削除を取り消す」機能が制限されます。それに注意してください
trsh dir1/file1 dir2/file1
それでも回復不可能なデータの損失を引き起こす可能性があります。
コマンドラインのごみ箱はありません。
さまざまな元に戻すユーティリティのいくつかを試すことができますが、それらが機能する保証はありません。
GUIを実行するときにKDEを使用する場合は、 trash-cli を使用できます。これは、KDEのゴミ箱機能を使用して削除/復元するコマンドラインユーティリティです。
rm
をtrash
コマンドのエイリアスにすることができます(最初にtrash
をインストールする必要があります。)これを~/.bashrc
に追加します。
alias rm='trash'
〜/ .Trashはgnomeのゴミ箱フォルダではないため、これはalias rm='mv --target-directory=$HOME/.Trash'
よりも望ましいです。実際のゴミ箱フォルダがどこにあるかをtrash
に把握させることは、私見の方が良いでしょう。
ところで、コメントでこれを投稿したでしょうが、十分な担当者がいません。
ここで、対処する価値のあるより大きな質問があります。シェルコマンドはおしゃべりではありません(必要なことを再確認しません)。また、何をしているのかを知っていることを期待しています。これは、それらがどのように機能するか設計の基本です。これは機能であり、バグではありません。
このようなコマンドを使用すると、マッチョを感じる人もいますが、これはばかげていると思いますが、危険を理解することは重要ですis。 rootでなくても、ターミナルで大きなダメージを与えることができます。 rm
は本当に気にかけていたと思いますが、「ターミナルで行われた操作を元に戻すことはできますか?」一般的な答えは「いいえ」で、できません。
さらに2つの技術的ソリューションはまだ名前が付けられていません。
オプション1: ext2ファイルシステムからLinuxファイルを元に戻す を参照してください。このページは、LunetIX社のSebastian Hetzeが作成したプログラムを指します。このタイトルは、タイトルが示すように、ext2ファイルシステムから最近削除されたファイルの復元を元に戻します。使用例:
# undelete -d /dev/hdc3 -a 10
警告:
オプション2:自分のマシンでrsnapshot(rsync)を実行していて、選択したフォルダーのスナップショットを1時間ごとに作成します。これは、これを1時間ごと、2時間ごと、またはCRONに実行するように指示するものごとに段階的に実行します。丸1日後、これらのスナップショットを1つの毎日のスナップショットに、7日後には毎週というようにリサイクルします。これにより、1時間ごとに約1か月ほど前に戻ることができます。変更されたことのないファイルへのシンボリックリンクが作成されるため、ディスクスペースはかなり良好です...
/dev/partition
でgrepを使用して回復する(LinuxまたはUnix削除されたファイルを回復する–ファイルの削除を取り消す)、
grep -b 'search-text' /dev/partition > file.txt
試してみてください。
Ext2用の削除取り消しユーティリティは存在しますが、他のほとんどのLinuxファイルシステムはストーンエイジで動かなくなり、高度なユーザビリティ機能がありません。二度とファイルを削除しない十分なスペースがある巨大なドライブを検討する悲しい状況は当たり前です。
だからあなたは3つのオプションで立ち往生しています:
たとえば次のようなコマンドを使用して、定期的にバックアップを実行します。
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
すべての作業には、git
などのバージョン管理ツールを使用してください。これは、リポジトリを強制終了するクレイジーなrm -r
を防ぐことはできませんが、git rm
raw rm
を使用しないため、定期的なトラブルを防ぐことができます。
シェルで失われるほとんどのデータは誤ってrm
ではなく誤った方向に失われるため、rm -i
、trash-cli
、および友達にはあまり注意しないでください。パイプ、誤って入力された出力ファイル、誤って指定されたmv
など、つまり、データを削除するだけでなく、データを上書きするもの。
安全性を最大限にするには、3つすべてを実行してください。
私(opensuse leap 42.2、NTFSペンドライブ) PhotoRec -testdisk
作成者も-機能しました:)しかし、ファイル名は回復していません。
PhotoRecは、ハードディスク、CD-ROMからのビデオ、ドキュメント、アーカイブなどの失われたファイル、およびデジタルカメラのメモリから失われた画像(つまり、写真の回復名)を回復するように設計されたファイルデータ回復ソフトウェアです。 PhotoRecはファイルシステムを無視し、基礎となるデータを追跡するため、メディアのファイルシステムが著しく損傷または再フォーマットされている場合でも機能します。
OpenSUSEの標準リポジトリを使用してインストールしました
これをチェックしてください...役に立つかもしれません http://artmees.github.io/rm/
あなたがしたとしましょう
rm very_important_file
ターミナルから。このファイルを回復することは退屈で、常に成功するプロセスではありません
代わりに、上記のスクリプトを使用した場合。これについて心配する必要はありません。
rm very_important_file
mv very_important_file ~/.Trash/
同等です。スクリプトはより多くのケースを処理し、システムrm
をまったく変更しません。これは、ユーザーのローカルbinフォルダーに配置されるため、システムのrmをシャドウし、影響を与えたり、使用を無効にしたりしないためです。
これは洗練されたエイリアシングアプローチですが、機能を失うことはありません