meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
linux:history [2015/01/28 17:05] – editor externo 127.0.0.1linux:history [2023/01/18 14:10] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 +{{tag>linux history histórico}}
 +===== Linux History =====
 Veamos como sacar el máximo partido al histórico de comandos de linux Veamos como sacar el máximo partido al histórico de comandos de linux
  
Línea 4: Línea 6:
 normalmente cuando ejecutas history ves el número del comando y el comando propiamente dicho. Para propósitos de auditoría también te puede ser útil ver fecha y hora de cuando se ejecutó el comando. Para hacer esto, hay que setear la variable de entorno HISTTIMEFORMAT. normalmente cuando ejecutas history ves el número del comando y el comando propiamente dicho. Para propósitos de auditoría también te puede ser útil ver fecha y hora de cuando se ejecutó el comando. Para hacer esto, hay que setear la variable de entorno HISTTIMEFORMAT.
  
-<file+<sxh
-export HISTTIMEFORMAT=’%F %T ‘ +export HISTTIMEFORMAT=’%F %T ‘</sxh> 
-history | more +Para ver el histórico de comandos 
-1  2008-08-19 20:01:01 service network restart +<sxh>history | more</sxh>
-2  2008-08-19 20:02:09 exit +
-3  2008-08-19 20:08:39 id +
-4  2008-08-19 20:11:23 cat /etc/inetd.conf +
-</file>+
  
 === Búsqueda en el history === === Búsqueda en el history ===
- presionando Ctrl+R puedes buscar en tu history por un comando. Una vez presionado Ctrl+R en el prompt, empiezas a copiar el comando y el shell buscará por un comando que coincida en parte con lo que estás ingresando. Una vez que de con el comando que buscas puedes presionar Enter para confirmarlo o las flechas izquierda o derecha para editar el comando antes de ejecutarlo.+ presionando Ctrl+R puedes buscar en tu history por un comando. Una vez presionado **Ctrl+R** en el prompt, empiezas a copiar el comando y el shell buscará por un comando que coincida en parte con lo que estás ingresando. Una vez que de con el comando que buscas puedes presionar Enter para confirmarlo o las flechas izquierda o derecha para editar el comando antes de ejecutarlo. 
 +<note>si al presionar Ctrl+R el primer comando que aparece no es el que buscamos, podemos volver a presionar Ctrl+R para buscar el siguiente que coincida con el patrón de búsqueda</note>
  
-<code># (reverse-i-search)`inet‘: cat /etc/inetd.conf</code>+<sxh># (reverse-i-search)`inet‘: cat /etc/inetd.conf</sxh>
  
 === Repetir el último comando === === Repetir el último comando ===
Línea 27: Línea 26:
 === Ejecutar un comando específico del history === === Ejecutar un comando específico del history ===
  para ejecutar un comando específico del history, debes conocer el número del mismo y luego anteceder al número del mismo el operador !  para ejecutar un comando específico del history, debes conocer el número del mismo y luego anteceder al número del mismo el operador !
- +Por ejemplo 
-<code>+<sxh>
 # history | more # history | more
 1  service network restart 1  service network restart
 2  exit 2  exit
 3  cat /etc/services 3  cat /etc/services
 +</sxh> 
 +<sxh>
 # !3 # !3
 cat /etc/services cat /etc/services
-</code>+</sxh>
  
 === Ejecutar un comando previo que empieza con una palabra específica === === Ejecutar un comando previo que empieza con una palabra específica ===
  ingresando ! seguido de unas cuantas letras, ejecutarás nuevamente un comando, que empiece con esas letras, previamente ejecutado.  ingresando ! seguido de unas cuantas letras, ejecutarás nuevamente un comando, que empiece con esas letras, previamente ejecutado.
  
-<code>+<sxh>
 # !ps # !ps
 ps ax | grep cron ps ax | grep cron
 5023 ?        Ss    0:00    /usr/sbin/cron 5023 ?        Ss    0:00    /usr/sbin/cron
 8057 pts/0    R+    0:00    grep cron 8057 pts/0    R+    0:00    grep cron
-</code>+</sxh>
  
 === Controlar la cantidad total de líneas en el history === === Controlar la cantidad total de líneas en el history ===
  seteando la variable de entorno HISTSIZE, en el .bash_profile por ejemplo, podrás limitar la cantidad de líneas almacenadas por el history.  seteando la variable de entorno HISTSIZE, en el .bash_profile por ejemplo, podrás limitar la cantidad de líneas almacenadas por el history.
  
-<code>+<sxh>
 # nano ~/.bash_profile # nano ~/.bash_profile
 HISTSIZE=450 HISTSIZE=450
 HISTFILESIZE=450 HISTFILESIZE=450
-</code>+</sxh>
 === Cambiar el nombre del archivo history === === Cambiar el nombre del archivo history ===
  por default, el history del bash se almacena en el archivo ~/.bash_history, para cambiar el nombre del mismo, debemos setear la variable de entorno HISTFILE:  por default, el history del bash se almacena en el archivo ~/.bash_history, para cambiar el nombre del mismo, debemos setear la variable de entorno HISTFILE:
  
-<code>+<sxh>
 # nano ~/.bash_profile # nano ~/.bash_profile
 HISTFILE=$HOME/.historia HISTFILE=$HOME/.historia
-</code>+</sxh>
 === Eliminar las entradas contiguas repetidas === === Eliminar las entradas contiguas repetidas ===
  seteando la variable de entorno HISTCONTROL se pueden eliminar las entradas contiguas repetidas, mira el ejemplo:  seteando la variable de entorno HISTCONTROL se pueden eliminar las entradas contiguas repetidas, mira el ejemplo:
  
-<code>+<sxh>
 # ls # ls
 # ls # ls
Línea 84: Línea 84:
 358  ls 358  ls
 359  history | tail -3 359  history | tail -3
-</code>+</sxh>
  
 === Borrar duplicados a lo largo del history === === Borrar duplicados a lo largo del history ===
Línea 92: Línea 92:
  seteando la variable HISTCONTROL con el valor ignorespace, puedes hacer que el history no recuerde un comando en particular si al mismo le dejas un espacio en blanco delante.  seteando la variable HISTCONTROL con el valor ignorespace, puedes hacer que el history no recuerde un comando en particular si al mismo le dejas un espacio en blanco delante.
  
-<code>+<sxh>
 # export HISTCONTROL=ignorespace # export HISTCONTROL=ignorespace
 # ls -l # ls -l
Línea 101: Línea 101:
 568  pwd 568  pwd
 569  history | tail -3 569  history | tail -3
-</code>+</sxh>
  
 === Limpiar todas las entradas previas del history === === Limpiar todas las entradas previas del history ===
Línea 109: Línea 109:
 a veces puede ser que necesites ejecutar otro comando, pero con el mismo argumento que el comando anterior. En el siguiente ejemplo, el !!:$ a continuación del comando nano obtiene el argumento del comando anterior: a veces puede ser que necesites ejecutar otro comando, pero con el mismo argumento que el comando anterior. En el siguiente ejemplo, el !!:$ a continuación del comando nano obtiene el argumento del comando anterior:
  
-<code>+<sxh>
 # ls .bash_logout # ls .bash_logout
 .bash_logout .bash_logout
 # vi !!:$ # vi !!:$
 vi .bash_logout vi .bash_logout
-</code>+</sxh>
 En este otro ejemplo, el !^ a continuación del comando nano obtiene el primer argumento del comando anterior: En este otro ejemplo, el !^ a continuación del comando nano obtiene el primer argumento del comando anterior:
-<code>+<sxh>
 # cp .bash_logout .bash_logout.old # cp .bash_logout .bash_logout.old
 # vi !^ # vi !^
 vi .bash_logout vi .bash_logout
-</code>+</sxh>
 === Sustituir un argumento específico de un comando específico === === Sustituir un argumento específico de un comando específico ===
 en el siguiente ejemplo, !cp:2 busca por el comando anterior que empieza con cp y toma el segundo argumento y lo sustituye para el comando cat que se ejecuta a continuación: en el siguiente ejemplo, !cp:2 busca por el comando anterior que empieza con cp y toma el segundo argumento y lo sustituye para el comando cat que se ejecuta a continuación:
  
-<code>+<sxh>
 # cp .bash_logout .bash_logout.old # cp .bash_logout .bash_logout.old
 # cat !cp:2 # cat !cp:2
 cat .bash_logout.old cat .bash_logout.old
-</code>+</sxh>
  
 === Deshabilitar el uso del history === === Deshabilitar el uso del history ===
  si quieres deshabilitar el history y que el bash shell no recuerde más los comandos ingresados, debes setear la variable HISTSIZE en 0  si quieres deshabilitar el history y que el bash shell no recuerde más los comandos ingresados, debes setear la variable HISTSIZE en 0
  
-<code>+<sxh>
 # export HISTSIZE=0 # export HISTSIZE=0
 # history # history
 # #nota aquí que no se muestra nada # #nota aquí que no se muestra nada
-</code>+</sxh>
 === Ignorar comandos específicos === === Ignorar comandos específicos ===
  muchas veces pueded no querer agregar al history comandos usuales como pwd, ls, etc. Para ignorar comandos debemos setear la variable HISTIGNORE (no sería mala idea hacerlo desde el ~/.bash_profile) de la siguiente manera:  muchas veces pueded no querer agregar al history comandos usuales como pwd, ls, etc. Para ignorar comandos debemos setear la variable HISTIGNORE (no sería mala idea hacerlo desde el ~/.bash_profile) de la siguiente manera:
  
-<code># export HISTIGNORE=”pwd:ls:ls -ltr:” </code>+<sxh># export HISTIGNORE=”pwd:ls:ls -ltr:” </sxh>
  
  
 ===== Artículo Original ===== ===== Artículo Original =====
 http://luauf.com/2008/08/19/utilizar-el-bash-history-a-fondo/ http://luauf.com/2008/08/19/utilizar-el-bash-history-a-fondo/