このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linux基礎:コマンド履歴とファイル名の補完

コマンド履歴とファイル名の補完

 Linux のシェルは、コマンド操作を効率化するための便利な仕組みを備えています。その代表例が コマンド履歴の利用ファイル名の補完 です。これらを組み合わせることで、長いコマンドや複雑なファイルパスを毎回入力する必要がなくなり、入力ミスの防止にもつながります。

 ここでは、実際のファイル環境に基づいた具体的な例を示しながら、コマンド履歴の仕組みとファイル名補完の操作方法について詳しく解説します。

1.コマンド履歴の利用

1.1. コマンド履歴の基本

 bash シェルは、実行したコマンドを自動的に履歴として保存しています。上下の矢印キーを使うことで、過去に実行したコマンドを呼び出し、再利用することができます。

【例1】同様のコマンドを繰り返す場合

[user@rocky9 ~]$ cat /etc/passwd
[user@rocky9 ~]$ cat /etc/group
[user@rocky9 ~]$ cat /etc/hosts
[user@rocky9 ~]$ cat /etc/fstab

 これらを毎回入力すると手間がかかりますが、↑キーを押せば直前のコマンドを呼び出せるため、部分的に修正して再利用できます。

1.2. history コマンドの利用

コマンド履歴は history コマンドで一覧表示できます。

【例2】history コマンドの出力例

[user@rocky9 ~]$ history
  1  ls
  2  cd /etc
  3  cat passwd
  4  cat group
  5  cat hosts
  6  history

表示された番号を使えば、履歴を直接呼び出すことも可能です。

【例3】履歴番号による再実行

[user@rocky9 ~]$ !3
cat passwd
(passwd ファイルが再表示される)

1.3. コマンド履歴のオプション

history コマンドの主なオプションは以下の通りです。

オプション説明
-c履歴をすべて削除する。
-d N履歴番号 N の項目を削除する。
-a新しい履歴を履歴ファイルに追加する。
-r履歴ファイルを読み込む。
-w現在の履歴を履歴ファイルに書き込む。

これにより、不要な履歴を削除したり、ログインセッション間で履歴を保持することができます。

2.ファイル名の補完

2.1. 補完の基本

 シェルでは、コマンドやファイル名を入力中に Tabキー を押すことで、自動的に入力の続きを補完してくれます。これにより、入力の手間を大幅に削減し、打ち間違いを防ぐことが可能です。

【例4】コマンド名の補完

[user@rocky9 ~]$ his[Tab]
[user@rocky9 ~]$ history

2.2. ファイル名補完の例

補完機能はファイル名にも使えます。以下の環境にあるファイルを例にします。

カレントディレクトリの一部

-rw-r--r--. 1 user user     116  9月  1 23:11 error.log
-rw-r--r--. 1 user user      86  9月  1 23:14 sorted.txt
-rw-r--r--. 1 user user      29  8月 31 11:34 memo.txt
-rw-r--r--. 1 user user      85  8月 31 02:33 memo_dns.txt

【例5】ファイル名補完の利用

[user@rocky9 ~]$ cat me[Tab][Tab]
memo.txt       memo_dns.txt
[user@rocky9 ~]$ cat memo.txt

候補が複数ある場合は一覧表示され、さらに数文字入力すれば一意に補完されます。

2.3. ディレクトリ補完の利用

補完はディレクトリ指定にも有効です。

【例6】images ディレクトリにあるファイルの補完

[user@rocky9 ~]$ ls images/d[Tab]
[user@rocky9 ~]$ ls images/dragon.jpg

2.4. 入力ミス防止の効果

補完を利用すれば、タイポによるエラーを防ぐことができます。

【例7】入力ミスの例

[user@rocky9 ~]$ sl /etc/hosts
bash: sl: コマンドが見つかりませんでした...
よく似たコマンドは: 'ls'

補完を使えば、正しいコマンドやファイルを候補から選べるため、このようなミスを回避できます。

3.alias(エイリアス)の活用

 履歴や補完と並んで便利なのが エイリアス機能 です。長いコマンドに短縮名を付けて実行できるため、入力がさらに効率化されます。

【例8】エイリアスの定義

[user@rocky9 ~]$ alias ll='ls -l --color=auto'
[user@rocky9 ~]$ ll
(ls -l と同等の出力が表示される)

エイリアスは alias コマンドで一覧表示でき、unalias で削除可能です。

まとめ

本記事では、Linux シェルにおける コマンド履歴ファイル名の補完 を中心に解説しました。

  • コマンド履歴 で過去の入力を呼び出せば、入力の手間を省ける。
  • history コマンド で一覧を確認し、番号指定で再実行できる。
  • 補完機能 により、ファイル名やコマンド名を途中入力して Tabキーを押すだけで正しく補完できる。
  • alias を使えば、よく使うコマンドを短縮してさらに効率化できる。

これらを活用することで、Linux の操作が格段にスピードアップし、入力ミスも防げます。