meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
linux:history [2010/11/18 14:20] – lc | linux:history [2023/01/18 14:10] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
+ | {{tag> | ||
+ | ===== 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 ‘</ |
- | # 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 / | + | |
- | </file> | + | |
=== Búsqueda en el history === | === Búsqueda en el history === | ||
- | | + | |
+ | < | ||
- | + | <sxh># (reverse-i-search)`inet‘: | |
- | # (reverse-i-search)`inet‘: | + | |
=== Repetir el último comando === | === Repetir el último comando === | ||
- | | + | |
+ | - presionando la flecha hacia arriba y Enter | ||
+ | - ingresando el operador !! (bang bang) y Enter | ||
+ | - ingresando !-1 y Enter | ||
+ | - presionando Ctrl+P y Enter. | ||
=== 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 | |
+ | <sxh> | ||
# history | more | # history | more | ||
1 service network restart | 1 service network restart | ||
2 exit | 2 exit | ||
3 cat / | 3 cat / | ||
+ | </ | ||
+ | <sxh> | ||
# !3 | # !3 | ||
cat / | cat / | ||
+ | </ | ||
=== Ejecutar un comando previo que empieza con una palabra específica === | === Ejecutar un comando previo que empieza con una palabra específica === | ||
| | ||
+ | <sxh> | ||
# !ps | # !ps | ||
ps ax | grep cron | ps ax | grep cron | ||
5023 ? Ss 0:00 / | 5023 ? Ss 0:00 / | ||
8057 pts/0 R+ 0:00 grep cron | 8057 pts/0 R+ 0:00 grep cron | ||
+ | </ | ||
=== Controlar la cantidad total de líneas en el history === | === Controlar la cantidad total de líneas en el history === | ||
| | ||
+ | <sxh> | ||
# nano ~/ | # nano ~/ | ||
HISTSIZE=450 | HISTSIZE=450 | ||
HISTFILESIZE=450 | HISTFILESIZE=450 | ||
+ | </ | ||
+ | === Cambiar el nombre del archivo history === | ||
+ | por default, el history del bash se almacena en el archivo ~/ | ||
- | * Cambiar el nombre del archivo history: por default, el history del bash se almacena en el archivo ~/ | + | <sxh> |
- | + | ||
# nano ~/ | # nano ~/ | ||
HISTFILE=$HOME/ | HISTFILE=$HOME/ | ||
+ | </ | ||
=== Eliminar las entradas contiguas repetidas === | === Eliminar las entradas contiguas repetidas === | ||
| | ||
- | <code> | + | <sxh> |
# ls | # ls | ||
# ls | # ls | ||
Línea 78: | 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 86: | Línea 92: | ||
| | ||
- | <code> | + | <sxh> |
# export HISTCONTROL=ignorespace | # export HISTCONTROL=ignorespace | ||
# ls -l | # ls -l | ||
Línea 95: | 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 === | ||
| | ||
- | * Sustituir palabras de los comandos del history: 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: | + | === Sustituir palabras de los comandos del history |
+ | 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: | ||
+ | <sxh> | ||
# ls .bash_logout | # ls .bash_logout | ||
.bash_logout | .bash_logout | ||
# vi !!:$ | # vi !!:$ | ||
vi .bash_logout | vi .bash_logout | ||
+ | </ | ||
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: | ||
+ | <sxh> | ||
# cp .bash_logout .bash_logout.old | # cp .bash_logout .bash_logout.old | ||
# vi !^ | # vi !^ | ||
vi .bash_logout | vi .bash_logout | ||
+ | </ | ||
+ | === 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: | ||
- | * Sustituir un argumento específico de un comando específico: | + | <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 | ||
+ | </ | ||
- | * 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 | + | === 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 | ||
+ | <sxh> | ||
# export HISTSIZE=0 | # export HISTSIZE=0 | ||
# history | # history | ||
# #nota aquí que no se muestra nada | # #nota aquí que no se muestra nada | ||
+ | </ | ||
+ | === Ignorar comandos específicos === | ||
+ | | ||
- | * Ignorar comandos específicos: | + | <sxh># export HISTIGNORE=”pwd: |
- | + | ||
- | + | ||
- | # export HISTIGNORE=”pwd: | + | |
- | ===== Referencias | + | ===== Artículo Original |
http:// | http:// |