Cuando usamos el clear
comando o Ctrl+ Len la terminal, borra la terminal, pero aún podemos retroceder para ver los últimos comandos utilizados. ¿Hay alguna manera de limpiar completamente la terminal?
59
Cuando usamos el clear
comando o Ctrl+ Len la terminal, borra la terminal, pero aún podemos retroceder para ver los últimos comandos utilizados. ¿Hay alguna manera de limpiar completamente la terminal?
Respuestas:
Puedes usar
tput reset
.Además
reset
ytput reset
puedes usar el siguiente script de shell.Esto envía caracteres de control
Esc-C
a la consola que restablece el terminal.Palabras clave de Google: Secuencias de control de la consola de Linux
man console_codes
dice:fuente
tput reset
es más rápido quereset
en Ubuntu 16.04, al menosPuede usar el
reset
comando, que restablecerá la configuración del terminal.fuente
Sé que estás en una terminal de gnomos, pero pensé que respondería con un consejo para otros que podrían estar (como yo) en una Mac:
Si está utilizando
Terminal.app
oiTerm.app
luegoControl+L
se desplazará hacia arriba para que el terminal se vea en blanco, pero enCmd+K
realidad restablecerá el terminal / borrará el retroceso.O bien, si puede configurar las preferencias de teclado para su terminal, puede asignar algo como
Ctrl+K
ingresarecho -e \\033c
como se mencionó anteriormente.fuente
Cmd+K
es todo lo que quería tyLa respuesta de Anthon funciona en KDE Konsole, pero no en urxvt. En urxvt, he estado usando reset durante algunos años para borrar el desplazamiento (junto con todas las otras cosas que hace), y no estaba satisfecho de que no funcionara en Konsole. Así que ahora para Linux tengo un nuevo alias:
Pero no funciona en OS X.
tput reset
no funciona en ningún contexto AFAICT.En KDE Konsole, ctrl- shift- kborra el desplazamiento hacia atrás (incluido el indicador de shell actual, por lo que está completamente vacío). En iTerm o el terminal de Apple en OS X, cmd- shift- ktambién borra el desplazamiento hacia atrás. Para agregar esta función a urxvt, agréguela a ~ / .Xresources:
fuente
allclear(){
`echo" Borrando terminal y desplazando hacia atrás ... "` `sleep 1.5`` clear; echo -e "\ 033c \ e [3J" `}
` Editar: No se puede hacer que el formateo funcione. Si alguien puede editar esto para que sea legible, lo agradecería.Encontré esto en la red hace años, y funciona bien para mí. Borra completamente la terminal sin historial de desplazamiento.
fuente
Mapeé F12para borrar la pantalla en cada una de las siguientes conchas: bash , csh y fish shell . Mi comando es diferente de todos los anteriores porque conserva todo lo que ya ha escrito en la línea actual.
(Nota: todas las configuraciones a continuación dependen de la terminal, pero espero que funcionen prácticamente en todas partes)
golpetazo
Abra el archivo
~/.inputrc
e inserte la siguiente línea:"\e[24~": "\C-k \C-uecho -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n\C-y\C-?"
Para tener disponible el nuevo enlace de teclas, abra un nuevo terminal o escriba Ctrl+ y Xluego Ctrl+ Rpara volver a cargar el archivo .inputrc en el terminal actual.
Explicación
El archivo ~ / .inputrc controla las asociaciones de teclas del terminal bash.
Acerca de la línea:
"\e[24~"
, asigna la clave F12.C-k
( Ctrl+ X) borra el anillo de eliminación (memoria de copia y pasado de bash).C-u
( Ctrl+ U) envía la línea actual al anillo de eliminación y la borra.echo -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n
envía dos comandos agrupados al terminal. Están separados por;
y terminados por\n
.echo -ne '\\ec\\e[3J'
borra la pantalla.history -d $((HISTCMD-1))
evita estos dos comandos de entrar en la historia.C-y
( Ctrl+ Y) pega el anillo de matar almacenado por elC-u
comando.C-?
( Ctrl+ ?) es equivalente Backspacey elimina el espacio insertado en el paso 3 anterior.Referencias
csh
Escriba el comando a continuación.
bindkey -c "^[[24~" "echo -ne '\ec\e[3J'"
También se puede insertar en su
.cshrc
archivo para cargar el enlace de clave a cada nuevo terminal.(Sí, es mucho más simple que en bash)
concha de pescado
Escriba el comando a continuación.
bind -k f12 "echo -ne '\ec\e[3J'; commandline -f repaint"
Puede editar y guardar la función
fish_user_key_bindings
para cargar el enlace de teclas a cada nueva terminal.(Sí, es mucho más simple que en bash)
fuente
[Ubuntu 16.04]
El archivo .bash_history se crea en el directorio de inicio del usuario una vez que se cierra el terminal
Es útil, pero puede eliminarlo si lo desea. Sin embargo, se creará cada vez que termine de usar el terminal.
Puede eliminarlo manualmente desde:
Su navegador de archivos.
el terminal: recuerde que se creará un nuevo archivo .bash_history cuando cierre el terminal (basado en su configuración predeterminada).
O puede llamar a una función personalizada si guarda la funcionalidad que necesita en un archivo vinculado desde el bashrc ... podría editar el bashrc en sí mismo si desea poner su código allí, pero los siguientes ejemplos están en un archivo separado
Honestamente, esto no es útil para mí, pero si desea eliminar el historial de comandos antes de salir, puede hacer esto:
.bash_custom #este es mi archivo personalizado
luego en la parte inferior de agregar el nombre y la ruta de mi archivo
.bashrc # este es el archivo de configuración para el bash (creo)
y eso es todo.
PERO, para hacer exactamente lo que quiere , solo necesita esta función en su archivo personalizado y vincularlo:
O simplemente coloque la función en el .bashrc si lo desea, pero de esa manera probablemente necesite una declaración de exportación después de la función, no estoy seguro y si el archivo se actualiza probablemente perdió sus funciones ... No estoy seguro de eso también: D.
Recuerde que debe reiniciar el terminal cuando edite el .bashrc o su archivo 'personalizado'.
fuente
Para mí, usando PuTTY contra CentOS 7, clear deja solo el comando clear en el desplazamiento hacia atrás, pero al ejecutar "clear && clear", dos instancias del comando clear al mismo tiempo, borra completamente el desplazamiento hacia atrás y me deja sin barra de desplazamiento. Trata eso. Es una solución extraña, pero ninguno de estos aquí borró el desplazamiento hacia atrás de manera efectiva, y esto lo hace.
fuente
Se agregó a
~/.inputrc
para vincular la compensación completa a F12:fuente
En Fedora 30, la eliminación del historial se realiza eliminando el archivo $ HOME / .bash_history. La forma más fácil de borrar el archivo de historial del terminal a través del teclado es:
nautilus
y presione la Entertecla para abrir la aplicación Archivos (GNOME) (que anteriormente se conocía como Nautilus)..bash_history
(que debe aparecer en la barra de búsqueda si se escribe inmediatamente después de abrir la ventana; de lo contrario, se puede acceder a la barra de búsqueda mediante Ctrl+ L).fuente
fuente
history -c
se ha presentado en dos respuestas anteriores, y se eliminaron por no ser las respuestas correctas a la pregunta. (2) Si bien cerrar la ventana del terminal (probablemente) borrará la memoria del terminal de comandos anteriores, está lejos de ser evidente que el OP quiere hacer eso. ... Y PS.exit
No se garantiza que un solo comando cierre la ventana del terminal.