Linux端末の履歴をバックアップする方法

Linux端末の履歴をバックアップする方法

Linuxターミナルには「履歴」機能があります。この機能を使用すると、入力したすべてのコマンド操作が後で使用できるようにバックアップされます。すべてのターミナルコマンドは「履歴」に保存されるため、保管のためにバックアップをとっておくことが重要です。

このガイドでは、Linux端末の履歴をバックアップする方法と、バックアップを復元する方法についても説明します。だから、お気に入りのLinuxターミナルエミュレータを開いて、それに従ってください!

Linux端末の履歴はどこに保存されますか?

Linuxターミナルは、その履歴をファイルに保存します。このファイルの名前は「.bash_history」です。誰でも編集でき、ホームディレクトリに保存されます。Linuxの端末履歴ファイルはユーザーディレクトリに保存されているため、システム上のすべてのユーザーがファイルを持っています。

特別な権限はこれらの履歴ファイルを保護しません。システム上のすべてのユーザーは、簡単なコマンドで別のファイルの履歴を確認できます。したがって、たとえば、Linuxシステムのユーザー名「user」のターミナル/コマンドライン履歴を確認したい場合は、次のようにします。

Linux端末の履歴をバックアップする方法

猫/home/user/.bash_history

ユーザーは、「history」コマンドを実行するだけで、Linuxターミナルシェルにログインしている現在のユーザーの履歴を表示することもできます。

歴史

何よりも、「履歴」は単なるファイルであるため、grep関数を使用して通常のテキストファイルのように検索できます。したがって、たとえば、以下のコマンドを使用して、usernameで「gitclone」のインスタンスを検索します。

cat /home/user/.bash_history | grep'git clone '

また、「history」コマンドを使用して、現在ログインしているユーザーとしても機能します。

歴史| grep '検索語'

端末履歴をバックアップに保存する

このガイドの前のセクションでは、Linuxターミナルの「履歴」が、ユーザーが入力したすべてのコマンドを含む、きちんと隠されたテキストファイルである方法について説明しました。それは単なるファイルなので、保管のためにバックアップするのは非常に簡単です。

バックアップを作成するには、cat コマンドを使用します 。どうして? 、あなたは右のターミナルで、テキストファイルの全体を見ることができます。このコマンドを「>」記号と組み合わせて使用​​すると、表示出力をバックアップファイルにリダイレクトできます。

したがって、たとえば、現在の履歴をバックアップするには、「〜/ .bash_history」に対してcatコマンドを実行し、「history_backup」というラベルの付いたファイルに保存します。

Linux端末の履歴をバックアップする方法

cat〜 / .bash_history> history_backup

「>」と組み合わせてhistoryコマンドを実行し、その方法で保存することもできます。

履歴> history_backup

最後に、以下のコマンドを実行することにより、ログインしていない別のユーザーのコマンドライン/端末履歴をバックアップすることができます。

注:必ず「username」を履歴を保存したいユーザーに変更してください。

cat /home/username/.bash_history> history_backup

特定の履歴アイテムのみをバックアップする

Linuxターミナル履歴の特定のコマンドのみをバックアップしたい場合があります。これを行う方法は、履歴ファイルを表示し、それをgrepコマンドと組み合わせて、特定のキーワードをフィルタリングすることです。

たとえば、Linuxターミナル履歴でgit cloneまたはgitコマンドを含むコマンドのみをバックアップするには、以下の操作を実行できます。

注:これらの例では、「>」ではなく「>>」を使用しています。「>>」の理由は、履歴ファイルのバックアップの内容が上書きされず、バックアップに追加するために複数回再実行できるためです。

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

新しい履歴ファイルが配置されたので、history -rwコマンドを実行して、端末の履歴機能を再ロードします

履歴-rw

その後、次のコマンドで端末の履歴を確認できます。

歴史

他のユーザーのバックアップを復元する

システム上の他のユーザーからの履歴バックアップを復元する必要がありますか?これを行うには、suコマンドを使用してユーザーにログインすることから始めます。

suユーザー名

ユーザーにログインした後、ユーザーのホームディレクトリ(〜)にある現在の履歴ファイルを削除します。

rm〜 / .bash_history

そこから、履歴バックアップファイルの名前をユーザーのディレクトリにある新しい「.bash_history」ファイルに変更します。

mv / path / to / backup / file / history-backup〜 / .bash_history

次のように変更を書き込みます。

履歴-rw

完了したら、履歴を実行して、復元されたコマンドをターミナルウィンドウに表示します。


UbuntuサーバーにGitLabをインストールする方法

UbuntuサーバーにGitLabをインストールする方法

GitLab を Ubuntu サーバー上で動作させたいと考えていますか? GitLab は、GitHub のようなサービスに代わる、強力な自己ホスト可能な代替サービスです。これを使用すると、次のことができます

SELinux による Ubuntu Linux サーバーの保護

SELinux による Ubuntu Linux サーバーの保護

SELinux をインストールしてアクティブ化することで、Ubuntu Linux サーバーにセキュリティを追加する方法を学びます。

Cockpit を使用して Linux サーバー上で NFS を構成する

Cockpit を使用して Linux サーバー上で NFS を構成する

Linux サーバーに NFS 共有をマウントする簡単な方法が必要ですか? Cockpit アプリを使用して NFS 共有をマウントする方法を学びます。

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 の長期サポートが登場しました! デスクトップまたはラップトップを最新の Ubuntu リリースにアップグレードする方法を学びます。

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

Dockerコンテナにファイルを転送する方法

Dockerコンテナにファイルを転送する方法

ファイルを Docker コンテナに転送する必要がありますか? Docker cp ツールを使用すると、コンテナーとの間でファイルを簡単に移動できます。

Linux に DEB ファイルをインストールする方法

Linux に DEB ファイルをインストールする方法

.DEB ファイルとは何ですか? それを使って何をしますか?Linux PC に DEB ファイルをインストールするさまざまな方法を学びましょう。

GOG Galaxy を Linux 上で動作させる方法

GOG Galaxy を Linux 上で動作させる方法

GOG.com のゲームを所有していますか? ビデオ ゲームを楽しむために Linux PC に GOG Galaxy クライアントをセットアップしたいですか? このガイドに従ってください。

CentOS に Docker エンジンをインストールする方法

CentOS に Docker エンジンをインストールする方法

Docker Engine は、Linux およびその他のプラットフォーム用のオープン コンテナ化プログラムです。Docker Engine は、次のように動作する自己完結型コンテナを管理します。

Ferdi とすべてのチャットを 1 つにまとめる方法

Ferdi とすべてのチャットを 1 つにまとめる方法

Slack、Discord、その他多くの生産性向上ツールを Linux システムにインストールすることにうんざりしていませんか? それらをすべて 1 つに結合できたらいいのにと思いますか