Webエンジニアのメモ帳

技術的な話を中心に書いています。

【Linux】シェルの違いによるhistoryコマンドの挙動の違いについて

historyコマンドは、ターミナルで実行したコマンドの履歴を表示するコマンドですが、普段使っているMacBookと、さくらVPSで借りているLinuxのサーバーとで挙動の違いがありました。

その原因を調べたところ、両者で使っているシェルが違い、シェルによってhistoryコマンドは異なった挙動を示す、ということがわかりました。

bashを使う場合

history コマンド 使い方」などで調べてヒットする情報はほとんどこちらです。

これまでに打ったコマンドを全件表示するには、以下のように入力します。

$ history

直近に打ったコマンドだけ表示することも可能で、たとえば10件表示したい場合は以下のように入力します。

$ history 10

zshを使う場合

zshでは挙動が異なります。

$ history

と入力すると、直近の16件のみが表示されます。

zshhistoryコマンドでは、何件目から何件目に打ったコマンドを表示、といった使い方ができます。

たとえば10件目から20件目を表示したい場合は、以下のように入力します。

$ history 10 20

第2引数は省略もでき、省略した場合は最新までの履歴が表示されます。

たとえば以下のように入力すると、bashhistoryを実行した時と同じ結果になります。

$ history 1