Bashシェルからコマンドを元に戻すことはできますか?

Bashシェルからコマンドを元に戻すことはできますか?

Bashシェルで実行されたコマンドをやり直す/元に戻す可能性があるかどうか疑問に思います。 (キャンセルする)

どのタスク(WordやLibreOfficeなど)をやり直すことができるctrl+組み合わせのようなものがありますか?z

答え1

bashこれは単なる実行環境であることを理解する必要があります。これにより、ユーザーが呼び出したコマンドが実行されます。シェルはコマンドが何をしているのか気にせず、必要な実行可能ファイルを呼び出すことができます。ほとんどの場合、元に戻す機能が何であるかは不明です。たとえば、映画を「再生解除」できますか?メールを「送信解除」できますか?たとえば、「Firefoxの元に戻す」とはどういう意味ですか?この機能をオフにできますが、ブックマーク、ダウンロード、履歴は同じではありません。

コマンドを実行すると、何をしても実行されます。あなたが何をしているのかを知ることはあなた次第です。これは、個々のコマンドに「元に戻す」機能がないという意味ではありません。そうかもしれません。愚かな間違いから保護するためにラッパー関数を作成することもできます。

たとえば、mv上書きしない限り、ファイルを元の場所に戻すと簡単に元に戻すことができます。その-iため、上書きする前に尋ねるスイッチが存在します。技術的に何か再定義されない限り、cpisの反対です。より永久にファイルを回復するには、実際には低レベルのハッキング(ツール付き)を実行する必要があります。ファイルシステムをブラックボックスとして考えると、これは技術的にまったく可能ではありません(データの論理的、物理的なレイアウトの詳細だけがある程度の損傷を制御できます)。つまり、「ごみ箱」機能が必要な場合は、実際には事前にソートされたディレクトリ(およびそれを維持または空にするために予約されたサービス)に移動するだけです。特別なことはありません。ただし、削除する前にプロンプ​​トを使用できます。関数またはエイリアスを使用して、常にこれらのコマンドを含めることができます。rm-irmrmrmmv-i-i

ほとんどのアプリは、さまざまな方法でデータの損失からユーザーを保護します。ほとんどの(〜すべての)テキストエディタは、以前の~バージョンを復元したい場合に備えて、最後にバックアップファイルを作成します。一部のディストリビューションでは、エイリアスはデフォルトlsで非表示になるために使用されますが(-B)存在します。権限を正しく管理すれば、多くの保護を得ることができます。必要な場合以外はルートにならず、変更を望まない場合はファイルを読み取り専用にしてください。時々「サンドボックス」環境を持つことが役に立つかもしれません。コピーで何かを実行して動作していることを確認し、変更をマージ(または削除)します。chrootあるいは、lxcスクリプトがディレクトリから脱出して破損を引き起こすのを防ぎます。

echo一括してジョブを実行したい場合(たとえば、複雑なfindコマンド、whileループ、長いパイプ、または同様のコマンドがある場合)、実行したいコマンドのみを最初に実行するのが最善です。その後、コマンドが合理的に見える場合は、削除してecho実際に実行してください。もちろん、自分が何をしているのかわからない場合は、まずコピーを作成してください。時には現在のディレクトリのtarballを作成することもあります。

tarballについて言えば、tarbombとzipbombは不幸なことです(人々が適切なサブディレクトリなしでアーカイブするときに解凍すると、ファイルがあちこちに散らばり、途方もない混乱が発生します)。私は解凍する前に直接サブディレクトリを作成することに慣れています。できる物を一覧表示しますが、怠惰です)。コンテンツがサブディレクトリなしでアーカイブされている場合にのみサブディレクトリを生成するスクリプトを作成しようとしています。ただし、そのような場合は、ls -lrt最新のファイルを見つけて元の場所に配置するのが役立ちます。私は例を挙げた。プログラムには、シェルが知らない多くの副作用がある可能性があります(どのようにそれが可能ですか?他のプログラムが呼び出されています!)エラーを回避する唯一の確実な方法は注意することです(2回考えてください。一度実行)。

おそらく最も危険なコマンドは、mkfs、fdisk / gdiskなどのファイルシステムを扱うコマンドです。ファイルシステムを完全に損傷する可能性があります(適切なフォレンジックソフトウェアを使用すると、少なくとも部分的なリバースエンジニアリングも可能です)。コマンドを実行する前に、正しいデバイスとパーティションをフォーマットしていることを再確認してください。

答え2

いいえ、申し訳ありません。 Bashには「元に戻す」などの機能はありません。そのため、コマンドを再確認するか、重要でないファイルで最初にテストする必要があります(可能であれば)。そしてrootで実行していることを3回確認してください。)

答え3

いいえ、普遍的な反転はありませんが、一部の結果は他の結果よりも元に戻すことができます。適切なケースrm:基本的に混乱を避け、新しいファイルのためのスペースを解放する2つの目的を提供します。幸運な場合は、次のツールを使用してファイルの内容を検索できます。extundelete、なぜなら実行すると、ファイルの先頭までの内容が上書きされますrmコンテンツオペレーティングシステムがスペースを再利用すると、スペースが上書きされます(数ミリ秒または数年後に発生する可能性があります)。この機能によりrm途中で落ちた場合スケールシステムはやや破壊的です。一方ではごみ元に戻すことがマイナーであるため、即時のデータ損失の危険なしに混乱を回避する方法を提供するシステムです。もっと保守的に一度書いて、たくさん読んでください(「WORM」)システム内のデータ削除または上書きできません。システムから勝手に書いてください。天びんのもう一方の端はみじん切りシステム、ファイルの上書きコンテンツ(通常複数回)ポインタを除いて。データを回復する技術は、当時は存在しなかったかもしれないし、存在しなかったかもしれない。

rmしたがって、最も一般的に使用される特定のツール()は唯一のオプションではありませんが、ほとんどの人が満足しているように見えるトレードオフを提供することがわかります。

  • ファイルポインタの削除は非常に速く、ディスクの破損にほとんど影響しません。
  • 高度に自動化されたシステムは、スペースが不足する可能性が低くなります。
  • 非常に適度ですが、ゼロ以外のプライバシーを提供し、逆に回復保証を提供します。
  • 複雑さが低いため、エラーや予期しない動作の可能性が低い

ツールによる長所と短所が受け入れられない場合は、周辺を探索してください。おそらく正しい決定を下すためのいくつかのツールがあります。あなた

答え4

いいえ、そうではありません。しかし、root権限を持つディレクトリを台無しにして何かを台無しにしたとしましょう。最善の方法は、すべてのファイルをUSBドライブまたはSDカードに保存してからISOファイルからコピーすることです。 (まだ持っている場合は、オフラインで別のファイルを取得できます...)。何かを削除した場合は、次のことができます。亡霊たとえば、ファイルデータをファイル名に再リンクし、ファイルの内容を保存するアプリをダウンロードします(このトピックを参照)。ここに質問してください)。より詳細な回答を得るには、何が間違っているのか教えてください。

関連情報