El libre pensamiento para un internet libre
No estas registrado.
Entonces el comando History sirve para ver en consola los comandos que hemos entrado.
Si tecleo
history
(sin opciones) obtendré en consola la lista de mi "hsitorial bash" con las ordenes numeradas (1 es la primera orden entrada)
A primera vista no hay de que emocionarse mucho....
Voy a tomar unos ejemplos inspirados de mi emocionante existencia dónde el uso de history y sus opciones significa ganar tiempo y siguiendo la sagrada regla del esfuerzo mínimo.
Estoy en mi consola y tengo de descomprimir un archivo tar.gz
Personalmente nunca he llegado a acordarme de los argumentos a entrar.... ¿-xvf a lo mejor?
En lugar de ir a buscar en la web (otra vez ) o de intentar apañarme con la ayuda en consola de tar (te deseo suerte y animo si este es tu camino) hago:
history | grep "tar.gz"
Y veo inmediatamente que no tengo que poner xvf pero zxf (No estaba muy lejo)
La ventaja es que no tengo que memorizar "que es zxf para descomprimir el tar.bz con tar"
El comando history es un acceso directo a una memoria infalible mucho mejor que mi cerebro.
Ahora la cosa va mejor pero durante un tiempo teníamos que "matar" a Netwrok Manager para poder usar el modo monitor.
Con el comando
sudo check kill
Si "matamos" a Network Manager no tenemos otra para volver a conectarnos en mode managed que reiniciar Network Manager desde la consola.
Si no nos acordamos de la orden, esta vez no podremos buscar en la web ... No hay Internet.
En lugar de reiniciar la computadora para volver a tener Internet hacemos
history | grep network-manager
Veo la orden para reiniciar network manager y podemos usar un pequeño truco para ejecutarla gracias a la opciones de history
La orden tiene el numero 1205: La puedo volver a ejecutar escribiendo un punto de exclamación antes de su numero
!1205
En kali o Arch linux no hace falta pero en Ubuntu y otras distribuciones el reaver de los repositorios es el "original", sin ataque pixiedust.
Así que debemos instalarlo desde su rama github y para actualizarlo deberemos hacerlo nosotros (instalar encima de la vieja versión)
Para bajar el código nadie (supongo) se acuerda de la dirección https del repositorio
Luego se hace cd src + ./configure + make + make install, de esto nos podemos acordar que son comandos básicos.
Pero el URL exacto de la rama ...
Como antes podemos combinar history con grep y la expresión regular "git ": Tendríamos el comando empleado para descargar la ultima revisión de reaver modificado.
Podemos incluso ir más rápido si la ultima cosa que hemos bajado de git era reaver....
En este caso tecleamos
!git
Esto hace que se ejecute la ultima orden "git"
Ya tengo la ultima revisión de reaver modificado lista para instalarse sin tener que buscar la dirección y entrar la en consola.
Esto en cuatro letras: !git
Para saber más sobre el comando history
Desconectado
Quien usa la consola se vuelve enseguida adicto a las flechas arriba y abajo.
Usamos muchas veces los mismos comandos y con unas cuantas pulsaciones en la flechita los tenemos listos para ejecución.
Es súper practico.
Vamos a ver ahora algunos trucos para optimizar el flujo de trabajo con history.
Interesándonos en un par de variables de entorno de nuestro interpreye de ordenes: Bash.
Empezando por saber dónde se registran los comandos que ejecutamos en consola.
Para ello ejecutaremos
echo $HISTFILE
Los comandos se guardan por defecto (debian en este caso) en un archivo oculto llamado bash_history
Hecha-le un ojo, estoy seguro de que verás tú también ordenes repetidas:
[email protected]:~$ tail -n 20 $(echo $HISTFILE)
sensors
sensors
ls ~/.bash_profile
ls -a
echo $HISTCONTROL
echo $HISTFILE
man history
ls ~/.history
cd .cache
ls
cd mozilla
du -sh *
ls -a
cd firefox
ls
sudo rm -r *-esr
ls
du -sh *
\a
ls
Para guardar una instancia única de cada orden hay que definir la variable de entorno HISTCONTROL con el valor :ignoredups (Por defecto su valor es nulo)
Debemos editar con privilegios de administrador el archivo /etc/bash/bashrc
A lo bruto, podemos hacer esto:
sudo -i
echo "HISTCONTROL=:erasedups" >> /etc/bash/bashrc
Para activar la mod ejecutaremos
exec bash
Pequeña demostración;
He entrado varias veces pwd y date y me quedo con una sola entrada,
En la salida tengo también a history 3 y history 4.
No es muy interesante guardar ordenes history y esto lo podemos quitar modificando la variable HISTIGNORE para ignorar una orden especifica
Podemos poner varias ordenes separadas con dos puntos, podemos por ejemplo añadir pwd que solo sirve para ver el directorio dónde estamos,
sudo -i
echo "HISTIGNORE="pwd:history*" >> /etc/bash/bashrc
Notad la estrella detrás de history: Si no la ponemos solo se borrará cuando usamos history a pelos secos.
No olvidarse de hacer los cambios efectivos con
exec bash
He ejecutado pwd y history 2 y ninguno de los comandos aparece.
fuentes
How to manage Bash history by Egidio Docile @ linuxconfig
How to Set Environment Variables in Linux @ PhoenixNAP
Desconectado
Tema | Respuestas | Vistas | Ultimo mensaje |
---|---|---|---|
Error de inicio en entorno gráfico por Hunter310#
|
24 | 15003 | 20-06-2022 12:22:19 por kcdtv |
15 | 2717 | 10-06-2022 09:13:42 por kcdtv | |
0 | 218 | 02-06-2022 10:05:09 por kcdtv | |
TP-Link Backup Decryption Utility por kcdtv
|
0 | 206 | 31-05-2022 18:44:34 por kcdtv |
¡Aircrack-ng 1.7 ya está disponible! por kcdtv
|
1 | 524 | 13-05-2022 08:46:52 por Koala |
Ultimo usuario registrado: Asakuras
Usuarios registrados conectados: 0
Invitados conectados: 15
Número total de usuarios registrados: 2,317
Número total de temas: 1,587
Número total de mensajes: 15,139
Atom tema feed - Impulsado por FluxBB