Reutilizar últimos comandos en Linux con history

Muchos de los comandos que utilizamos en Linux los solemos invocar varias veces. El propio sistema recuerda dichos comandos y podemos recorrer la lista utilizando las flechas arriba ▲ y abajo ▼ del teclado para recorrer uno por uno los que hemos utilizado últimamente.

Flechas teclado

Para obtener el historial de comandos que hemos utilizado últimamente, lo haremos con:

history

Nos mostrará un listado con un número y el comando asociado a ese número.

    1  sudo -V

    2  root@sololinux-demo:~$ sudo -V

    3  Sudo versión 1.8.21p2

    4  versión del complemento de políticas de sudoers 1.8.21p2

    5  versión de gramática del archivo Sudoers 46

    6  Sudoers I/O plugin version 1.8.21p2root@sololinux-demo:~$ sudo -V

    7  Sudo versión 1.8.21p2

    8  versión del complemento de políticas de sudoers 1.8.21p2

    9  versión de gramática del archivo Sudoers 46

   10  Sudoers I/O plugin version 1.8.21p2root@sololinux-demo:~$ sudo -V

   11  Sudo versión 1.8.21p2

   12  versión del complemento de políticas de sudoers 1.8.21p2

   13  versión de gramática del archivo Sudoers 46

   14  Sudoers I/O plugin version 1.8.21p2root@sololinux-demo:~$ sudo -V

   15  Sudo versión 1.8.21p2

   16  versión del complemento de políticas de sudoers 1.8.21p2

   17  versión de gramática del archivo Sudoers 46

   18  Sudoers I/O plugin version 1.8.21p2root@sololinux-demo:~$ sudo -V

   19  Sudo versión 1.8.21p2

   20  versión del complemento de políticas de sudoers 1.8.21p2

   21  versión de gramática del archivo Sudoers 46

   22  Sudoers I/O plugin version 1.8.21p2root@sololinux-demo:~$ sudo -V

   23  Sudo versión 1.8.21p2

   24  versión del complemento de políticas de sudoers 1.8.21p2

   25  versión de gramática del archivo Sudoers 46

   26  Sudoers I/O plugin version 1.8.21p2

   27  wget https://www.sudo.ws/sudo/dist/packages/1.9.4p2/sudo_1.9.4-3_ubu2004_amd64.deb

   28  ls

   29  sudo gdebi sudo_1.9.4-3_ubu2004_amd64.deb

   30  sudo apt install gdebi-core

   31  apt update

   32  sudo apt install gdebi-core

   33  sudo gdebi sudo_1.9.4-3_ubu2004_amd64.deb

   34  sudo -V

   35  apt update

   36  apt list --upgradable

   37  apt full-upgrade

   38  history

Si por ejemplo queremos ejecutar el comando: sudo apt install gdebi-core que corresponde a la fila 32, utilizaremos el símbolo de final de exclamación ! seguido del número de la fila.

!32

Si queremos ejecutar el último comando que tecleado utilizaremos dos finales de exclamación !!

!!

Sin embargo si queremos limitar la lista de búsqueda, utilizaremos history seguido de número de comandos que queremos visualizar

history 3

Si queremos buscar un script con una cadena de texto determinada utilizaremos history | grep seguido de aquello que queremos buscar, como por ejemplo

history | grep sudo

Si queremos borrar todo el historial de comandos utilizaremos:

 history -c

Si queremos borrar tanto el contenido de la memoria como el contenido del archivo ~/.bash_history tendremos que ejecutar el siguiente comando:

history -c && history -w 

Si lograste engañar a una persona

Charles Bukowski
Si lograste engañar a una persona no quiere decir que sea tonta, quiere decir que confiaba en ti más de lo merecías.


Charles Bukowski

E: Sub-process /usr/bin/dpkg returned an error code (1)

A la hora de hacer uso de apt-get bien para instalar, borrar, o actualizar el sistema. Al principio parece que toda va bien pero al final del proceso me indica que ha habido un error y me muestra:

E: Sub-process /usr/bin/dpkg returned an error code (1)

Al parecer al realizar las tareas cotidianas de actualización del sistema, algún paquete a quedado retenido y no permite continuar.

Uno de las formas que encontrado para poder liberar el proceso, que ha quedado atrapado. Es accediendo a la carpeta:

/var/lib/dpkg/info

En esta carpeta se recoge información sobre los paquetes instalados, o en proceso de instalación.

La solución es descubrir que paquete ha quedado retenido y borrar la información sobre el. Por ejemplo utilizando el comando

sudo apt-get update

Nos saldrá el paquete que está creando esta situación, seguido de E: Sub-process /usr/bin/dpkg returned an error code (1)

Accedemos al directorio:

cd /var/lib/dpkg/info

Y borramos los archivos relacionados con el paquete que ha quedado retenido. En mi caso eran varios y último era man-db

sudo rm man-db.*

Volvemos a actualizar las lista de paquetes:

sudo apt-get update

Y ya podemos actualizar nuestro sistema e instalar nuevos paquetes. 

Humanos egocéntricos

Neil deGrasse Tyson
Qué típicamente egocéntrico por nuestra parte pensar que a los alienígenas espaciales, que se supone han conquistado el viaje interestelar a través de la galaxia, les importan una mierda los seres humanos de la Tierra.


Neil deGrasse Tyson
Neil deGrasse Tyson