こんにちは,ちゆりです。
macでターミナルを扱う方,もしくはLinuxに触れる方,historyコマンドはよく叩くコマンドではないでしょうか。僕は,コマンドとオプションを覚えるのが面倒(苦手)なため,迷ったらすぐhistoryコマンドを叩き,過去のコマンドを引っ張り出してきます。
今回はそんなhistoryコマンドを便利に扱うためのtipsを紹介します。

この記事をだらだら読む時間なんてねぇよ結論だけ教えろ
そんな方もいますよね。はい。やりたいことはこれです
.bashrc
または.bash_profile
に
alias his='history | grep $1'
とaliasに登録するだけです。
では,時間のある方はこちらを読んでいただきましょう。
historyコマンド
僕が個人的に,他人の環境でまず行いたいのが,historyコマンドを打つことです。historyコマンドを打つことでその人が「どんな言語を」,「どんな開発を」しているのかというのがなんとなく把握できますもんね。
$ history
と打つだけで過去実行したコマンド一覧を取得できるアレです。
historyの一覧から実行したい場合は!番号
を叩くというのはもちろん承知ですよね。
historyコマンド編集の方法
でも,!番号
だとまんま同じコマンドが実行されてしまうので,
適宜編集できないなぁっていう方は
!番号:p
で実行せずに過去のコマンドを表示できます。
まさか,hisoryからドラッグ選択して右クリック,コピーなんかやっていませんよね!?
historyからちょいと編集してコマンドを実行したいなぁってときは!番号:p
使いましょうね。
もちろんこれも有名なお話。
では,ここからが本題。
historyで特定のコマンドを検索
cd
とかls
とかmv
なんかは良く打つコマンドですけど短いし,1から打っても苦になりません。しかし,scp
なんかで鍵ファイルを用いて,ipアドレスを長々と打つようなコマンドを1から打つのは面倒だから,過去打った(気がする)historyから打ちたいなぁってときがありますよね。
あれ?でも,historyコマンドで特定のコマンドを絞り出すにはどうするんだろう。
$ history | grep "検索したいコマンド"
これで,解決ですね。ズラッとほしいコマンドだけhistoryで表示することができます。
でも,毎回これを打つのもスマートじゃないですよね。
aliasに登録しましょう。
例のごとく.bash_profile
または.bashrc
に記述していきましょう。
ちなみにこれが,僕がaliasに記述しているhistoryコマンドの便利使い法です。
alias his='history | grep $1'
.bash_profile
または.bashrc
に記述したらしっかりsourceコマンド
で反映させましょう。よく忘れるので念押しです。
このaliasでhistoryコマンドは
$ his "検索したいコマンド"
で表示させることができます。aliasを制すことがLinux開発のコツですね。
historyに時間や日付を表示させる
historyに時間を表示させたい場合は.bashrc
に
HISTTIMEFORMAT='%Y/%m/%d %H:%M:%S '
と記述するだけ。
保存件数を増やす
historyの履歴件数はデフォルトで1000件までなので,それ以上になると消えてしまいます。そんなときは保存件数を増やしてしまえばいいじゃないか。
historyの保存件数を増やしたい場合は.bashrc
に
HISTSIZE=20000
と記述するだけ。数字は保存したい件数に適宜置き換えてください。
あ。そうそう。余談ですがこういう検索方法もあるらしい
history 履歴検索ショートカットキー
ctrlキー + r
で過去のコマンドを検索することもできるんです。
ですが,少し使いにくいんですよねぇ。ごちゃごちゃしてて...
使い慣れれば便利なのかもしれませんが,alias設定でも全く問題ないのでぜひ,活用してくださいね。
もう一個!!
history履歴削除
historyコマンドの履歴は間違えた(スペルミス)コマンドもしっかり残ります。そして,historyが肥大化していくんですよね。無駄なhistoryを消したいという豆な方にはhistoryの履歴を削除する方法を授けます。
ずばり,.bash_history
を編集します。ここに履歴がずらずら残っていますので,このファイルからvi
やvim
で編集していけばOKです。
マメな方はぜひ,やってみてください。
僕は気にしないし,気になりませんので特に触る必要はないかな。
コメント