端末、どのコマンドも実行されず、代わりに私が入力した内容が繰り返されます。

端末、どのコマンドも実行されず、代わりに私が入力した内容が繰り返されます。

というファイルを開く必要があります-。 (ハッカーゲームをしています。)
commandを使用しようとすると、cat -- -入力したすべてのコマンドは機能しません。実際にEnterを押した後は、入力したすべてが機能しません。 Enterの後に繰り返されます。

私はどんな種類のループや拡張コマンドモードなどに入っていると仮定します。

この「ループ」から抜け出すには、何を入力またはタップしますか?

コマンドが繰り返される

明確に言えば、「hhel」を1回入力しましたが、2回現れ、「test」を1回入力しましたが、写真に示すように端末に2回現れました。

答え1

走るcat -- -のは実際に走るのと同じですcat-標準入力として解釈されますが、cat引数がない場合、デフォルトの動作はとにかく標準入力を読み取ることです。繰り返されるテキストの場合、これは入力時に(最初に)入力内容をエコーする端末であり、catは入力を読み取り出力に印刷します(これも端末であるため、テキストは2番目に表示されます)。 。

このタスクを終了するには、CtrlD新しい行をクリックします。また、CtrlCSIGINTを送信してcat終了することもできます。

-現在のディレクトリから呼び出されたファイルの内容を表示するには、cat次のようにします。

cat ./-

答え2

この「ループ」から抜け出すには、何を入力またはタップしますか?

ムルの答えこの状況から離れるには、Ctrl-DまたはCtrl-Cを押すことができるとすでに言及していますが、これらのキーの組み合わせを使用すると、この状況から逸脱する可能性があることに注意してください。ほぼすべて端末に望ましくない状況が現れるのはこれだけではありませんなぜ彼らは彼らがすることをします。

  • Ctrl-DはEOF(ファイルの終わり)を現在のプログラムに送信します。プログラムが端末から「EOFまで」を読み込んで終了するように設計されている場合(多くのプログラムがそれに対応する場合)、Ctrl-Dを使用すると終了できます。catこれはプログラムです。
  • Ctrl-Cを送信割り込み信号現在のプログラムに。これ〜するプログラムを終了し、〜しない限りこのプログラムは、中断されたときに他のタスクを実行するように特別に設計されています(または一部のサードパーティのプログラム/ライブラリによって異なります)。したがって、これは通常Ctrl-Dよりも強力です。使用されるプログラムに加えて、端末プログラムはほとんどありません。TUI(テキストベースのユーザーインターフェイス)、Ctrl-Cを押してもすぐに終了しません。
  • そしてCtrl-Zを押すと背景現在のプログラム。プログラムは終了しませんが(通常)端末に戻ります。 Ctrl-Cと同様に、プログラムはそれをオーバーライドできますが、通常TUIを使用しない限りそうしません。 Ctrl-Zを使用した後、最後に停止したプログラムに戻ることができますfg。または、エラーを使用して誤ったプロセスを見つけてps -a完全に削除することもできます。PIDkill -9 <PID>
  • 最後に、この方法のいずれも機能しませんが、GUIを使用している場合は、次のことができます。2番目の端末を開く上記のとおり、それをps使用してください。kill

ボーナスとして、時には「部分的に」動作するが正しく表示されないターミナルが生じたり、バグのあるプログラムを削除したと確信しても何もしないように見える場合があります。この場合、reset端末を復元するために盲目的に入力を試みることができます(最後にEnterキーを押すことを忘れないでください)(データは失われませんが、入力と同じことを行います。一部のプログラムではそれを閉じて再開しません)。

関連情報