実行可能ファイルでコマンドcat
を試しました:
cat /bin/ls
この端末(Linuxコンソール)でWordを読むことができなくなりました。どうすれば修正できますか?
たとえば、Unix/Linuxターミナル(Bash)でファイルを表示するには、more
またはless
またはcat
コマンドを使用することがよくあります。これを行い、ファイルが表示されることを意図していない場合(/bin/ls
など)、次のような出力が得られます。
ここで起こっているのは、プログラムであるファイルを表示しようとしたところです。上で述べたように、標準のビューアで表示することを意図していない実行可能ファイル。
この問題を解決するには、次のようにします。
reset
を入力してReturnキーを押しますこれは通常、端末をより通常のモードに戻すはずです。上記の手順を実行するときは、ターミナルにブラインドと入力して説明します。したがって、正しく入力していることを確認してください。
@sendmoreinfoのコメントで示唆されているように、上記が機能しない場合は、代わりに次のコマンドを使用すると幸運になるかもしれません。
$ stty sane
$ tput rs1
ちなみに、ファイルを見つけて、それが端末を台無しにするかどうかわからない場合は、コマンドfile
を使用してファイルを検査し、ファイルのタイプを報告することができます。
たとえば、/bin/ls
の場合、このファイルは次の出力を示します。
$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped
reset
またはstty sane
、動作しました(python bytearrayで誤ってprint
を呼び出した後)。 この有用なブログにリストされている方法2 で成功しました。
それ以来、私は最も役立つエイリアスを作成しました:
alias fix='echo -e "\033c"'
以前の答えはどれも私には役に立たなかった。しかし、これは.bashrc addでトリックを行うように見えました:
alias fix='reset; stty sane; tput rs1; clear; echo -e "\033c"'
そして、問題が発生したら、これを入力してください(おそらくそれが表示されない場合でも!)
(ctl-c, ctl-c, ctl-c)
fix
以前の提出者に感謝します。また、補足として、これらの実行可能ファイル(またはキーストアなど)を表示するときに端末が不安定になる理由は、これらのファイルに制御コードであるバイナリシーケンスが含まれていることが多いためです。制御コードは、グラフィック文字セットへの切り替え、前景色と背景色の同じものへの設定など、ランダムなことを行う場合があります。
tmux
ユーザーはこれらのすべてのコマンドをシェルに送信できる可能性がありますが、リセットするとtmux
ペインに昇格しません。
新しいtmuxウィンドウを作成します:ctrl-B c
tmux list-panes
ボーキングされていると思うペイン番号に注意してください。通常、0
。 PPP
としましょう
Tmuxウィンドウを選択します。ここで、XXX
は、ボークされるウィンドウ番号であり、必ずしもペイン番号と同じではありません。 ctrl-B XXX
tmux send-key -R -t PPP
すると、この質問に対する他の回答のすべてのコマンドがシェルに到達しましたが、機能しませんでした。多分ブラインドtmux send-key -R -t PPP
は機能しますが、テストできません。
以前の投稿とほぼ同じエイリアスで、1つの小さな変更(tput reset
の代わりに rs1
)と1つの追加コマンド(setterm -reset
):
alias clr='echo -e "\033c" ; stty sane; setterm -reset; reset; tput reset; clear'
上記のことは何の助けにもなりませんでした。しかし、Jack Waseyがtmuxについて言及したので、私はtmux
を実行して再び終了し、すべてが正常に戻りました。
別の解決策は次のとおりです。
reset
私はこれがここにあることを知っていますが、他の多くの答えは私のためにうまくいきましたが、リセット、正気、時にはそれらのどちらも私のために働かなかったので、私はいつも次のようにします:
echo ^v^o
エコーCtrl + Vに続いてCtrl + O
端末をリセットする方法をアドバイスする他の回答に加えて、適切に保護しない限り、破損を回避できないと考えました。そのため、出力を単純なテキスト対応のコンバーターcat -v
:
docker logs myjenkinscontainer 2>&1 | cat -v
バイナリファイルの表示と編集はhexdump -C
およびvi -R
(:%!xxd -g1
16進表示の場合、:%!xxd -g1 -r
(16進数の変更を保存する場合)。