rootユーザーのbash履歴はどこに保存されますか?


25

私は.bash_historyホームディレクトリから話をしていません。通常、sudo -ior を使用してからsudo su、rootユーザーとしてコマンドを実行します。

これらのコマンドの後、履歴は.bash_history私のホームディレクトリからファイルに保存されないので、この履歴がどこかに保存されているかどうか、そしてはい、どこに保存されているか知りたいです。


私は知っているが、ルートシェル内のコマンドを知りたいと思ったので、答えを見つけました。
Devesh Khandelwal

私はそれを知っていましたが、まだ感謝しています。
Devesh Khandelwal

回答:


32

さて、rootとしてログインすると、bash履歴は/root/.bash_historyファイルに保存されます。このファイル/rootは、rootユーザーのデフォルトのホームディレクトリです。これを証明するには、rootとしてログインしているときに次のコマンドを実行します。

echo $HISTFILE

$HISTFILE履歴を含むファイルへの変数のポイント。

ソース: $HISTFILE

通常、別のユーザーアカウントにログインすると、bash履歴は.bash_historyそのユーザーのホームディレクトリにあるというファイルに保存されます。

さらに、ルートユーザーのbash履歴を別のファイルに保存する場合は、たとえば.bash_historyホームディレクトリの/root/.bashrcファイルにファイルを編集し、ファイルの最後に次の内容の新しい行を追加する必要があります。

HISTFILE="/home/username/.bash_history"       #change username with your user name

1

私は、そのユーザーに対して最後に使用したコマンドを表示するキーボードのアップキーを介してショートカットリストを使用することに慣れています。rootとしてログインすると、rootユーザーの履歴が表示されます。

このようにテストsudo -iし、パスワードを入力してから、キーボードのアップキーを押します。ここで、最後に使用したコマンドを最近から古い順にスクロールします。

RaduRădeanuの答えがあなたが望んでいたことだと思います。しかし、これは目前の問題も解決します。私の解決策は、時間と手間を節約できる古いコマンドを覚える便利な方法です。


私はアップキーについて知っていて、それをたくさん使います。私が欲しかったのは完全な履歴ファイルでした。明確にしてくれてありがとう。
Devesh Khandelwal

@DeveshKhandelwalそれはあなたが望んだ解決策ではありませんが、他の誰かがそれを役に立つと思うかもしれません。Raduの答えは良いです。これはただの別のものです。:)
アルバ

1

タイピングhistoryの歴史の中ですべてのコマンドは、シェル・リストに。次のコマンドを使用して、履歴を別のファイルに保存できます。

history > *textfile*
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.