За замовчуванням не існує місця, де всі команди записуються та зберігаються нескінченно, хоча ~/.bash_history
містять останні кілька команд (якщо ви використовуєте bash
, що є оболонкою за замовчуванням в Ubuntu).
Якщо ви хочете, щоб кожна команда, набрана bash
записана назавжди , вам доведеться її налаштувати самостійно. Наприклад, ви можете помістити у свій ~/.bashrc
файл наступне, щоб увійти в файл усі команди, введені в bash
оболонку ~/.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
Вищезазначене встановлює пастку DEBUG
, яка виконується безпосередньо перед виконанням звичайної команди. caller
Вбудований використовуються для тестування чи команда в даний час , набрані в інтерактивній оболонці або запустити через що - щось подібне ~/.bashrc
. Значення ${BASH_COMMAND}
містить команду, яка виконується в даний час.