Respuestas:
Puedes usar tput reset
.
Además reset
y tput reset
puedes usar el siguiente script de shell.
#!/bin/sh
echo -e \\033c
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:
La secuencia ESC c provoca un reinicio del terminal, que es lo que desea si la pantalla está totalmente confusa. El "echo ^ V ^ O" frecuentemente aconsejado solo hará que G0 sea actual, pero no hay garantía de que G0 apunte a la tabla a). En algunas distribuciones hay un reinicio del programa (1) que simplemente hace "echo ^ [c". Si su entrada de terminfo para la consola es correcta (y tiene una entrada rs1 = \ Ec), entonces "tput reset" también funcionará.
tput reset
es más rápido que reset
en Ubuntu 16.04, al menos
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
o iTerm.app
luego Control+L
se desplazará hacia arriba para que el terminal se vea en blanco, pero en Cmd+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
ingresar echo -e \\033c
como se mencionó anteriormente.
Cmd+K
es todo lo que quería ty
La 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:
alias allclear='clear; echo -e "\033c\e[3J"'
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:
urxvt*keysym.C-S-K: command:\033c
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.
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)
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 el C-u
comando.C-?
( Ctrl+ ?) es equivalente Backspacey elimina el espacio insertado en el paso 3 anterior.Referencias
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)
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)
[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
blotout() {
HISTSIZE=0
rm $HOME/.bash_history
exit
}
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)
# existent code
#...
#..
# import user customizations
source $HOME/.bash_custom
y eso es todo.
PERO, para hacer exactamente lo que quiere , solo necesita esta función en su archivo personalizado y vincularlo:
refresh() {
tput reset
H=HISTSIZE
HISTSIZE=0
HISTSIZE=H
}
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'.
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.
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).cat /dev/null > ~/.bash_history && history -c && exit
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.