Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

Linux で削除されたファイルを回復する方法:実践的なステップバイステップ ガイド

こんなことがあなたに起こったことはありますか? Del を使用して、誤ってファイルを削除したことに気づきました。 キー、または rm を使用 コマンドラインで。

最初のケースでは、いつでもゴミ箱に移動できます。 、ファイルを検索し、元の場所に復元します。しかし、2番目のケースはどうでしょうか?おそらくご存知かと思いますが、Linux コマンド ラインは削除されたファイルをどこにも送信しません。削除します。 彼ら。くそー。彼らはいなくなってしまった。

推奨読書:Scalpel ツールを使用して削除されたファイル/ディレクトリを回復する方法

この記事では、このようなことが起こらないようにするために役立つヒントと、いずれにしても不注意でそうなってしまった場合に使用を検討できるツールを紹介します。

「rm -i」のエイリアスを作成します

-i スイッチ、rm と一緒に使用する場合 (cp や mv などの他のファイル操作ツールも) ファイルを削除する前にプロンプトが表示されます。

同じ名前のファイルが既に存在する場所でファイルをコピー、移動、または名前変更する場合も同様です。

このプロンプトは、実際にファイルを削除するかどうかを再度検討する機会を与えます。プロンプトを確認すると、ファイルは削除されます。その場合、申し訳ありませんが、このヒントはあなた自身の不注意からあなたを守ることはできません。

rm を置き換えるには 'rm -i' へのエイリアスを使用 、実行します:

alias rm='rm -i'

エイリアス コマンドは rm を確認します。 エイリアスが付けられました:

Linux で削除されたファイルを回復する方法:実践的なステップバイステップ ガイド エイリアスの追加 rm コマンド

ただし、これは現在のシェルでの現在のユーザー セッション中にのみ持続します。変更を永続的にするには、変更を ~/.bashrc に保存する必要があります。 (一部のディストリビューションでは ~/.profile が使用される場合があります) 代わりに) 以下に示すように:

Linux で削除されたファイルを回復する方法:実践的なステップバイステップ ガイド Linux にエイリアスを永続的に追加する

~/.bashrc の変更のために (または ~/.profile ) すぐに有効にするには、現在のシェルからファイルを取得します。

. ~/.bashrc
Linux で削除されたファイルを回復する方法:実践的なステップバイステップ ガイド Linux でのアクティブなエイリアス

フォレンジック ツール – Foremost

ファイルの取り扱いには注意し、外部ディスクまたは USB ドライブから紛失したファイルを復元する場合にのみこのツールを使用する必要があることを願っています。

ただし、システム内のファイルを誤って削除したことに気づいてパニックになりそうになった場合でも、そうしないでください。まず最初に、この種のシナリオ向けに設計されたフォレンジック ツールを見てみましょう。

CentOS/RHEL 7 に最初にインストールするには 、Repoforge を有効にする必要があります。 最初に:

# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
# yum install foremost

一方、Debian では および派生関数は、そのまま実行してください

# aptitude install foremost

インストールが完了したら、簡単なテストを行ってみましょう。まず、nosdos.jpg という名前の画像ファイルを削除します。 /boot/images から ディレクトリ:

# cd images
# rm nosdos.jpg

それを回復するには、次のように「formost」を使用します (最初に基になるパーティションを特定する必要があります – /dev/sda1) は /boot です。 この場合は存在します):

# foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued

/home/gacanepa/救出された場所 は別のディスク上のディレクトリです。削除されたファイルがあったのと同じドライブにファイルを復元するのは賢明な行動ではないことに注意してください。

回復中に、削除されたファイルが存在していた同じディスク セクターを占有している場合、何も回復できない可能性があります。さらに、リカバリを実行する前にすべてのアクティビティを停止することが重要です。

先頭の実行が完了すると、復元されたファイル (復元が可能だった場合) は /home/gacanepa/rescued/jpg 内に見つかります。 ディレクトリ。

概要

この記事では、ファイルを誤って削除しないようにする方法と、そのような望ましくないイベントが発生した場合にファイルを回復する方法について説明しました。ただし、パーティションのサイズによっては、実行にかなりの時間がかかる場合があることに注意してください。

いつものように、ご質問やコメントがございましたら、お気軽にお知らせください。以下のフォームを使用して、お気軽にお知らせください。


  1. トップ 50 の必須 Unix コマンド:実践ガイド

    この記事では、Linux / UNIX で最も頻繁に使用される 50 個のコマンドの実践的な例を示します。 これは決して包括的なリストではありませんが、一般的な Linux コマンドのいくつかをすぐに使用できるようになります。今後の参照のためにこの記事をブックマークしてください。 頻繁に使用される Linux コマンドを見逃していませんか?コメントを残してお知らせください。 1. tar コマンドの例 新しい tar アーカイブを作成します。 $ tar cvf archive_name.tar dirname/ 既存の tar アーカイブから抽出します。 $ tar xvf ar

  2. シェルスクリプトによる関数の複雑さの詳細–パートVII

    「シェルスクリプトでの関数の理解と記述」に関する以前の記事では、シェルスクリプトで関数を記述する方法についての基本的な考え方を説明したかもしれません。次に、ローカル変数の使用や再帰などの機能機能について詳しく説明します。 ローカル変数 変数をローカルにするものは何ですか?変数が宣言されている特定のブロックによって異なります。 ローカルとして宣言された変数 表示されるコードのブロックからアクセスできます。つまり、スコープはローカルです。このことを説明するために、以下の1つの例を見てみましょう。 #!/bin/bash func( ) { local i=10 j=20 echo i f