linux - para - comandos ubuntu
Borrar una pantalla de terminal de verdad (10)
Compilar esta aplicación.
#include <iostream>
#include <cstring>
int main()
{
char str[1000];
memset(str, ''/n'', 999);
str[999] = 0;
std::cout << str << std::endl;
return 0;
}
El uso del comando de clear
en el terminal solo engaña al usuario para que piense que la pantalla se ha borrado ... aún puede ver el resultado de los comandos anteriores cuando se desplaza con el mouse. Esto dificulta la vida cuando se está ahogando en un tsunami de texto.
Varias soluciones (código de escape, etc.) que se pueden encontrar en Internet son solo variaciones de lo que ya hace el comando clear.
Entonces, ¿cómo se borra el contenido de un terminal en Linux de verdad?
Con KDE y Ubuntu 12.04 LTS y el terminal "Konsole", ninguna de las respuestas publicadas funciona. Sin embargo, al presionar el atajo de teclado predeterminado CTRL + Shift + X funciona! Fuente:
El siguiente enlace le explicará cómo hacer que ese alias sea permanente para que no tenga que seguir escribiendo.
https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias
Estos son los pasos detallados en ese enlace.
- vim ~ / .bashrc o gedit ~ / .bashrc o cualquier editor de texto que te guste
- ponga alias cls = ''printf "/ 033c"'' en la parte inferior del archivo
- guardar y Salir
- . ~ / .bashrc (y sí, debería haber un espacio entre. y ~)
- ¡Ahora revisa si todo funcionó!
No tomo crédito por esta información simplemente transmitiéndola.
Intenta reset
. Borra la pantalla del terminal, pero se puede acceder a los comandos anteriores a través de la flecha o cualquier enlace de tecla que tenga.
Mi comando favorito de los humanos para esto es:
reset
Probado en xterm y VT100. También ayuda después de una terminación anormal del programa. Mantiene el búfer de comandos, por lo que la flecha hacia arriba recorrerá los comandos anteriores.
saludos: D
Ninguna de las respuestas que leí funcionó en PuTTY, por lo que encontré un comentario sobre este artículo :
En la configuración de su conexión, en "Ventana-> Comportamiento" encontrará la configuración "El menú del sistema aparece solo en ALT". Luego, CTRL + L, ALT, l (que es una L minúscula) desplazará la pantalla y luego borrará el búfer de retroceso.
(relevante para el OP porque me estoy conectando a un servidor Ubuntu, pero también aparentemente relevante sin importar qué servidor esté ejecutando).
Sé que la solución que emplea la impresión de nuevas líneas no es muy compatible, pero si todo lo demás falla, ¿por qué no? Especialmente cuando uno está operando en un entorno en el que es probable que otra persona pueda ver la pantalla, pero no puede realizar el registro de teclas. Una posible solución es el siguiente alias:
alias c="printf ''/r/n%.0s'' {1..50}"
Luego, para "borrar" el contenido actual de la pantalla (o, más bien, ocultarlos), simplemente escriba c+Enter
en el terminal.
Use el siguiente comando para hacer una pantalla clara en lugar de simplemente agregar nuevas líneas ...
printf "/033c"
sí, eso es un ''printf'' en el indicador de bash.
Probablemente querrás definir un alias aunque ...
alias cls=''printf "/033c"''
Explicación
/033 == /x1B == 27 == ESC
Así que esto se convierte en <ESC>c
que es el código de escape VT100 para restablecer el terminal. Here hay más información sobre los códigos de escape de la terminal.
Editar
Aquí hay algunas otras formas de hacerlo ...
printf "/ec" #/e is ESC in bash
echo -en "/ec" #thanks @Jonathon Reinhart.
# -e Enable interpretation of of backslash escapes
# -n Do not output a new line
KDE
¡Lo anterior no funciona en la consola KDE (llamada Konsole) pero hay esperanza! Utilice la siguiente secuencia de comandos para borrar la pantalla y el búfer de retroceso ...
clear && echo -en "/e[3J"
O quizás use el siguiente alias en KDE ...
alias cls=''clear && echo -en "/e[3J"''
Tengo el comando de limpieza de desplazamiento hacia atrás desde here .
echo -e "/e[3J"
Esto funciona en máquinas Linux.
tput reset
Eso hará el truco!