Linuxターミナルには「履歴」機能があります。 この機能を使用すると、入力したすべてのコマンド操作が後でバックアップされます。すべての端末コマンドは「履歴」に保存されるため、安全のためにバックアップをとっておくことが不可欠です。
このガイドでは、Linuxターミナルの履歴をバックアップする方法と、バックアップを復元する方法も示します。だから、お気に入りのLinuxターミナルエミュレータを開いて、フォローしてください!
Linuxターミナルの履歴はどこに保存されますか?
Linuxターミナルは、履歴をファイルに保存します。 このファイルの名前は「.bash_history」です。誰でも編集でき、ホームディレクトリに保存されます。 Linuxの端末履歴ファイルはユーザーディレクトリに保存されるため、システム上のすべてのユーザーがファイルを持っています。
特別な許可はこれらの履歴を保護しませんファイル、およびシステム上のすべてのユーザーは、簡単なコマンドで他のユーザーの履歴を見ることができます。たとえば、Linuxシステムのユーザー名「user」の端末/コマンドラインの履歴を確認したい場合は、次のようにします。

cat /home/user/.bash_history
ユーザーは、「history」コマンドを実行するだけで、Linuxターミナルシェルでログインしている現在のユーザーの履歴を表示することもできます。
history
とりわけ、「履歴」は単なるファイルであるため、grep関数を使用して通常のテキストファイルのように検索できます。そのため、たとえば、以下のコマンドを使用してユーザー名の「git clone」のインスタンスを検索します。
cat /home/user/.bash_history | grep "git clone"
また、「history」コマンドを使用して、現在ログインしているユーザーとして機能します。
history | grep "search term"
ターミナル履歴をバックアップに保存する
このガイドの前のセクションで、私は話しましたLinuxターミナルの「履歴」が、ユーザーが入力したすべてのコマンドを含む、きちんと隠されたテキストファイルである方法について。まあ、それは単なるファイルなので、それは保管のためにバックアップするのが非常に簡単であることを意味します。
バックアップを作成するには、 ネコ コマンド。どうして?と ネコ、端末でテキストファイル全体を表示できます。このコマンドを「>」記号と組み合わせて使用して、表示出力をバックアップファイルにリダイレクトできます。
したがって、たとえば、現在の履歴をバックアップするには、 ネコ 「〜/ .bash_history」に対してコマンドを実行し、「history_backup」というラベルの付いたファイルに保存します。

cat ~/.bash_history > history_backup
を実行することもできます 歴史 「>」と組み合わせてコマンドを実行し、その方法で保存します。
history > history_backup
最後に、以下のコマンドを実行して、ログインしていない別のユーザーのコマンドライン/端末の履歴をバックアップすることができます。
注:必ず、「ユーザー名」を、履歴を保存するユーザーに変更してください。
cat /home/username/.bash_history > history_backup
特定の履歴アイテムのみをバックアップする
Linuxターミナルの履歴にある特定のコマンドのみをバックアップしたい場合があります。これを行う方法は、履歴ファイルを表示し、それを grep 特定のキーワードをフィルタリングするコマンド。
たとえば、Linuxターミナルの履歴にあるコマンドのみをバックアップするには、 git clone または ギット コマンド、以下の操作を実行できます。
注意: これらの例では、「>」ではなく「>>」を使用しています。「>>」の理由は、履歴ファイルのバックアップの内容を上書きせず、複数回再実行して追加できるためです。バックアップ。
cat ~/.bash_history | grep "git" >> history_backup
または
cat /home/username/.bash_history | grep "git" >> history_backup
フィルタリング grep にも適用できます 歴史 コマンドのように。
history | grep "git" >> history_backup
履歴ファイルから特定のキーワードをバックアップするには、上記の例の「git」をバックアップするコマンドに置き換えます。必要に応じてこのコマンドを自由に再実行してください。
履歴バックアップを復元する方法
履歴バックアップの復元は、元のファイルを削除してバックアップをその場所に置くだけで簡単です。元の履歴ファイルを削除するには、 rm ターミナルウィンドウで「.bash_history」を削除するコマンド
rm ~/.bash_history
元の履歴ファイルが、履歴を復元するユーザーのホームフォルダーから削除されたら、 mv 「history_backup」の名前を「.bash_history」に変更するコマンド
mv history_backup ~/.bash_history
新しい履歴ファイルが配置されたので、 履歴-rw 端末の履歴機能をリロードするコマンド。
history -rw
その後、以下を使用して端末の履歴を表示できます。
history
他のユーザーのバックアップを復元する
システム上の他のユーザーから履歴バックアップを復元する必要がありますか?これを行うには、を使用してユーザーにログインすることから始めます す コマンド。
su username
ユーザーにログインした後、ユーザーのホームディレクトリ(〜)にある現在の履歴ファイルを削除します。
rm ~/.bash_history
そこから、履歴バックアップファイルの名前をユーザーのディレクトリ内の新しい「.bash_history」ファイルに変更します。
mv /path/to/backup/file/history-backup ~/.bash_history
以下を使用して変更を書き込みます。
history -rw
完了したら、実行します 歴史 ターミナルウィンドウで復元されたコマンドを表示します。
コメント