Saya sudah mencoba perintah cat
dengan 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 cat
dengan 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 more
atau less
atau cat
untuk 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:
reset
dan 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 file
yang akan melaporkan kembali jenis file itu.
Misalnya, dengan /bin/ls
file 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
reset
bukan obat 100% untuk kegilaan terminal. Coba stty sane
diikuti oleh tput rs1
.
stty sane
tetapi tidak pernah tput
.
reset
bekerja dalam kasus saya
clear
juga berfungsi untuk kasus ringan.
Saya pernah memiliki kesempatan di mana tidak ada trik yang biasa, reset
atau stty sane
, bekerja (setelah secara tidak sengaja memanggil print
bytearray 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
tmux
pengguna mungkin dapat mengirim semua perintah ini ke shell mereka, tetapi pengaturan ulang tidak naik ke tmux
panel.
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 XXX
nomor 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 PPP
akan berhasil, tetapi saya tidak bisa menguji.
Saya memiliki alias yang hampir sama dengan posting sebelumnya, dengan satu perubahan kecil ( tput reset
bukan 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 -C
dan vi -R
( :%!xxd -g1
untuk tampilan hex dan :%!xxd -g1 -r
untuk menyimpan perubahan hex).
reset
.