Por defecto, no hay un lugar donde todos los comandos se graben y se mantengan indefinidamente, aunque ~/.bash_historycontiene los últimos comandos (si los usa bash, que es el shell predeterminado en Ubuntu).
Si desea que todos los comandos escritos se bashgraben para siempre , debe configurarlos usted mismo. Por ejemplo, puede poner lo siguiente en su ~/.bashrcarchivo para registrar todos los comandos escritos en un bashshell en el archivo ~/.command_log:
# log every command typed and when
if [ -n "${BASH_VERSION}" ]; then
trap "caller >/dev/null || \
printf '%s\\n' \"\$(date '+%Y-%m-%dT%H:%M:%S%z')\
\$(tty) \${BASH_COMMAND}\" 2>/dev/null >>~/.command_log" DEBUG
fi
Lo anterior establece una trampa DEBUG, que se ejecuta justo antes de que se ejecute un comando ordinario. El callerincorporado se usa para probar si el comando se está escribiendo en un shell interactivo o se ejecuta a través de algo así ~/.bashrc. El valor ${BASH_COMMAND}contiene el comando que se está ejecutando actualmente.