Loading article…
コマンド履歴は、多くのオペレーティングシステムのシェル、コンピュータ代数プログラム、その他のソフトウェアに搭載されている機能で、ユーザーが以前に実行したコマンドを呼び出し、編集し、再実行することを可能にします。
コマンドライン履歴は、1978年にビル・ジョイが作成したCシェルでUnixに追加されました。ジョイは、それ以前のInterlispでの実装からヒントを得ました。[ 1 ] Cシェルを高速かつ使いやすくしたため、すぐに人気を博しました。その後、履歴はksh、Bash、Microsoftのcmd.exe など、他のシェルでも標準機能となりました。履歴は、2つの重要なシナリオに対応していました。
JoyのオリジナルのCシェルでは、ユーザーは感嘆符「」を入力し、!その後に特定のコマンド、特定の単語のみを指定したり、コマンドラインに貼り付ける前に何らかの方法で編集したりするために、以前のコマンドを参照することができました。例:
!!それは直前のコマンド全体を意味していました。!$それは、前のコマンドの最後の単語を意味していました。!abcそれはabcで始まるコマンドを意味していました。現在では、履歴機能とコマンドライン編集を組み合わせるのが一般的な実装方法です。カーソルキーを使って履歴リストを上下に移動したり、行の任意の位置に左右に移動したりして、ユーザーは目的の変更内容を入力できます。しかし、メニューベースの実装もあります。ユーザーが特定のファンクションキーを押すと、最近使用したコマンドのメニューが表示され、ユーザーは番号を入力して選択できます。
Bashなどの一部の実装では、コマンド履歴をファイルに記録する機能(historyコマンド)をサポートしています。[ 2 ] [ 3 ]