🌐
Linuxのhistoryコマンドを活用しよう
はじめに
実務で開発しているとLinuxコマンドを頻繁に打つことになると思います。
長いコマンドを何回も打つ、または前打ったあのコマンドなんだったっけ…となった場合にhistory
コマンドを使えば解決すると思うので、使い方や設定を書いていきます。
環境
- zsh
history
コマンドとは
history
コマンドはコマンド履歴を調べたり、履歴から任意のコマンドを実行したりすることができるコマンドです。
# 以下のコマンドでコマンド履歴が表示されます
$ history
1 ls
2 pwd
3 cat .zshrc
…
# 以下のコマンドで履歴から任意のコマンドを実行できます
$ !1 # 数字はhistoryコマンドの出力結果に表示されているコマンドの先頭についている数字を指定
ls # enter を押下
[lsの結果]
メモリに記憶しておくコマンドの数を増やす
~/.zshrc
に以下の記述を追加します。
export HISTSIZE=10000
デフォルトは1000件のようです。
.zsh_history
に書き込まれるコマンドの数を増やす
~/.zshrc
に以下の記述を追加します。
export SAVEHIST =10000
こちらもデフォルトは1000件のようです。
ちなみにhistory
では実行中シェルのコマンド履歴をメモリ上にキャッシュし、このキャッシュされた履歴がシェル終了時に.zsh_history
に書き込まれます。
つまりHISTSIZE
とSAVEHIST
はそれぞれメモリ上にキャッシュするコマンド履歴の上限と.zsh_history
に書き込まれるコマンドの上限をそれぞれ指定しています。
コマンド履歴から検索して任意のコマンドを実行する
これめっちゃ便利です。
使い方はctrl + r
で検索モードにしてからコマンドを入力すると一番近い履歴が表示されるのでenter
で実行できます。
$ # ctrl + r を押下
(reverse-i-search)`l':ls # enter を押下
$ ls
[lsの結果]
一番近い履歴が表示されるので、それより前の履歴を遡りたい場合は該当のコマンドが表示されるまでctrl + r
を押下すればOKです。
おわりに
「コマンド履歴から検索して任意のコマンドを実行する」はめっちゃ便利なのでおすすめです。
ぜひ使ってみてください。
Discussion