Saya sudah mencoba perintah catdengan file yang dapat dieksekusi:
cat /bin/ls
Sekarang saya tidak bisa membaca kata apa pun di terminal ini (konsol Linux). Bagaimana saya bisa memperbaikinya?
Saya sudah mencoba perintah catdengan file yang dapat dieksekusi:
cat /bin/ls
Sekarang saya tidak bisa membaca kata apa pun di terminal ini (konsol Linux). Bagaimana saya bisa memperbaikinya?
Jawaban:
Sering kali ketika di terminal Unix / Linux (Bash) misalnya Anda akan menggunakan perintah moreatau lessatau catuntuk melihat file. Ketika Anda melakukan ini dan file tidak dimaksudkan untuk dilihat (seperti /bin/ls) Anda akan mendapatkan output seperti ini:

Apa yang terjadi di sini adalah Anda baru saja mencoba melihat file yang merupakan program. Dapat dieksekusi yang tidak dimaksudkan untuk dilihat dengan pemirsa standar seperti yang saya sebutkan di atas.
Untuk memperbaiki masalah ini, Anda dapat melakukan hal berikut:
resetdan tekan kembaliIni biasanya membuat terminal Anda kembali ke mode yang lebih normal. Saya akan menyebutkan satu hal lagi, ketika Anda melakukan langkah-langkah di atas, Anda akan dengan mengetikkannya di terminal Anda. Jadi pastikan Anda mengetiknya dengan benar.
Seperti yang disarankan dalam komentar oleh @sendmoreinfo Anda mungkin lebih beruntung menggunakan perintah berikut daripada jika di atas tidak berfungsi:
$ stty sane
$ tput rs1
Kebetulan, jika Anda menemukan file dan tidak yakin apakah itu akan mengacaukan terminal Anda, Anda dapat memeriksa file menggunakan perintah fileyang akan melaporkan kembali jenis file itu.
Misalnya, dengan /bin/lsfile itu menunjukkan output berikut:
$ 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
resetbukan obat 100% untuk kegilaan terminal. Coba stty sanediikuti oleh tput rs1.
stty sanetetapi tidak pernah tput.
resetbekerja dalam kasus saya
clearjuga berfungsi untuk kasus ringan.
Saya pernah memiliki kesempatan di mana tidak ada trik yang biasa, resetatau stty sane, bekerja (setelah secara tidak sengaja memanggil printbytearray python). Saya berhasil dengan metode 2 yang tercantum di blog bermanfaat ini .
Sejak itu saya telah membuat alias yang paling membantu:
alias fix='echo -e "\033c"'
echo -e "\033c"membantu saya untuk membersihkan sesi terminal masuk SSH yang kacau karakter yang tercampur setelah cat /etc/localtime.
Tidak ada jawaban sebelumnya yang berfungsi untuk saya. Tapi ini sepertinya melakukan trik di .bashrc tambahkan:
alias fix='reset; stty sane; tput rs1; clear; echo -e "\033c"'
dan kemudian ketika masalah terjadi ketik ini (meskipun Anda mungkin tidak bisa melihatnya!)
(ctl-c, ctl-c, ctl-c)
fix
Terima kasih banyak kepada submitter sebelumnya. Selain itu, sebagai catatan tambahan, alasan terminal Anda menjadi miring ketika menunjukkan file-file yang dapat dieksekusi (atau keystores, dll) adalah bahwa file-file tersebut sering mengandung urutan biner yang merupakan kode kontrol. Kode kontrol dapat melakukan hal-hal acak seperti beralih ke rangkaian karakter grafis, mengatur warna latar depan dan latar belakang ke hal yang sama, dll.
sane
tmuxpengguna mungkin dapat mengirim semua perintah ini ke shell mereka, tetapi pengaturan ulang tidak naik ke tmuxpanel.
Buat jendela tmux baru:
ctrl-B c
tmux list-panes
Catat nomor panel yang menurut Anda borked, biasanya 0. Sebut sajaPPP
Pilih jendela tmux, di mana XXXnomor jendela yang di-bork, tidak harus sama dengan nomor panel.
ctrl-B XXX
tmux send-key -R -t PPP
Anda kemudian akan melihat semua perintah di jawaban lain untuk pertanyaan ini yang berhasil masuk ke shell Anda, tetapi tidak berhasil! Mungkin orang buta tmux send-key -R -t PPPakan berhasil, tetapi saya tidak bisa menguji.
Saya memiliki alias yang hampir sama dengan posting sebelumnya, dengan satu perubahan kecil ( tput resetbukan rs1) dan satu perintah tambahan ( setterm -reset):
alias clr='echo -e "\033c" ; stty sane; setterm -reset; reset; tput reset; clear'
Selain jawaban lain yang menyarankan cara mengatur ulang terminal, saya pikir korupsi tidak dapat dihindari kecuali dijaga dengan baik. Jadi saya lebih baik mengirim output ke konverter ramah teks sederhana cat -v:
docker logs myjenkinscontainer 2>&1 | cat -v
Melihat dan mengedit file biner tampaknya dimungkinkan dengan hexdump -Cdan vi -R( :%!xxd -g1untuk tampilan hex dan :%!xxd -g1 -runtuk menyimpan perubahan hex).
reset.