История для каждого пользователя, а не глобальная. Каждый пользователь имеет свой собственный файл истории, а команды каждого пользователя хранятся в своем собственном файле. Расположение по умолчанию для файла истории bash - $HOME/.bash_history
так, это будет /home/user/.bash_history
для пользователя "пользователь" и /root/.bash_history
для пользователя "root". Вы можете изменить имя / местоположение файла истории, установив HISTFILE
переменную среды в другое значение.
Теперь, в примере, который вы показываете, вы сделали следующее:
Войдите в систему как "пользователь" и сразу же переключитесь на root с помощью
su
. Это означает, что вы запускали ровно одну команду, как «пользователь», и именно поэтому история файл «пользователь» имеет только одну запись:su
.В качестве пользователя root вы выполняли различные команды, и все они хранятся в файле истории root, поскольку они запускались пользователем root. Обратите внимание, что файл истории root не содержит
su
команду, поскольку она была запущена пользователем, а не пользователем root.
Таким образом, в $HOME/.bash_history
файле хранятся все команды, запускаемые пользователем, независимо от того, в каком каталоге они были запущены. Однако, поскольку у каждого пользователя есть свой собственный файл, команды, запускаемые пользователем root, не сохраняются в том же файле, что и команды, запускаемые пользователем ,