Где сохраняется история bash для пользователя root?

25

Я не говорю о .bash_historyмоем домашнем каталоге. Я обычно предпочитаю использовать sudo -iили, sudo suа затем запускать команды от имени пользователя root.

Поскольку после этих команд история не сохраняется в .bash_historyфайле из моего домашнего каталога, я хочу знать, сохранена ли эта история где-то или нет, и если да, то где?

Девеш Хандельвал
источник
Это я знаю, но я хотел знать команды внутри корневой оболочки, и я нашел свой ответ.
Девеш Хандельвал
Я знал это, но все равно спасибо.
Девеш Хандельвал

Ответы:

32

Что ж, когда вы вошли в систему как root, история bash сохраняется в /root/.bash_historyфайле, где /rootнаходится домашний каталог по умолчанию для пользователя root. Чтобы доказать это, выполните следующую команду, когда вы вошли в систему как пользователь root:

echo $HISTFILE

В $HISTFILEточках переменных в файл , который содержит историю.

Источник: $HISTFILE

Обычно, когда вы входите в другую учетную запись пользователя, история bash будет сохранена в файле, который .bash_historyнаходится в домашнем каталоге этого пользователя.

Кроме того, если вы хотите сохранить историю bash для пользователя root в другом файле, скажем, в .bash_historyфайле из моего домашнего каталога, вам нужно отредактировать /root/.bashrcфайл и добавить новую строку в конец файла со следующим содержимым:

HISTFILE="/home/username/.bash_history"       #change username with your user name
Раду Рэдяну
источник
1

Я привык использовать список быстрого доступа с помощью клавиши « вверх» на клавиатуре, которая показывает последнюю использованную команду для этого пользователя. Если вы войдете в систему как пользователь root, вам будет показана история пользователя root.

Проверьте это следующим образом, sudo -iвведите пароль и нажмите клавишу «вверх» на клавиатуре. Теперь вы будете прокручивать последние использованные команды в порядке от последних до самых старых.

Я знаю, что Раду Rădeanu ответ, что вы хотели. Но это также решает проблему под рукой. Мое решение - более удобный способ запоминания старой команды, которая может сэкономить время и суету.

Альвар
источник
Я знаю о ключе вверх и много пользуюсь им. Что я хотел, так это полный файл истории и спасибо за разъяснения.
Девеш Хандельвал
@DeveshKhandelwal Это не то решение, которое вы хотели, но кто-то может найти его полезным. Ответ Раду хорош, это просто другой. :)
Alvar
1

Набрав historyв командной строке список всех команд в истории. Для сохранения истории в другом файле можно использовать следующую команду:

history > *textfile*
Девеш Хандельвал
источник