Hay muchas preguntas relacionadas con esta, pero todas comienzan con la suposición (derecha) de que la salida no está registrada.
Entonces mi pregunta es: ¿dónde?
En ninguna parte: la salida de Bash (y cualquier otro shell que conozca) no se registra.
Como la salida se muestra en la pantalla, debe almacenarse en algún lugar de todos modos.
Lo es, pero probablemente no en texto plano y ni siquiera en el disco (aunque esto realmente depende del emulador de terminal): lo más probable, y al menos en la mayoría de los casos, en un segmento de memoria asignado por el emulador de terminal.
Sin embargo, seguro que no está registrado en un archivo, al menos no por el shell, y no conozco emuladores de terminal que registren la salida a un archivo de forma predeterminada.
De hecho, esto no significa que sea imposible registrar la salida del terminal: primero mencionaré algo que creo que no muchos conocen, ya que nunca he visto a nadie mencionar esto al menos aquí en Ask Ubuntu: Konsole permite guardar el Desplazarse hacia atrás a un archivo (quizás haya otros emuladores de terminal que brinden dicha funcionalidad, Konsole es el único que conozco), aunque esto está limitado por el límite de tamaño de desplazamiento hacia atrás de Konsole.
Sin embargo, esto a menudo no es realmente útil, y lo más probable es que desee buscar soluciones "adecuadas" para registrar la salida de una sesión completa en un archivo ( ¿Cómo registro todas las entradas y salidas en una sesión de terminal? Y la respuesta de Ron ).
Esto no tiene nada que ver con su shell (
bash
), no es una característica del emulador de terminal que está utilizando. Se almacena en el "búfer de desplazamiento hacia atrás" de su terminal. No he podido encontrar ninguna explicación clara de dónde se almacena exactamente esto, pero la experiencia personal me ha demostrado que está almacenado en algún lugar/tmp
.Como sugiere la respuesta de la pregunta vinculada a lo anterior, lo más probable es que se almacene en un archivo sin nombre. Para ver a qué me refiero, abra un nuevo archivo con un editor de texto:
Escriba una línea de texto en el archivo y guárdelo. Ahora, mientras ese archivo aún está abierto, abra una terminal y elimínelo:
Como todavía tiene el archivo abierto
gedit
, puede continuar escribiendo en él. Incluso podría escribir varios gigabytes de datos en él, a pesar de que el archivo ha sido eliminado. Esto se debe a que eliminar un archivo simplemente elimina el enlace que apunta a su inodo . Si otro programa mantiene abierto su descriptor de archivo , se pueden escribir datos en él, a pesar del hecho de que ya no hay un enlace (archivo) real correspondiente al descriptor de archivo en el sistema de archivos.Todo esto es para decir que el historial de su terminal probablemente se guarda usando un truco como ese, en algún lugar de un archivo eliminado
/tmp
. Lo que probablemente desee es simplemente aumentar el tamaño del búfer de desplazamiento hacia atrás del emulador de terminal para que pueda desplazarse hacia arriba y verlo. Los detalles de cómo hacerlo dependen del emulador de terminal que esté utilizando. La mayoría tiene un interruptor de línea de comando que te permite esto y muchos también tienen una forma de GUI de configurarlo. Por ejemplo, engnome-terminal
(el valor predeterminado en Ubuntu) es Editar -> Preferencias -> Perfiles --- haga clic en su perfil -> Editar -> Desplazamiento -> Limitar el desplazamiento hacia atrás a NNN:fuente
script
como se describe en la respuesta aceptada.La sesión de terminal se almacena en el
.bash_history
archivo. Ingrese esto en su terminalecho $HISTFILE
, esto le daría la ruta del.bash_history
archivo.fuente