Sebenarnya saya pikir jawabannya ada di sini lebih baik, jadi lebih baik tandai sebagai dup sebaliknya
ilkkachu
Jawaban:
165
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.
metode # 1 - reset
Untuk memperbaiki masalah ini, Anda dapat melakukan hal berikut:
Tekan Control + C beberapa kali ( Ctrl+ C)
Ketik perintah resetdan tekan kembali
Ini 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.
Metode # 2 - stty waras
Seperti yang disarankan dalam komentar oleh @sendmoreinfo Anda mungkin lebih beruntung menggunakan perintah berikut daripada jika di atas tidak berfungsi:
$ stty sane
$ tput rs1
menentukan jenis file
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:
resetbukan obat 100% untuk kegilaan terminal. Coba stty sanediikuti oleh tput rs1.
sendmoreinfo
@sendmoreinfo - terima kasih saya telah menambahkan saran Anda untuk jawabannya. Saya pernah menggunakan stty sanetetapi tidak pernah tput.
slm
1
sebenarnya, saya perlu meneliti ini lebih lanjut. reset seharusnya mengirim string rs1. Tes yang baik (setidaknya untuk xterm) adalah membuat kursor tidak terlihat dan melihat apakah reset mengembalikannya.
sendmoreinfo
4
resetbekerja dalam kasus saya
code_monk
1
clearjuga berfungsi untuk kasus ringan.
Navin
36
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:
Saya tahu ini sudah lama, tetapi ini adalah satu-satunya jawaban di atas yang bekerja untuk saya! Terima kasih
jredd
Ini echo -e "\033c"membantu saya untuk membersihkan sesi terminal masuk SSH yang kacau karakter yang tercampur setelah cat /etc/localtime.
Pro Backup
Ini bekerja dengan OpenBSD, ketika yang lainnya tidak.
DHW
1
percobaan lebih lanjut dengan layar (1) menemukan pengiriman kekuatan semua sesi (-D) kemudian mengeluarkan perintah reset ke layar terminal yang mendasarinya dijalankan, dapat memperbaiki masalah. mungkin juga perlu mengganti nama jendela yang rusak yang dapat menampilkan kembali data biner yang sama di terminal yang menyebabkannya rusak (dan kemudian mengatur ulang lagi).
matematika
1
Ukuran terminal saya (LINES) dipotong kira-kira setengah setelah menggunakan vi saat menghubungkan ke konsol host linux jarak jauh melalui SOL. Sesi jarak jauh memiliki LINES = 24 sedangkan sesi MAC lokal saya memiliki LINES = 51. echo -e "\ 033c" bekerja untuk saya tetapi tidak ada perbaikan lain yang saya coba lakukan ('stty sane', tput rs1, tput sgr0, reset).
Mark
7
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.
Sama terjadi. Tidak ada yang berhasil untuk saya, hanya kombo ini ...
Benar
1
Saya meneleponsane
qodeninja
4
tmuxpengguna mungkin dapat mengirim semua perintah ini ke shell mereka, tetapi pengaturan ulang tidak naik ke tmuxpanel.
Buat jendela tmux baru:
ctrl-B ctmux 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 XXXtmux 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):
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
.Jawaban:
Sering kali ketika di terminal Unix / Linux (Bash) misalnya Anda akan menggunakan perintah
more
atauless
ataucat
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.
metode # 1 - reset
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.
Metode # 2 - stty waras
Seperti yang disarankan dalam komentar oleh @sendmoreinfo Anda mungkin lebih beruntung menggunakan perintah berikut daripada jika di atas tidak berfungsi:
menentukan jenis file
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:sumber
reset
bukan obat 100% untuk kegilaan terminal. Cobastty sane
diikuti olehtput rs1
.stty sane
tetapi tidak pernahtput
.reset
bekerja dalam kasus sayaclear
juga berfungsi untuk kasus ringan.Saya pernah memiliki kesempatan di mana tidak ada trik yang biasa,
reset
ataustty sane
, bekerja (setelah secara tidak sengaja memanggilprint
bytearray python). Saya berhasil dengan metode 2 yang tercantum di blog bermanfaat ini .Sejak itu saya telah membuat alias yang paling membantu:
sumber
echo -e "\033c"
membantu saya untuk membersihkan sesi terminal masuk SSH yang kacau karakter yang tercampur setelahcat /etc/localtime
.Tidak ada jawaban sebelumnya yang berfungsi untuk saya. Tapi ini sepertinya melakukan trik di .bashrc tambahkan:
dan kemudian ketika masalah terjadi ketik ini (meskipun Anda mungkin tidak bisa melihatnya!)
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.
sumber
sane
tmux
pengguna mungkin dapat mengirim semua perintah ini ke shell mereka, tetapi pengaturan ulang tidak naik ketmux
panel.Buat jendela tmux baru:
ctrl-B c
tmux list-panes
Catat nomor panel yang menurut Anda borked, biasanya0
. 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.sumber
Saya memiliki alias yang hampir sama dengan posting sebelumnya, dengan satu perubahan kecil (
tput reset
bukanrs1
) dan satu perintah tambahan (setterm -reset
):sumber
Tidak ada yang membantu saya di atas. Namun, Jack Wasey menyebutkan tmux, jadi saya hanya berlari
tmux
, keluar lagi dan semuanya kembali normal.sumber
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
:Melihat dan mengedit file biner tampaknya dimungkinkan dengan
hexdump -C
danvi -R
(:%!xxd -g1
untuk tampilan hex dan:%!xxd -g1 -r
untuk menyimpan perubahan hex).sumber