(最終更新月:2023年5月)
✔このような方へ向けて書かれた記事となります
「historyコマンドって何ができるの?」
「historyコマンドの書き方が知りたい」
「historyコマンドでできることを実例付きで見たい」
✔当記事を通じてお伝えすること
- historyコマンドとは?
- historyコマンドの基本・書き方
- historyコマンドの実例
当記事では、historyコマンドの基本的な書き方はもちろん、具体的な例を用いて、その応用した使い方まで丁寧に解説します。
ぜひ最後までご覧ください。
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コマンドのオプション一覧です。
オプションを使いこなせば、デフォルトだけではできないこともできるようになります。
オプション | 説明 | 使用例 |
---|---|---|
-c | historyリストをクリアします。 | 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に「変数名=値」と書くことで変えられます。
次はそのデフォルト値や変更例をまとめた一覧です。
変数名 | 設定内容 | デフォルト値 | 変更例 |
---|---|---|---|
HISTSIZE | historyリストに保持するコマンドの数 | 500 | export HISTSIZE=1000 |
HISTFILESIZE | historyファイルに保存するコマンドの数 | 500 | export HISTFILESIZE=1000 |
HISTFILE | historyファイルのパス | ~/.bash_history | export HISTFILE=~/.my_history |
HISTTIMEFORMAT | タイムスタンプのフォーマット | 未設定(タイムスタンプ非表示) | export HISTTIMEFORMAT="%Y/%m/%d %T " |
HISTCONTROL | historyリストへのコマンドの保存を制御する | 未設定 | export HISTCONTROL=ignoredups:erasedups |
HISTIGNORE | historyリストに保存しないコマンドパターン | 未設定 | 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の操作スキルを向上させていきましょう。