Por padrão, não há lugar onde todos os comandos sejam gravados e mantidos indefinidamente, embora ~/.bash_historycontenha os últimos comandos (se você usar bash, que é o shell padrão no Ubuntu).
Se você deseja que todos os comandos digitados sejam bashgravados para sempre , é necessário configurá-lo. Por exemplo, você pode colocar o seguinte em seu ~/.bashrcarquivo para registrar todos os comandos digitados em um bashshell no arquivo ~/.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
O exemplo acima ativa uma interceptação DEBUG, que é executada imediatamente antes da execução de um comando comum. O callerbuilt-in é usado para testar se o comando está sendo digitado em um shell interativo ou executado através de algo parecido ~/.bashrc. O valor ${BASH_COMMAND}contém o comando que está sendo executado no momento.