【超便利】historyコマンドとは?基本や実例をわかりやすく解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新月:2023年5月)

✔このような方へ向けて書かれた記事となります

「historyコマンドって何ができるの?」

「historyコマンドの書き方が知りたい」

「historyコマンドでできることを実例付きで見たい」

✔当記事を通じてお伝えすること

  • historyコマンドとは?
  • historyコマンドの基本・書き方
  • historyコマンドの実例

当記事では、historyコマンドの基本的な書き方はもちろん、具体的な例を用いて、その応用した使い方まで丁寧に解説します。

ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

historyコマンドの基本

historyコマンドの基本についてご覧いただきます。

基本を理解したうえで、応用した使い方を覚えていきましょう。

  • historyコマンドとは
  • historyコマンドの実行方法
  • コマンド履歴の表示方法
  • 履歴番号とタイムスタンプ

historyコマンドとは

historyコマンドは、過去に実行したコマンドの履歴を表示・操作するためのコマンドです。

これによって、過去に実行したコマンドを見返したり、再実行したりできます。

historyコマンドの実行方法

historyコマンドを実行するには、ターミナルで`history`と入力し、Enterキーを押します。

これにより、過去に実行したコマンドの履歴が表示されます。

$ history
1000  api-req.py
1001  pip freeze
1002  pip install requests json
1003  pip install requests
1004  python -m pip install --upgrade pip

コマンド履歴の表示方法

コマンド履歴を表示すると、各コマンドの左側に履歴番号が表示されます。

この番号を利用して、コマンドを再実行したり検索したりも可能です。

$ history | grep 'zip'
1149  nano itc_zipped.txt
1150  gzip itc_zipped.txt
1152  gunzip itc_zipped.txt.gz
1154  gzip itc_zipped.txt

履歴番号とタイムスタンプ

履歴番号は、コマンド履歴の一意の識別子です。

タイムスタンプは、コマンドが実行された日時を示します。

これらの情報を利用することで、コマンドの再実行や検索が容易になります。

historyコマンドを理解するための前提知識

historyコマンドにおける前提の知識を確認しましょう。

必ず出てくる用語などで、知っておけば役立ちます。

  • Linuxとは
  • コマンドラインインターフェースの基本
  • コマンド履歴の重要性

Linuxとは

Linuxは、オープンソースのオペレーティングシステム(OS)であり、UNIX系OSの一種です。

Linuxはサーバーやクラウド環境において広く使われており、自由にカスタマイズが可能です。

多くの企業や開発者に支持されているので、そのコマンドを覚えることは作業効率を挙げることに繋がります。

コマンドラインインターフェースの基本

Linuxでは、コマンドラインインターフェース(CLI)を使って操作します。

CLIは、キーボードからコマンドを入力することで、さまざまな操作が行えるインターフェースです。

Linuxのコマンドは多くの場合短くてわかりやすく、慣れてくると効率的に作業ができます。

コマンド履歴の重要性

コマンド履歴は、過去に実行したコマンドのリストです。

これによって、過去のコマンドを再利用したり、誤ったコマンドを修正したりしやすくなります。

historyコマンドを使うことで、コマンド履歴を効率的に活用できます。

historyコマンドの活用方法

基礎知識を押さえたら、historyコマンドの活用方法を見ていきましょう。

どんなものかを学んだだけでは、どんな場面で使えるかのイメージもしにくいはず。

  • 履歴番号を使ってコマンドを再実行
  • 履歴検索によるコマンドの再利用
  • 履歴の削除やクリア
  • 履歴の保存先と設定

履歴番号を使ってコマンドを再実行

!履歴番号

コマンド履歴の番号を使って、過去に実行したコマンドを再実行できます。

例えば、履歴番号1012のコマンドを再実行するには、ターミナルで以下のように入力。

$ !1012
alias
#..aliasが表示される

1012は、「alias」というコマンドの履歴番号でした。

履歴検索によるコマンドの再利用

コマンド履歴を検索して、特定のコマンドを再利用できます。

例えば、”ls”という文字列が含まれるコマンドを検索するこちら。

$ history | grep 'ls'
 1010  cd itc-tools
 1013  ls

履歴の削除やクリア

historyコマンドを使って、コマンド履歴を削除できます。

特定の履歴番号のコマンドを削除するには、`history -d 履歴番号`を入力。

コマンド履歴をすべてクリアするには、`history -c`を入力してください。

履歴の保存先と設定

コマンド履歴は、通常ホームディレクトリの`.bash_history`ファイルに保存されます。このファイルの内容は、シェルが終了する際に自動的に保存されます。コマンド履歴の設定は、`.bashrc`ファイルで変更することができます。

historyコマンドのオプション一覧

こちらはhistoryコマンドのオプション一覧です。

オプションを使いこなせば、デフォルトだけではできないこともできるようになります

オプション説明使用例
-chistoryリストをクリアします。history -c
-d offset指定したオフセットの履歴を削除します。history -d 2
-w [filename]historyリストをファイルに保存します。filenameを指定しない場合、デフォルトの履歴ファイルに保存します。history -w myfile.txt
-r [filename]ファイルからhistoryリストを読み込みます。filenameを指定しない場合、デフォルトの履歴ファイルから読み込みます。history -r myfile.txt
-a [filename]セッション中に実行したコマンドをファイルに追記します。filenameを指定しない場合、デフォルトの履歴ファイルに追記します。history -a
-n [filename]ファイルから新たなエントリを読み込みます。filenameを指定しない場合、デフォルトの履歴ファイルから読み込みます。history -n
-p arg [arg ...]各引数を履歴展開します。history -p '!1'
-s arg [arg ...]各引数をhistoryリストに追加します。history -s 'ls -l'

より便利にhistoryコマンドを使うためのTips

より便利にhistoryコマンドを使うための方法を共有します。

使いこなすために以下の3つを覚えておきましょう。

  • ショートカットキーの利用
  • コマンド履歴のサイズを調整
  • タイムスタンプの表示とカスタマイズ

ショートカットキーの利用

ショートカットキーを利用することで、historyコマンドをより効率的に使用できます。

例えば、上矢印キーを押すことで直前のコマンドに戻れます。

ショートカットキーの一覧はこちらです。

ショートカットキー説明
Ctrl + Aカーソルを行の先頭に移動します。
Ctrl + Eカーソルを行の末尾に移動します。
Ctrl + C現在実行中のコマンドを中断します。
Ctrl + Dシェルを終了します。入力中の行が空の場合に有効です。
Ctrl + Kカーソル位置から行末までを削除します。
Ctrl + Uカーソル位置から行頭までを削除します。
Ctrl + Wカーソル位置から単語の先頭までを削除します。
Ctrl + Y削除した文字を挿入します(ペースト)。
Ctrl + Rコマンド履歴を検索します。
Ctrl + Pコマンド履歴の前のコマンドを表示します。
Ctrl + Nコマンド履歴の次のコマンドを表示します。
Ctrl + L画面をクリアします。
Ctrl + Z現在のコマンドをバックグラウンドに送り、一時停止します。

コマンド履歴のサイズを調整

コマンド履歴のサイズは、デフォルトでは500件に設定されていますが、これを変更できます。

`.bashrc`ファイルに`HISTSIZE=数値`と記述することで、コマンド履歴のサイズを任意の数値に変更できます。

タイムスタンプの表示とカスタマイマイズ

タイムスタンプを表示することで、コマンドが実行された日時がわかります。

これを有効にするには、`.bashrc`ファイルに`HISTTIMEFORMAT=”%Y/%m/%d %T “`と記述します。

表示形式をカスタマイズすることも可能です。

historyコマンドの設定変更:.bashrcに書ける変数一覧

historyコマンドの設定は、.bashrcや.bash_profileに「変数名=値」と書くことで変えられます。

次はそのデフォルト値や変更例をまとめた一覧です。

変数名設定内容デフォルト値変更例
HISTSIZEhistoryリストに保持するコマンドの数500export HISTSIZE=1000
HISTFILESIZEhistoryファイルに保存するコマンドの数500export HISTFILESIZE=1000
HISTFILEhistoryファイルのパス~/.bash_historyexport HISTFILE=~/.my_history
HISTTIMEFORMATタイムスタンプのフォーマット未設定(タイムスタンプ非表示)export HISTTIMEFORMAT="%Y/%m/%d %T "
HISTCONTROLhistoryリストへのコマンドの保存を制御する未設定export HISTCONTROL=ignoredups:erasedups
HISTIGNOREhistoryリストに保存しないコマンドパターン未設定export HISTIGNORE="ls:cd:exit"

HISTCONTROLのignoredups、連続した重複コマンドを1つだけ保存し、erasedupsはhistoryリストから重複コマンドを全て削除します。

HISTIGNOREはコロン(:)で区切ったコマンドパターンのリストを設定します。

エイリアス設定でよく使うコマンドを効率化

Aliasを設定すれば、よく使うコマンドを効率化できます。

historyコマンドだけでなく、使える方法なので覚えておきましょう。

  • エイリアスの概要
  • エイリアスの設定方法
  • エイリアスの活用例

エイリアスの概要

エイリアスとは、既存のコマンドに対して別名を付ける機能です。

これにより、短縮形や独自の名前でコマンドを実行できるようになり、作業効率が向上します。

alias directory='$(pwd)にいます。'

エイリアスの設定方法

エイリアスを設定するには、`.bashrc`ファイルに`alias 新コマンド=’既存コマンド’`と記述します。

例えば、`ll`というエイリアスを`ls -l`コマンドに設定する場合は以下のようにします。

alias ll='ls -l’

エイリアスの活用例

よく使うコマンドや複雑なオプションを含むコマンドにエイリアスを設定することで、作業効率を向上させられます。

例えば、`grep`コマンドに`–color=auto`オプションをつけたエイリアスを設定することで、検索結果が見やすくなります。

alias grep='grep --color=auto'

まとめ

historyコマンドを使いこなすことで、過去のコマンドについて以下のことができます。

  • 再利用
  • 検索
  • 削除

使いこなすことで、Linuxの操作がより効率的になるでしょう。

当記事では、historyコマンドの基本的な使い方と活用方法を紹介しました。

ほかのコマンドでも利用できるエイリアス設定によるコマンドの効率化も解説。

これらの知識を活用して、Linuxの操作スキルを向上させていきましょう。

タイトルとURLをコピーしました