Bash Completion利用Tab键可以自动完成linux和docker命令。在linux使用中,有大量命令很难记得住这些命令。docker也有很多命令,如果使用过程中想要更加快速的调用到子命令时,可以通过Bash Completio,它可以在大多数linux发行版的标准存储库中获取到。只需要安装即可使用。而docker需要额外步骤完成工作。
首先安装Bash补全。
sudo apt-get install bash-completion -y
对于基于 Fedora / Red Hat Enterprise Linux 的发行版:
sudo dnf install bash-completion -y
安装应用程序后,通过输入以下内容进行测试:
systemctl s
按两次键盘中的Tab键就可以看到systemctl 可用的所有子命令。
想要bash添加docker支持,需要下载所谓的docker完整文件并将其复制到/etc/bash_completion目录。
Sudo curl https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh
如果在一些发行版中提示权限错误,可以用以下命令:
sudo -s
完成后,重新运行curl命令即可可以顺利运行。完成此操作后,您可以使用 Docker 测试 bash-completion。例如,输入:
docker i
按两次tab键可以看到以下输出:
image images import info inspect
输入docker p并按两次Tab键盘可显示:
pause plugin port ps pull push
要注意的是bash Completion 是一款方便的工具,可以提醒所需的命令中可用的子命令但是无法提示子命令相关的各种选项。
如,输入“docker ps”并按两次 Tab 键,它不会列出选项,包括-a(或–all)、-f(或–filter)、–format、-n(或–last)、-l(或–latest)、–no-trunc、-q(或–quiet)、-s(或–size)。
例如,您可以输入:
docker ps 命令
按 Enter 键,您将看到该命令可用的所有选项。大多数 Docker 子命令也是如此。输入“man docker”,然后输入要了解的子命令,然后按 Enter 键即可。