Claro ... no hagas eso! Además, si cree que un comando puede producir caracteres no válidos, use cat -A.
jnylen
2
Además, siempre he tenido curiosidad por saber cómo catpuede romper tu conjunto de personajes ...
crasic
cat / bin / ls a menudo corrige esto (no estoy seguro de por qué)
skarface
2
@crasic: envía binarios al terminal, y cada terminal tiene formas de cambiar la fuente / color / etc. al recibir caracteres especiales. Vea lo maravilloso: linusakesson.net/programming/tty (también conocido como "el TTY desmitificado"). Dependiendo de su configuración de TÉRMINO, también reaccionará de manera diferente (y, por supuesto, dependiendo de qué bytes reciba y en qué orden).
Olivier Dulac
@skarface: probablemente tuvo suerte de que el binario de / bin / ls tuviera, cerca del final, secuencias de bytes que arreglaron la pantalla. Dependerá del sistema operativo, el binario (es decir, qué versión, qué compilación optino usó, etc.) y la configuración de TERM de su terminal ... así que le recomiendo que use "stty sane" en su lugar ^^
Olivier Dulac
Respuestas:
50
Pruebe uno de estos:
stty sane
o
reset
Si ambos no funcionan, o si su terminal está tan desordenada que ni siquiera puede ingresar comandos, entonces es mejor cerrar la terminal e iniciar una nueva.
Tenga en cuenta que stty saneestá definido por POSIX mientras resetque no lo está. Eso significa que en algunos sistemas puede que no haya una reseto que haga algo completamente diferente, como restablecer todo el sistema. Todavía no he encontrado un sistema sin reset.
Te di la respuesta correcta porque fuiste el primero. Perdón por los otros.
Pedro Montoto García
En general, escribir bytes aleatorios en un terminal es poco probable que lo coloque en una situación que necesite ser reparada; es más probable que provenga de un bloqueo del programa.
Random832
stty sanees la forma segura y adecuada (estoy cansado de "reiniciar" por las razones que dije en los comentarios debajo de la respuesta de lain)
Olivier Dulac
1
@ OlivierDulac Gracias por compartir su experiencia. Investigué y aprendí quereset POSIX no lo define.
lesmana
1
@Iain No creo que @OlivierDulac esté difundiendo FUD. La referencia que resetno es "segura" es el hecho de que POSIX no la define. Deje de difundir el FUD que @OlivierDulac está difundiendo FUD.
Vinculaste la página del manual, recomendando implícitamente un buen RTFM. Eres mi héroe hoy, gracias.
Luke404
Esto funciona en muchos Unixes ... Pero algunas palabras de advertencia: tenga cuidado: en algunos sistemas (es decir, otros sistemas operativos, o tal vez alguna otra distribución de Linux) esto podría estar iniciando un reinicio del sistema (creo que por ejemplo lo hace en algunas versiones de solaris). Por lo tanto, reiniciar el sistema, es decir, forzar un reinicio (sin un apagado adecuado) ... Al igual que con cualquier comando, tenga cuidado. (Esto también es cierto para otros comandos: algunos 'tar', por ejemplo, NO eliminan los prefijos "/" y, por lo tanto, pueden sobrescribir archivos confidenciales, etc. Siempre asegúrese de saber cómo funciona el comando que desea utilizar en el sistema que utiliza. están usando.)
Olivier Dulac
1
@OlivierDulac; El OP etiquetó su pregunta Linux para que obtuviera una respuesta Linuxcéntrica, aunque funcionará sin problemas en otros sistemas Unix, incluido Solaris. ¡Trabajé con Solaris durante 15 años! Está confundiendo el comando de reinicio de SPARC Open Boot Prom con el comando userland reset (1). Sin embargo, si emite el restablecimiento en el indicador ok, es poco probable que se recupere de un terminal dañado.
user9517 es compatible con GoFundMonica
@lain: ah, esto podría ser esto (Open Boot prom), de hecho. Pero aún así, significa que en algún entorno "restablecer" está vinculado a restablecer el host, por lo que prefiero que las personas (incluso si están "principalmente" en Linux) aprendan / usen el comando "seguro" "stty cuerdo" (que establece qué lo hace, y no es tan ambiguo como "restablecer") ... es por eso que estoy advirtiendo a los lectores sobre esto.
Olivier Dulac
@OlivierDulac Solaris, CentOS, Ubuntu, OpenBSD restablecen todos los enlaces a tset; proporcione evidencia de su información errónea además de recordar algo incorrectamente. OBP no es un sistema operativo host, por lo que no cuenta.
cat -A
.cat
puede romper tu conjunto de personajes ...Respuestas:
Pruebe uno de estos:
o
Si ambos no funcionan, o si su terminal está tan desordenada que ni siquiera puede ingresar comandos, entonces es mejor cerrar la terminal e iniciar una nueva.
Tenga en cuenta que
stty sane
está definido por POSIX mientrasreset
que no lo está. Eso significa que en algunos sistemas puede que no haya unareset
o que haga algo completamente diferente, como restablecer todo el sistema. Todavía no he encontrado un sistema sinreset
.Para obtener más información sobre antecedentes, lea el capítulo "Cómo usar el teclado y la consola de Linux" "Restablecimiento de su terminal" .
fuente
stty sane
es la forma segura y adecuada (estoy cansado de "reiniciar" por las razones que dije en los comentarios debajo de la respuesta de lain)reset
POSIX no lo define.reset
no es "segura" es el hecho de que POSIX no la define. Deje de difundir el FUD que @OlivierDulac está difundiendo FUD.Puedes intentar usar el comando reset .
fuente
El
reset
comando debería funcionar.fuente