¿Dónde se guarda el historial de bash para el usuario root?


25

No estoy hablando .bash_historyde mi directorio de inicio. Por lo general, prefiero usar sudo -io sudo suy luego ejecutar comandos como usuario root.

Dado que, después de estos comandos, el historial no se guarda en el .bash_historyarchivo desde mi directorio de inicio, quiero saber si este historial se guarda en algún lugar o no y, en caso afirmativo, ¿dónde?


Eso lo sé, pero quería saber los comandos dentro del shell raíz y he encontrado mi respuesta.
Devesh Khandelwal

Lo sabía pero aún así gracias.
Devesh Khandelwal

Respuestas:


32

Bueno, cuando inicias sesión como root, el historial de bash se guarda en un /root/.bash_historyarchivo, donde se /rootencuentra el directorio de inicio predeterminado para el usuario root. Para probar esto, ejecute el siguiente comando cuando haya iniciado sesión como root:

echo $HISTFILE

La $HISTFILEvariable apunta al archivo que contiene su historial.

Fuente: $HISTFILE

Generalmente, cuando inicia sesión en otra cuenta de usuario, el historial de bash se guardará en un archivo llamado .bash_historyubicado en el directorio de inicio de ese usuario.

Además, si desea guardar el historial de bash para el usuario raíz en otro archivo, digamos que en el .bash_historyarchivo de mi directorio de inicio, debe editar el /root/.bashrcarchivo y agregar una nueva línea al final del archivo con el siguiente contenido:

HISTFILE="/home/username/.bash_history"       #change username with your user name

1

Estoy acostumbrado a usar la lista de accesos directos a través de la tecla arriba del teclado que muestra el último comando utilizado para ese usuario. Si inicia sesión como root, se le mostrará el historial del usuario root.

Pruébelo así, sudo -icomplete la contraseña y luego presione la tecla arriba en el teclado. Ahora se desplazará a través de los últimos comandos utilizados en el orden reciente al más antiguo.

Sé que la respuesta de Radu Rădeanu es lo que querías. Pero esto también resuelve el problema en cuestión. Mi solución es más una forma práctica de recordar un comando anterior que puede ahorrar tiempo y ajetreo.


Sé sobre la tecla arriba y la uso mucho. Lo que quería era el archivo de historial completo y gracias por aclarar.
Devesh Khandelwal

@DeveshKhandelwal No es la solución que deseabas, pero alguien más puede encontrarla útil. La respuesta de Radu es buena, esta es solo una diferente. :)
Alvar

1

Al escribir historyen el shell, se enumeran todos los comandos del historial. Se puede usar el siguiente comando para guardar el historial en otro archivo:

history > *textfile*
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.