在 Linux Handbook 上,我总是在写东西之前进行测试。 其他贡献者也这样做。
由于我们将来会涵盖很多 DevOps、SysAdmin 和脚本相关的教程,所以我在 UpCloud 上创建了一个专用的测试服务器。 上云 是一家性能卓越的云服务器提供商。
我做的最初几件事之一就是创建一个 sudo 这个新创建的运行 Ubuntu 18.04 LTS 的测试服务器上的用户。 在使用服务器时,我注意到了一些奇怪的事情。
选项卡完成无法正常工作。 Tab 补全是我不能没有的基本终端快捷方式之一。 想象一下在制表符补全不起作用的 Linux 命令行中工作的恐怖。 它会对您的工作效率产生负面影响,并且您会觉得终端的重要部分丢失了。
好消息是它可以很容易地修复。 让我来告诉你怎么做。
在基于 Ubuntu 和 Debian 的 Linux 发行版中启用选项卡补全
Tab 补全是 Linux 的一部分,你永远不会认为这是需要显式启用的。 不幸的是,它就是这样工作的。
您会看到,一些云服务器更喜欢使用 Linux 发行版的最小映像,因为这样可以节省部署时间。 但这也意味着 Linux 安装将只有少数几个软件包。
这就是在这种情况下发生的事情。 新安装的 Ubuntu 服务器缺少 bash-完成 包裹。
您可以使用标准的 apt 命令快速轻松地安装此软件包:
sudo apt install bash-completion
您需要注销(或退出 shell)才能看到它的效果。
进一步对自动完成进行故障排除
通常,这应该可以解决问题,但如果 bash-completion 已经安装了,但还是有问题,可以尝试重新安装。
sudo apt install --reinstall bash-completion
注销并检查它是否有效。 如果没有,您可以手动编辑您的 bash 配置文件存在于 ~/.bashrc
如果它不存在,您应该创建它。 然后,您可以将以下行添加到您的 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)在终端中编辑文件。
我希望这个快速的小教程为您解决了选项卡完成问题。 如果您有任何问题或建议,请随时发表评论。