Linux

LinuxでTab補完ができない方へ!bash-completionをインストールしよう!

こんにちは、インフラエンジニアのryuです。

今回は、LinuxでTab補完ができない人向けに対処方法を解説します。対処方法は、bash-completionをインストールして、Linux起動時に補完機能を読み込むようにします。Tab補完ができなくて困っている方必見です。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

LinuxでTab補完ができない方へ!bash-completionをインストールしよう!

LinuxでTab補完ができない人向けに対処方法を解説します。

対処方法は以下の通りです。

  • bash-completionのインストール
  • 補完機能を読み込む

では、詳しく解説します!

手順①.bash-completionのインストール

bash-completionとは、補完機能のことです。

コマンドを入力するとき、”ifconfig”のように全て入力する必要が無くなります

“ifc” + Tab を入力することで、”ifconfig”を自動で入力してくれます。

以前は、bash-completionは最初からインストールされていましたが、現在はインストール作業が必要です。

“apt-get”コマンドを使用して、bash-compeltionをインストールします。

apt-get install bash-completion

手順②.補完機能を読み込む

次に補完機能を読み込む設定を行います。

bash-completionをインストールしただけでは、補完が使えません。

補完機能を使えるようにするには”/etc/bash.bashrc“に”/usr/share/bash-completion/bash_completionを読み込む設定を行います。

vi /etc/bash.bashrc

↓/etc/bash.bashrcのファイルの中身

# enable bash completion in interactive shells
#if ! shopt -oq posix; then
#  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion    ←ここのコメント"#"を消す
#  elif [ -f /etc/bash_completion ]; then
#    . /etc/bash_completion
#  fi
#fi

bash_completion読み込み

設定できたら、一旦サーバーを再起動しましょう。

※手順①ができていないと、”-bash: /usr/share/bash-completion/bash_completion: No such file or directory”のようなエラーが表示されます。→bash-completionをインストールしましょう!

bashrcファイルはシェルの起動時に実行されるコマンドが設定されているファイルです。

/etc/bash.bashrcは全てのシェル起動時に実行されます。(ユーザ毎に分ける場合はユーザ毎のbashrcファイルに記述)。

つまり、

ユーザがログイン後(シェル起動時)に”/etc/bash.bashrc”(タブ補完機能)を読み込む

ということを実施しています。

ここまでで手順の解説を終了します。

Tabを有効に使ってLinux作業の効率化

先ほど紹介した手順通りに補完機能を読み込むと、コマンド入力がTabで自動補完されます。つまり、コマンドを全て打つ必要が無くなります。

Linuxでサーバーの構築を行う方はTab補完を使う癖を付けましょう。

例えは、”apt-get install bash-completion”というコマンドを入力するとき、Tab補完を使うと

”apt-g” + tab → “i” + tab → ”bash-co” + tab

このように29文字から13文字だけ打てばよいことになります。

大量のコマンド入力が必要なLinuxでは、数十分の時間が短縮できるようになります。

上級者を目指す方は、Tab補完を使いこなせるようになりましょう!

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST