はじめに
Linuxではhistory
コマンドを使うことで、過去に使用したコマンドを表示することができます。
Windowsで同じことを実現するにはどうしたらよいのか?ということを書いたのが、この記事です。
PowerShell, CMD(コマンドプロンプト)の2パターンで記述します。
結論として一番伝えたいこと
PowerShellで、これを打てばよい
type (Get-PSReadlineOption).HistorySavePath -Tail 20
PowerShell
PowerShellにおいて、同一セッション内で使用した履歴を参照したい
Get-History
、あるいはh
で参照できます。
セッション内の履歴なので、PowerShellを終了する(ウィンドウを消す)とその履歴は消えます。
「あのときに使ったコマンドなんだったっけ..」という場合には、残念ながら使えません。
その場合は次項の方法を試してください。
PowerShellにおいて、過去に使用したコマンドすべてを参照したい
(Get-PSReadlineOption).HistorySavePath
というコマンドをPowerShellで実行することにより、履歴が保存されたテキストファイルのパスを表示できます。
CLIでの履歴表示にこだわる場合は、次のような操作でそれを実現できます。
Linuxのcat
(ファイルの中身を表示する)に相当するtype
コマンドと、パスを表示する上記のコマンドを併用することで、コンソール上で履歴を表示できます。
type (Get-PSReadlineOption).HistorySavePath
しかし、このままだと大量のログが吐き出されかねないので、最後の数行だけ表示するよう、Tailコマンドを使って加工する方法も紹介します。
ここでは20行を表示することにします。
type (Get-PSReadlineOption).HistorySavePath -Tail 20
CMD(コマンドプロンプト)で履歴を参照したい
同一セッション内の履歴を参照する方法は見つかりましたが、それ以前に実行したコマンドを参照する方法を見つけることはできませんでした。
同一セッションであれば、doskey /history
を実行することで履歴を表示できます。