По умолчанию, нет места , где все команды записываются и хранятся на неопределенный срок, хотя ~/.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}
содержит команду в настоящее время выполняется.