Linuxターミナルには、「履歴」と呼ばれる便利な機能があります。ターミナルに入力されたすべてのコマンドは、「。bash_history」というファイルに保存されます。履歴ファイルはユーザーごとに作成され、ユーザーのホームディレクトリにあります(例:「/ home / username / .bash_history」)。
履歴ファイル「.bash_history」は特別な権限で保護されていないことに注意してください。そのため、そのLinuxシステムにアカウントを持っているユーザーは、他のユーザーの履歴ファイルを見ることができます。
端末履歴のバックアップと復元
最初のセクションでは、Linuxターミナル履歴ファイルをバックアップする方法について説明します。その後、それらのバックアップを復元する方法を説明します。
履歴ファイルの内容を表示する
手順1.履歴ファイルの内容を一覧表示するには、次のいずれかの方法を使用できます。
最初の方法は、次のように「cat」コマンドを使用することです。
cat /home/hendadel/.bash_history
2番目の方法では、次のように、historyコマンドを使用して履歴ファイルのコンテンツをプレビューできます。
history
ステップ2.次のいずれかの方法で「grep」コマンドを使用して履歴を検索できます。
最初の方法では、「。bash_history」ファイルでコマンド「kill」を次のように検索します。
cat /home/hendadel/.bash_history | grep 'kill'
以下のスクリーンショットでわかるように、コマンドは「kill」という単語を含むすべてのコマンドを一覧表示します。
履歴を検索する2番目の方法は、次のように「grep」コマンドと「history」コマンドを使用することです。
history | grep 'kill'
バックアップ履歴ファイル
ステップ1.Linux端末履歴ファイルからバックアップを作成するには、次のいずれかの方法を使用できます。
最初の方法は、「>」記号とともに「cat」コマンドを使用することです。これにより、出力がバックアップファイルにリダイレクトされます。
cat /home/hendadel/.bash_history > history_backup
次のスクリーンショットでわかるように、バックアップファイルを作成する必要があります。
2番目の方法は、「history」コマンドを「>」記号とともに使用することです。
history > history_backup2
手順3.別のユーザーに属する履歴ファイルへのバックアップを実行するには、次のコマンドを使用できます。
cat /home/admin/.bash_history > admin_history_backup
特定の履歴コマンドのバックアップ
手順1.履歴ファイルから特定のコマンドをバックアップするには、次のいずれかの方法を使用できます。
最初の方法は、「>」または「>>」記号とともに「grep」コマンドを使用することです。前の記号の違いは次のとおりです。
- >:この記号を使用すると、ファイルの内容が毎回上書きされます。
- >>:ただし、この記号は、ファイルを上書きすることなく、作成済みのファイルに出力を追加します。
cat /home/hendadel/.bash_history | grep 'kill' >> history_backup
2番目の方法は、「history」コマンドと「grep」コマンドを「>>」記号とともに次のように使用することです。
history | grep 'kill' >> history_backup2
ステップ2.別のユーザー履歴から特定のコマンドをバックアップする必要がある場合は、次のコマンドを使用できます。
cat /home/admin/.bash_history | grep 'sudo' >> admin_history_backup
現在のユーザーの履歴バックアップファイルを復元する
手順1.履歴バックアップファイルを復元するには、ホームディレクトリにある元の履歴ファイル「.bash_history」を次のように削除するだけです。
rm /home/hendadel/.bash_history
手順2.「mv」コマンドを使用して履歴バックアップファイルをホームディレクトリに移動します。
mv history_backup /home/hendadel/.bash_history
ステップ3.履歴バックアップファイルを移動した後、次のコマンドを使用して履歴を再ロードする必要があります。
history -r
これで、前述のコマンドの1つを使用して履歴をプレビューできます。
他のユーザーの履歴バックアップファイルを復元する
手順1.別のユーザーの履歴バックアップファイルを復元する必要がある場合は、次のコマンドを使用してアカウントをそのユーザーに切り替える必要があります。
su admin
手順2.正常にログに記録したら、現在の履歴ファイルを削除します。
rm /home/admin/.bash_history
ステップ3.次に、履歴バックアップファイルを新しい場所に移動しましょう。
mv /home/hendadel/admin_history_backup /home/admin/.bash_history
手順4.次のコマンドを使用して履歴を再読み込みします。
history -r
今のところ以上です。