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Última revisiónAmbos lados, revisión siguiente | ||
linux:history [2010/11/18 14:24] – lc | linux:history [2018/11/07 09:30] – lc | ||
---|---|---|---|
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 === | ||
- | | + | |
+ | < | ||
- | <code># (reverse-i-search)`inet‘: | + | <sxh># (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 | |
- | <code> | + | <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 / | ||
- | </code> | + | </sxh> |
=== Ejecutar un comando previo que empieza con una palabra específica === | === Ejecutar un comando previo que empieza con una palabra específica === | ||
| | ||
- | <code> | + | <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 | ||
- | </code> | + | </sxh> |
=== Controlar la cantidad total de líneas en el history === | === Controlar la cantidad total de líneas en el history === | ||
| | ||
- | <code> | + | <sxh> |
# nano ~/ | # nano ~/ | ||
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 ~/ | por default, el history del bash se almacena en el archivo ~/ | ||
- | <code> | + | <sxh> |
# nano ~/ | # nano ~/ | ||
HISTFILE=$HOME/ | HISTFILE=$HOME/ | ||
- | </code> | + | </sxh> |
=== Eliminar las entradas contiguas repetidas === | === Eliminar las entradas contiguas repetidas === | ||
| | ||
- | <code> | + | <sxh> |
# ls | # ls | ||
# ls | # ls | ||
Línea 80: | 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 88: | Línea 92: | ||
| | ||
- | <code> | + | <sxh> |
# export HISTCONTROL=ignorespace | # export HISTCONTROL=ignorespace | ||
# ls -l | # ls -l | ||
Línea 97: | 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 105: | 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 === | ||
| | ||
- | <code># export HISTIGNORE=”pwd: | + | <sxh># export HISTIGNORE=”pwd: |
- | ===== Referencias | + | ===== Artículo Original |
http:// | http:// |