1. ホーム
  2. コース一覧
  3. LinuC Level1 v10.0 対策コース(パート1)
  4. コマンド履歴 [history]

中級

LinuC Level1 v10.0 対策コース(パート1)

LinuC Level1 v10.0 対策コース(パート1)25/39

コマンド履歴 [history]

こちらの記事ではコマンド履歴について解説します。

historyコマンド

historyは、過去に実行したコマンド履歴を調べるためのコマンドです。

コマンド履歴には古い順で番号が振られています。

!<番号>を実行することで、その番号のコマンドを呼び出して実行することもできます。

オプション

オプション説明
-c全コマンド履歴を削除する
-d 番号指定した番号のコマンド履歴を削除する

また、環境変数を設定することで、履歴をカスタマイズできます。

環境変数説明
HISTFILE履歴ファイルを設定する (デフォルトでは~/.bash_historyになっています)
HISTSIZEメモリ上のキャッシュに保存するコマンド履歴の上限数を変更する
HISTFILESIZE履歴ファイル(~/.bash_history)に保存できるコマンド履歴の上限数を変更する
HISTIGNORE指定したコマンドをキャッシュしない
HISTTIMEFORMATコマンド履歴の日時を設定する

~/.bash_history

コマンド履歴は、こちらの~/.bash_historyというファイルに保存されます。

もし使用しているシェルがzshの場合は、~/.zsh_historyというファイルになります。

fzf(fuzzy finder)

historyコマンドではコマンド履歴を確認できますが、履歴が多くなるほど目的のコマンドを探し出すのは大変になります。

fzf(fuzzy finder)は、コマンド履歴をインクリメンタルに曖昧検索できる強力なツールです。

  • インクリメンタル検索:入力されたキーワードを即座に検索に反映させる方法
  • 曖昧検索:与えられたキーワードを一部でも含むものを検索する方法

コマンド履歴を参照することで、ターミナルの操作スピードを格段に向上させられます。

fzfは一度使ったら手放せなくなるので、是非インストールして使ってみてください。

インストール

こちらではGitを使ったインストール方法をご紹介します。

# fzfをクローンします。
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
Cloning into '/home/envader/.fzf'...
remote: Enumerating objects: 109, done.
remote: Counting objects: 100% (109/109), done.
remote: Compressing objects: 100% (103/103), done.
remote: Total 109 (delta 2), reused 26 (delta 1), pack-reused 0
Receiving objects: 100% (109/109), 225.06 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2/2), done.
# クローンしたスクリプトを実行してインストールします。(途中の[y]/nはすべてyでOKです)
~/.fzf/install

※ 詳しくは、Envaderの『ターミナルカスタマイズコース の下記解説記事をご覧ください。

https://envader.plus/course/7/scenario/1039

まとめ

コマンド履歴や履歴ファイルについて解説しました。

コマンド履歴は上手く活用すると、長いコマンドを実行する場合にも便利です。

Envader では、fzfのインストール方法や使い方を実際に手を動かしながら学習できます。

気になった方は是非トライしてみてください!

記事の内容は理解できましたか?