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のインストール方法や使い方を実際に手を動かしながら学習できます。
気になった方は是非トライしてみてください!
記事の内容は理解できましたか?