Linuxハンドブックでは、書く前に常にテストを行っています。他の寄稿者も同じことをします。
将来的には多くのDevOps、SysAdmin、およびスクリプト関連のチュートリアルを取り上げる予定なので、UpCloud上に専用のテストサーバーを作成しました。 UpCloudは、優れたパフォーマンスを備えたクラウドサーバープロバイダーです。
私が最初に行ったいくつかのことの1つは、Ubuntu18.04LTSを実行するこの新しく作成されたテストサーバー上にsudoユーザーを作成することでした。サーバーを使用しているときに、何か奇妙なことに気づきました。
タブ補完が正しく機能していませんでした。タブ補完は、私がなくてはならない重要なターミナルショートカットの1つです。タブ補完が機能しないLinuxコマンドラインでの作業の恐ろしさを想像してみてください。生産性に悪影響を及ぼし、端末の重要な部分が欠落しているように感じます。
簡単に修正できるのが良いところです。方法をお見せしましょう。
UbuntuおよびDebianベースのLinuxディストリビューションでタブ補完を有効にする
タブ補完はLinuxの一部であるため、これを明示的に有効にする必要があるとは思わないでしょう。残念ながら、それがどのように機能するかです。
ご覧のとおり、一部のクラウドサーバーは、展開にかかる時間を節約するため、Linuxディストリビューションの最小限のイメージを使用することを好みます。ただし、これは、Linuxのインストールに含まれるパッケージがほんの一握りであることも意味します。
そして、それがこの場合に起こったことです。新しくインストールされたUbuntuサーバーにbash-completionパッケージがありませんでした。
標準のaptコマンドを使用して、このパッケージをすばやく簡単にインストールできます。
sudo apt install bash-completion
その効果を確認するには、ログアウトする(またはシェルを終了する)必要があります。
通常、これで問題は解決するはずですが、bash-completionがすでにインストールされていても問題が解決しない場合は、再インストールしてみてください。
sudo apt install --reinstall bash-completion
ログアウトして、機能するかどうかを確認します。そうでない場合は、〜/ .bashrcにある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
Vimなどのターミナルベースのテキストエディタを使用して、ターミナルでファイルを編集できます。
この簡単なチュートリアルでタブ補完の問題が修正されたことを願っています。ご質問やご提案がございましたら、お気軽にコメントをお寄せください。