InfraAcademy

InfraAcademy Blog

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

| #Linux #Linux初心者 #Linux入門

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

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

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補完を使いこなせるようになりましょう!

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る