Yanıtlar:
Örneğin, bir Unix / Linux terminalinde (Bash) olduğu zamanlar çoğu zaman komutları kullanacaksınız more
ya less
da cat
bir dosyayı görüntüleyeceksiniz. Bunu yaptığınızda ve dosyanın görüntülenmesi amaçlanmadığında (örneğin /bin/ls
) aşağıdaki gibi çıktı alırsınız:
Burada olan şey, program olan bir dosyayı görüntülemeye çalıştığınız. Yukarıda belirttiğim gibi standart izleyiciler ile görülmesi gerekmeyen bir çalıştırılabilir dosya.
Bu sorunu çözmek için aşağıdakileri yapabilirsiniz:
reset
ve return tuşuna basınBu genellikle terminalinizi daha normal bir moda geri getirmelidir. Bir adım daha bahsedeceğim, yukarıdaki adımları uyguladığınızda, terminalinize kör yazarak uygulayacaksınız. Bu yüzden doğru yazdığınızdan emin olun.
@Sendmoreinfo tarafından yapılan yorumlarda önerildiği gibi, yukarıdakiler işe yaramazsa, aşağıdaki komutları kullanarak daha iyi şanslar elde edebilirsiniz:
$ stty sane
$ tput rs1
Bu arada, bir dosyaya rastlarsanız ve terminalinizi bozup bozmayacağından emin değilseniz, dosyanın file
tipini geri rapor edecek komutu kullanarak dosyayı inceleyebilirsiniz .
Örneğin, /bin/ls
bu dosyayla şu çıktı gösterilir:
$ 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
terminal delilik için% 100 tedavi değildir. stty sane
Takip etmeyi dene tput rs1
.
stty sane
ama asla tput
.
reset
benim durumumda çalıştı
clear
hafif vakalarda da çalışır.
Alışılmadık numaraların hiçbirinin reset
ya da stty sane
işe yaramadığı bir zaman geçirdim (yanlışlıkla print
python bytearray'i çağırdıktan sonra ). Bu faydalı blogda listelenen yöntem 2 ile başarı elde ettim .
O zamandan beri yararlı bir takma ad oluşturdum:
alias fix='echo -e "\033c"'
echo -e "\033c"
bana bir sonra karışık bir karakter bozuk SSH giriş terminali oturum temizlemek için yardımcı oldu cat /etc/localtime
.
Önceden bir tek cevap benim için işe yaramadı. Ama bu .bashrc ekle de hile yapmak gibiydi:
alias fix='reset; stty sane; tput rs1; clear; echo -e "\033c"'
ve sonra sorun ortaya çıktığında şunu yazın (muhtemelen göremiyor olsanız bile!)
(ctl-c, ctl-c, ctl-c)
fix
Önceki göndericilere çok teşekkürler. Ayrıca, bir yan not olarak, bu yürütülebilir dosyaları (veya anahtar depolarını, vb.) Gösterirken terminalinizin riskli kalmasının nedeni, bu dosyaların genellikle kontrol kodları olan ikili dizileri içermesidir. Kontrol kodları, bir grafik karakter setine geçiş yapmak, ön plan ve arka plan renklerini aynı şeye ayarlamak, vb. Gibi rasgele şeyler yapabilir.
sane
tmux
kullanıcılar bu komutların hepsini kabuğuna gönderebilir, ancak sıfırlama tmux
bölmeye yükseltilmez .
Yeni tmux penceresi oluşturun:
ctrl-B c
tmux list-panes
Genelde boş olduğunu düşündüğünüz bölme numarasını not edin 0
. Haydi arayalımPPP
Bölünmüş pencere XXX
numarası olan tmux penceresini seçin, mutlaka bölme numarasıyla aynı değil.
ctrl-B XXX
tmux send-key -R -t PPP
Daha sonra, bu soruyu cevabınıza çeken, ancak işe yaramayan diğer soruların tüm komutlarını göreceksiniz! Belki bir kör tmux send-key -R -t PPP
işe yarar , ama test edemiyorum.
Neredeyse bir önceki yazı ile aynı takma isme sahibim, küçük bir değişiklik ( tput reset
bunun yerine rs1
) ve bir de komut ( setterm -reset
):
alias clr='echo -e "\033c" ; stty sane; setterm -reset; reset; tput reset; clear'
Terminalin nasıl sıfırlanacağını öneren diğer cevaplara ek olarak, düzgün bir şekilde korunmadıkça yolsuzluğun önlenemeyeceğini düşündüm. Bu yüzden çıktıyı basit bir metin dostu dönüştürücüye göndermeliyim cat -v
:
docker logs myjenkinscontainer 2>&1 | cat -v
İkili dosyaların görüntülenmesi ve düzenlenmesi hexdump -C
ve vi -R
( :%!xxd -g1
altıgen görünüm ve :%!xxd -g1 -r
altıgen değişiklikleri kaydetmek için) ile mümkündür.
reset
.