history(履歴)コマンド

ヒストリーコマンド

はじめに

history コマンドは、LinuxやUNIX系システムで使用されるシェルにおいて、ユーザーが過去に実行したコマンドの履歴を表示するための便利なツールです。このコマンドは、シェルセッションの中で実行された過去のコマンドを確認し、再実行したり編集したりするのに役立ちます。特に、長いコマンドを再度実行する場合や、頻繁に使用するコマンドを簡単に呼び出すときに効率的です。

この記事では、history コマンドの概要、基本的な機能、そしてその重要性について説明します。

historyコマンドとは?

history コマンドは、ユーザーがシェルで入力した過去のコマンドを記録し、その履歴を表示するコマンドです。履歴の数や保存場所、表示形式などをカスタマイズすることができるため、非常に柔軟で使いやすいツールとして広く利用されています。

デフォルトでは、シェルセッションごとにコマンド履歴が保存され、次のセッションでもその履歴を利用することができます。

基本的な使い方

history コマンドを単純に入力すると、過去に実行したコマンドのリストが表示されます。各コマンドには番号が付けられており、その番号を使って再実行したり、特定のコマンドを参照することができます。

$ history

このコマンドを実行すると、現在のシェルセッションで実行したコマンドの履歴が表示されます。履歴には、セッションを超えたコマンドも含まれていることが一般的です。

特徴と機能

1. コマンド履歴の再実行

過去に実行したコマンドを再度実行するには、履歴番号を使って次のように入力します。

!<履歴番号>

例えば、履歴リストで50番目に実行されたコマンドを再実行したい場合は、次のようにします。

$ !50

これにより、50番目のコマンドがそのまま再実行されます。

2. 部分一致による履歴検索

過去に実行した特定のコマンドを素早く再実行するために、コマンドの一部を入力することもできます。例えば、ls で始まる最後のコマンドを再実行したい場合は次のようにします。

$ !ls

これにより、ls で始まる直近のコマンドが再度実行されます。

3. 履歴の保存

シェルの履歴は、通常 ~/.bash_history ファイルに保存されます。セッション終了時に、このファイルに履歴が書き込まれるため、次回のログイン時にも以前のコマンド履歴を利用することができます。

ただし、この動作はシェルの設定によって変更可能であり、履歴の保存方法や最大件数などは HISTSIZEHISTFILESIZE といった環境変数によって管理されます。

4. 特定の履歴を削除する

コマンド履歴から特定のコマンドを削除したい場合は、-d オプションを使用します。例えば、10番目の履歴を削除するには次のようにします。

$ history -d 10

5. 履歴の全削除

履歴全体をクリアするには、次のコマンドを使用します。

$ history -c

これにより、現在のセッションでの履歴がすべてクリアされますが、ログアウトするまで ~/.bash_history に保存された履歴には影響がありません。

まとめ

history コマンドは、Linuxシステムにおいて過去に実行したコマンドを簡単に確認し、再実行するための非常に便利なツールです。履歴を利用することで、作業の効率を大幅に向上させることができます。また、! を使った履歴番号での再実行や、履歴の一部を検索する機能を活用することで、コマンドライン操作がより柔軟で便利になります。履歴の保存や削除も含めて、しっかりと理解しておくとシェル操作がさらにス