El libre pensamiento para un internet libre

No estas registrado.  

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

#1 10-08-2016 23:27:26

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 5,539

Uno no se puede imaginar todo lo que puede hacer con la orden history

Ahorra tiempo en consola gracias al comando "history"

history_1.jpg

  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.... tongue

history_2.jpg

  Voy a tomar unos ejemplos inspirados de mi emocionante existencia tongue dónde el uso de history y sus opciones significa ganar tiempo y siguiendo la sagrada regla del esfuerzo mínimo.

1. El maldito tar

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 roll) 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) 

history_4.jpg

  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.

2. El odiado Network manager

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. tongue
En lugar de reiniciar la computadora para volver a tener Internet hacemos

history | grep network-manager

history_3.jpg

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

history_5.jpg

3. Actualizar reaver modificado

  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 roll...   
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"

history_6.jpg

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 smile

 
  Para saber más sobre el comando history

Desconectado

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

#2 14-04-2022 19:18:55

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 5,539

Re: Uno no se puede imaginar todo lo que puede hacer con la orden history

Optimizar el uso de history depurando entradas inútiles

giphy.gif

  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

history_bash_1.jpg

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;

history_bash_2.jpg

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

history_bash_3.jpg

He ejecutado pwd y history 2 y ninguno de los comandos aparece.

fuentes

Desconectado

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

Pie de página

Información del usuario

Ultimo usuario registrado: Asakuras
Usuarios registrados conectados: 0
Invitados conectados: 15

Estadisticas de los foros

Número total de usuarios registrados: 2,317
Número total de temas: 1,587
Número total de mensajes: 15,139

Máx. usuarios conectados: 373 el 30-09-2019 15:04:36