He estado usando el comando:
reset
para limpiar mi terminal Aunque estoy bastante seguro de que esto no es lo que debería estar haciendo. Restablecer, como su nombre lo indica, restablece todo su terminal (cambia muchas cosas). Esto es lo que quiero:
Básicamente quiero usar el comando clear
. Sin embargo, si despejas y luego te desplazas hacia arriba, aún obtienes toneladas de cosas de antes. En general, esto no es un problema, pero estoy viendo registros brutos que son largos y quiero asegurarme de que solo estoy viendo el más reciente. Sé que podría usar more
o algo así, pero prefiero este enfoque.
clear && printf '\033[3J'
. Sin reinicio de terminal, solo borrando el texto en la pantalla. Ver este post: superuser.com/questions/555554/...Respuestas:
El búfer de desplazamiento hacia atrás no es una característica de bash sino del programa del terminal. No dijiste qué terminal estás usando.
Si está utilizando xterm, puede borrar las líneas guardadas haciendo eco de ESC-c en el terminal.
Esto puede o no funcionar en cualquier programa de terminal que esté utilizando.
En Linux, esto probablemente funcionará:
en FreeBSD echo no acepta -e para que pueda probar:
fuente
echo ESC-c
?ESC
. Lea los artículos "Carácter de escape" y "Carácter de control" en Wikipedia: aESC
menudo se usa para denotar el carácter ASCII 0x1B, que puede insertar presionando^V
seguido deEsc
.\0143
lugar dec
?Use la herramienta adecuada para cada trabajo:
Use
clear
para borrar la ventana de terminal.Utilícelo
reset
para restablecer su terminal cuando las secuencias de control lo estropeen.Úselo
cat
solo cuando desee transmitir una gran cantidad de datos de un lugar a otro sin interrupciones .Use un programa de buscapersonas como
less
omost
para ver las páginas de salida.Use
tail -f /var/log/foo.log /var/log/bar.log
para ver varios archivos de registro diferentes.tail
, la-F
opción es mejor porque puede continuar siguiendo el archivo incluso cuando aparece un nuevo archivo en su lugar, como es común para los archivos de registro.fuente
cat
leer cualquier cosa, pero para archivos pequeños realmente tiene mucho sentido paracat
ellos en lugar de usarless
. Una vez que el archivo se ha volcado al terminal, puede mirar / desplazarse al archivo con la frecuencia que desee, en lugar de tener que descartarloless
antes de hacer cualquier otra cosa.Solo para proporcionar la respuesta técnica:
reset
reinicializar el terminal, como si se volviera a abrir desde cero.stty sane
hará mucha de la misma funcionalidad (sin el reinicio). Esto es lo mismo que^L
(Ctrl + L) (irrc), ytput clear
. A pesar de lo que dijo el póster anterior (@grawity),clear
no genera un montón de nuevas líneas. Envía elTERM
restablecimiento de s como se define enterminfo
otermcap
, para mí, usargnome-terminal
(xterm) es lo mismo que el comandoperl -e'print "\33[H\33[2J"'
.Si solo desea borrar el búfer, en comparación con reiniciar todo el terminal, intente esto
tput reset
. Se debe ser muy rápido, y hacer lo que quiera. (Aunque realmente deberías estar leyendo archivos conless
)tput reset
, envía el valor de terminfo para restablecer: en mi terminal (xterm) es lo mismo queperl -e'print "\33c"'
fuente
clear
salidas de un montón de nuevas líneas. Acabo de proporcionar un comando como alternativa , porqueclear
solo borra la pantalla pero no el búfer de desplazamiento. (No en PuTTY o Konsole, al menos.)clear
como un nombre de señal a una señal y otro que se asignareset
a una señal, y solo el último da como resultado un búfer de desplazamiento hacia atrás despejado.reset
envía el último, arriba haciendo otras cosas divertidas.clear
no no restablecer su desplazamiento hacia atrás. (ESC c
funcionaxterm
y está basado en VTE, pero no en PuTTY y Konsole). Tampoco quiere usarloreset
, ya que restablece más de lo que quiere. (No sé qué terminal usa, pero comparestty
antes y después de reiniciar)tput reset
, lo que envía la señal de reinicio al terminal, sin reiniciar el término. "reset: en lugar de colocar cadenas de inicialización, las cadenas de reinicio del terminal se emitirán si están presentes (rs1, rs2, rs3, rf). Si las cadenas de reinicio no están presentes, pero las cadenas de inicialización sí, se emitirán las cadenas de inicialización. De lo contrario, reset actúa de manera idéntica a init ". Aquí, tenemos cadenas de reinicio para que las cadenas de inicio no se ejecuten.tput reset
es bastante lento (igual quereset
).printf '\033\143'
Es mucho más rápido. ¿Hay alguna razón por la cual el método printf es peligroso / malo?Otra terminal es iTerm2, y tiene una secuencia de escape algo extraña que se usa para borrar el desplazamiento hacia atrás. En un shell Bash, uso algo como:
en un guion Básicamente, es un carácter ESC, seguido de "
]50;ClearScrollback
" y luego un carácter BEL.fuente
clear
yreset
no. Sin embargo, esta no es realmente la mejor respuesta a la pregunta. Creo que la respuesta correcta para ese caso es lo que ofrece la aplicación de terminal, como command-K en iTerm2, control-K en otros, etc.Probablemente la mejor manera de borrar todo es usar la función del terminal:
De esta forma, ambas memorias intermedias se limpian y el estado del terminal se restablece exactamente a lo que era en el inicio (que puede o no ser lo mismo que usar
reset
).fuente
gnome-terminal
en este momento) ... Echa un vistazo a "Herramientas" y otros menús.+F
es para "seguir", similar atail -f
pero también te permite desplazarte hacia atrás.Todos los terminales basados en vte (GNOME, Xfce, Roxterm) y KDE Konsole le permiten usar la rueda de desplazamiento para desplazarse dentro
less
. Me parece bastante conveniente.Alternativa a
clear
:fuente
En Mac OS X Terminal.app:
Ver -> Borrar desplazamiento hacia atrás (o command- K)
fuente
No es un problema de "Bash". Depende de la terminal que use. Por ejemplo, uso "iterm2" con macbook para conectar una máquina Linux remota. Puede usar "comando + K" para limpiar el búfer, o en el menú, elija "Editar" -> "Borrar búfer".
fuente
Para borrar la pantalla de la consola y el búfer de desplazamiento hacia atrás cuando se ejecuta PuTTY, esto funciona para mí:
En realidad, se trata de 2 secuencias "Esc" que actúan de forma independiente ... se pueden usar en cualquier orden:
El uso de
echo -en "\ec"
que restablece el terminal puede cambiar algunas de sus otras configuraciones de terminal. En lugar de "Restablecer", puede hacer esto:Puede poner esto en un script de shell y funciona bien.
En caso de que haya algunas dependencias del sistema:
Estoy usando PuTTY Connection Manager (Versión 0.7.1 BETA (compilación 136)), con PuTTY (Versión 0.60).
Mecanografía:
informes:
fuente
Para limpiar el búfer de pantalla para el hardware TTY en FreeBSD, puede usar "vidcontrol - control de consola del sistema y utilidad de configuración" con el parámetro -C Borrar el búfer de historial.
vidcontrol -C
el comando dejará en blanco todo el búfer de pantalla para la consola actual, por encima de lo que ves en este momento. Es posible que desee "borrar" primero, o no, depende de usted.
fuente
Si desea asegurarse de que está viendo las entradas más recientes en un archivo de registro, probablemente sea mejor usar tail en lugar de
clear
/cat
que supongo que está usando.fuente
Hmmm Supongo que si estás ejecutando Konsole, no tienes suerte. Solía ser que simplemente podía "borrar el desplazamiento hacia atrás". Konsole ya no te dejará hacer eso. También debe restablecerlo, por lo que elimina cualquier programa que esté ejecutando. Supongo que necesito un nuevo programa de terminal ......
fuente