Ubuntu で履歴を消去する方法

Ubuntu で履歴を消去する方法
スリムなハードディスクの上にミニチュアフィギュアが乗っている写真。

Linux システムの履歴ログを消去することは、マシンを健全に保つために不可欠です。これにより、貴重なディスク領域を節約し、デジタル アクティビティを詮索好きな目から保護できます。ここでは、Ubuntu Linux の Bash シェル、ファイル マネージャー、テキスト エディターの履歴データを消去する方法を説明します。

Bash のコマンド履歴をクリアする

Linux はコマンド ライン駆動型のオペレーティング システムです。ファイル管理からプログラムの構成まで、Linux 内のほぼすべてのアクションは、何らかの形のターミナル コマンドを必要とします。時間が経つにつれて、これらのコマンドは Bash システム シェルに蓄積され、大量のディスク領域を占有する可能性があります。

Ubuntu で Bash コマンド履歴をクリアする最も簡単な方法は、UNIX パイプを使用して空の文字列を「.bash_history」ファイルにリダイレクトすることです。

ただし、これによって現在の Bash セッションの履歴バッファがクリアされるわけではありません。これを行うには、次のコマンドを実行します。

history引数なしでコマンドを実行して、現在の Bash 履歴がクリアされていることを確認します。

現在のシェル セッションのクリアされた履歴を表示する端末。

Bash で履歴ログを無効にする

今後のセッションのコマンド履歴を Bash が保存しないように強制することができます。これは、共有コンピューターをセットアップしていて、自分のアカウントで実行しているコマンドを他のユーザーに知られたくない場合に便利です。

まず、Ubuntu の現在の履歴バッファが完全にクリアされていることを確認します。

お気に入りのテキスト エディターを使用して .bashrc ファイルを開きます。

次のコード行を .bashrc ファイルの末尾に貼り付けます。

.bashrc ファイルを保存し、次のコマンドを実行して、新しい設定を現在のシェル セッションに適用します。

ls現在のディレクトリでコマンドを実行し、コマンドを再実行して、新しい設定をテストしますhistory

完全にクリアされた Bash 履歴ファイルとキャッシュを表示するターミナル。

特定の Bash 履歴エントリを削除する

このhistoryコマンドは、キャッシュと履歴ログから特定のエントリを削除することもできます。これは、シェルの履歴全体を消去するのではなく、いくつかのコマンドだけを省略したい場合に便利です。

コマンドを使用してhistory、クリアするコマンドのインデックス番号を見つけます。私の場合は、シェル履歴の 7 番目のコマンドを削除したいと思います。

現在のシェル セッションの 7 番目の履歴エントリを強調表示している端末。

削除するエントリのインデックス番号とともに次のコマンドを実行します。

コマンドを再実行して、履歴エントリが消えたことを確認しますhistory

削除された 7 番目の履歴エントリの周囲のコマンドを強調表示するターミナル。

Nautilus で最近のファイル履歴を消去する

ターミナル セッションのコマンド履歴をクリアする以外に、システムのデフォルトのファイル マネージャーの最近の履歴を削除することもできます。これを行うには、システムのアプリケーション ランチャーからファイル マネージャーを開きます。

マネージャーの左側のサイドバーにある「最近」カテゴリをクリックします。

場所を強調したスクリーンショット

Ctrl+を押すAと、Nautilus で最近開いたファイルがすべて選択されます。

右クリックして、「最近から削除」を選択すると、ファイル マネージャーの現在の履歴が削除されます。

スクリーンショットでは、

デスクトップの左上隅にあるシステム メニューを開き、ポップアップ パネルの歯車アイコンをクリックします。

Ubuntu のシステム トレイにあるギア アイコンを強調表示したスクリーンショット。

ウィンドウの左側のサイドバーの下にある「プライバシーとセキュリティ」を選択します。

スクリーンショットでは、

これにより、ウィンドウの右側のパネルに新しいサブカテゴリが表示されます。「ファイル履歴とゴミ箱」カテゴリをクリックします。

スクリーンショットでは、

ファイル履歴スイッチを無効にし、「履歴を消去」ボタンをクリックします。

スクリーンショットでは、

Nautilus でファイル履歴を自動的に削除する

Ubuntu でファイル履歴をクリアする別の方法は、Bash を使用して「最近」カテゴリのデータを含むファイルを削除することです。

まず、ホーム ディレクトリにローカル バイナリ フォルダーを作成します。

お気に入りのテキスト エディターを使用して、新しいフォルダーの下に新しい Bash スクリプトを作成します。

次のコード ブロックをスクリプト ファイル内に貼り付けます。

スクリプト ファイルを保存し、次のコマンドを実行して権限ビットを更新します。

システムのアプリケーション ランチャーを開き、[スタートアップ アプリケーション]を選択します。

スクリーンショットでは、

ウィンドウの左上隅にある「追加」ボタンをクリックします。

スクリーンショットでは、

実行するスクリプトに名前を付けます。私の場合は、「User File History Autoclear」というラベルを付けます。

[名前] テキスト ボックスの下の [参照…]ボタンをクリックします。

スクリーンショットでは、

ファイルピッカーメニューでCtrl+を押して、「~/.local/bin/」ディレクトリに移動します。H

ファイル ピッカー内のユーザー スクリプトの場所を示すスクリーンショット。

シェル スクリプトを選択し、[開く]をクリックして新しいスタートアップ エントリに追加します。

「追加」をクリックして、現在のユーザー セッションにコミットします。

スクリーンショットでは、

すべてのユーザーのファイル履歴を消去する

GUI からファイル履歴を削除することの欠点の 1 つは、現在のユーザーに対してのみ履歴がクリアされることです。これは、複数のユーザーで共有されているマシンを管理している場合に問題になる可能性があります。

これを修正するには、新しいターミナル セッションを開き、次のコマンドを実行して root ユーザーに切り替えます。

ユーザープロンプトからルートプロンプトへの切り替えを示す端末。

ルート ユーザーのホーム ディレクトリに移動し、その中にローカル bin フォルダーを作成します。

お気に入りのテキスト エディターを使用して新しいスクリプト ファイルを作成します。

次のコード ブロックをスクリプト ファイル内に貼り付けます。

新しいスクリプト ファイルを保存し、実行権限ビットを設定します。

新しいスクリプト用に、「/etc/systemd/system」の下に新しい systemd サービス ファイルを作成します。

新しいサービス ファイル内に次のコード ブロックを貼り付けます。

新しいサービス ファイルを保存し、次のコマンドを実行して systemd デーモンにロードします。

現在のステータスを確認して、サービスが適切に実行されていることを確認します。

systemctl のカスタム systemd サービスの出力を表示する端末。

Gedit で最近のバックアップを無効にする

Gedit は、Ubuntu の最近のバージョンの一部にデフォルトで付属しているシンプルなテキスト エディターです。場合によっては、このエディターはシステムで開いて保存したすべてのファイルのバックアップを作成します。マシンのスペースを節約したい場合は、これが問題になることがあります。

これを無効にするには、アプリの右上隅にあるオプションメニューをクリックし、環境設定を選択します。

場所を強調したスクリーンショット

Gedit の設定ウィンドウで「エディター」タブをクリックし、 「保存する前にファイルのバックアップ コピーを作成する」チェックボックスをオフにします。

Gedit のバックアップ チェックボックスの場所を強調表示したスクリーンショット。

設定ウィンドウを閉じて、Gedit を再読み込みし、新しい設定を適用します。

新しいターミナル セッションを開き、次のコマンドを実行して、Gedit がホーム ディレクトリに作成したバックアップ ファイルを削除します。

最後に、ホームディレクトリに Gedit バックアップ ファイルが残っていないことを確認します。

システムからさまざまな履歴ログを削除することは、Linux マシンのメンテナンスとセキュリティ保護の 1 つのステップにすぎません。Whoami を使用して Linux ディストリビューションを匿名化する方法を学び、システム セキュリティの素晴らしい世界を探索してください。

画像クレジット: Samu Lopez (Unsplash経由)。すべての変更とスクリーンショットはRamses Redによるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です