コマンド履歴
bashではコマンドの使用履歴を記録しており、↑キー(Ctrl + P)を押下すると1つ前に実行したコマンドが入力され、
更に↑キーを押下することでさかのぼって表示されます。
↓キー(Ctrl + L)を押下することで次に進むことができます。
主なbashのコマンド履歴と機能の操作方法は次のとおりです。
コマンド | 説明 |
↑キー(Ctrl + P) | 1つ前のコマンドを表示します |
↓キー(Ctrl + L) | 1つ次のコマンドを表示します |
!文字列 | 実行したコマンドの中で、指定した文字列から始まるコマンドを実行します |
!?文字列 | 実行したコマンドの中で、指定した文字列を含むコマンドを実行します |
!! | 直前に実行したコマンドを再実行します |
!履歴番号 | 実行したコマンド記録から、番号にあったコマンドを実行します |
Ctrl+Lキー | 画面をクリアしてカレント行を指表示します |
Ctrl+Cキー | 実行中の処理を中断します |
Ctrl+Sキー | 画面をロックして、出力を停止します。(キー入力も受け付けません) |
Ctrl+Qキー | 画面のロックを解除します |
Ctrl+Zキー | 実行中の処理を一時停止します |
historyコマンド
‘history’コマンドを使うことで、コマンド履歴を表示させることが可能で、
古いものから順番に番号がつきます。
[コマンド]最近使用した7コマンドを表示する
$ history 7
252 top
253 ls
254 clear
255 lasta
256 uname
257 history
258 man history
コマンド履歴は、ユーザのホームディレクトリにある.bash_historyファイルに保存されていて、環境変数HISTFILEによって変更が可能です。
履歴を残す数は、環境変数HISTSIZEで設定され、一般的に1000となっています。
マニュアルの参照
Linuxでは、コマンドや設定ファイルのためのオンラインマニュアルページ(manページ)が用意されています。
オンラインマニュアルを参照するには’man’コマンドを使用します。
マニュアルを構成するファイルは/usr/share/manに保存されます。
manコマンドは環境変数PAGERで指定されたページャプログラム(通常はless)で
表示を行います。
[コマンド書式]
man -オプション セクション コマンドまたはキーワード
manコマンドの主なオプションは次のとおりです。
オプション | 説明 |
-a | マッチした名前を持つすべてのマニュアルを表示します |
-f | 指定したキーワードを完全に含むマニュアルのページを表示します whatisコマンドも同様に指定したキーワードを完全に含むドキュメントを表示します。 |
-k | 指定したキーワードを含むマニュアルページを表示します aproposコマンドも同様に指定したキーワードを部分的に含むドキュメントを表示します。 |
-w | マニュアルの置かれているディレクトリを表示します |
また、’man passwd’コマンドでpasswdに関するマニュアルを参照使用した場合、
passwdコマンドと「/etc/passwd」ファイルでmanページが複数用意されている場合があります。
このような場合は、ドキュメントの内容を分類している、セクション番号を
指定してmanコマンドを実行することで、目的のmanページを参照することが出来ます。
manページのセクション番号は以下の通りに決められています。
1:ユーザーコマンド
2:システムコール(カーネルの提供する関数)
3:ライブラリ関数
4:デバイスファイル
5:ファイルのフォーマット
6:ゲームプログラム
7:マイクロパッケージ、プロトコル、ファイルシステムなど
8:システム管理コマンド
9:カーネルルーチン
[コマンド]’mv’コマンドのマニュアルセクションを検索します。
$ man -f mv
mv (1) – ファイルを移動する (ファイル名を変更する)
mv (1p) – move files
[コマンド]whatisコマンドは’man -f’と同じ結果を返します
$ whatis mv
mv (1) – ファイルを移動する (ファイル名を変更する)
mv (1p) – move files
[コマンド]’mv’を含むコマンドのマニュアルセクションを検索します。
$ man -k mv
mv (1) – ファイルを移動する (ファイル名を変更する)
curs_window (3) – curses ウィンドウを生成。
git-mv (1) – Move or rename a file, a directory, or a symlink
MIME::Field::ParamVal (3pm) – subclass of Mail::Field, for structured MIME fields
mv (1p) – move files
[コマンド]aproposコマンドは’man -k’と同じ結果を返します
$ apropos mv
mv (1) – ファイルを移動する (ファイル名を変更する)
curs_window (3) – curses ウィンドウを生成。
git-mv (1) – Move or rename a file, a directory, or a symlink
MIME::Field::ParamVal (3pm) – subclass of Mail::Field, for structured MIME fields
mv (1p) – move files
マニュアルページの要約はwhatisデータベースに保存されており、man -f(-k)コマンドもwhatisコマンド、aproposコマンドもこのwhatisデータベースを参照しています。
‘makewhatis’コマンドを使用することでデータベースの作成/更新が行えます。