Docker笔记7:Docker 命令自动补齐
经常大家会碰到这种现象,Docker 已经安装好了,但是使用 docker 命令时 不能自动补齐,即输入 docker 命令后,按 Tab 键无法列出子命令(或参数)的候选项。
【机制】
Linux 系统许多命令都会提供该命令自身的命令补齐脚本,在安装命令时会自动安装自动补齐脚本,如果有的话,该机制在Linux中被称为 bash-complete。
在 /usr/share/bash-completion/completions/ 目录下有许多命令自动补齐的脚本,可自行查阅。
与 docker 有关的,有 2 个文件: docker 和 docker-compose。如下:
[root@docker ~]# ls /usr/share/bash-completion/completions/docker*
/usr/share/bash-completion/completions/docker
/usr/share/bash-completion/completions/docker-compose
(备注:如果没有安装 docker compose,那么只有一个 docker 自动补齐脚本)
自动补齐需要依赖工具 bash-complete,如果没有,则需要手动安装,命令如下:
[root@docker ~]# yum -y install bash-completion
安装成功后,得到文件为 /usr/share/bash-completion/bash_completion ,如果没有这个文件,则说明系统上没有安装这个工具。
【实践】
让配置脚本生效的方法是执行 source xxx 命令,先执行 source /usr/share/bash-completion/completions/docker,再输入 docker,然后按2次 Tab键,提示错误如下:
[root@docker ~]# docker (docker + 空格 + 连续按2次Tab键)
docker bash: _get_comp_words_by_ref: command not found
bash: [: : integer expression expected
bash: [: : integer expression expected
bash: [: : integer expression expected
bash: _get_comp_words_by_ref: command not found
bash: [: : integer expression expected
bash: [: : integer expression expected
bash: [: : integer expression expected
注:第一行的docker,实际是输入的命令,其它是按Tab键的输出信息。
前面已经安装了 bash_completion,执行如下命令:
[root@docker ~]# source /usr/share/bash-completion/bash_completion
再次尝试,发现可以正常列出docker的子命令,示例如下:
[root@docker ~]# docker (docker + 空格 + 连续按2次Tab键)
attach container engine history inspect logs port restart search stats top volume
build context events image kill network ps rm secret stop trust wait
builder cp exec images load node pull rmi service swarm unpause
commit create export import login pause push run stack system update
config diff help info logout plugin rename save start tag version
尝试 Docker 容器名称的自动补齐功能,示例如下:
[root@docker ~]# docker logs izheng- (注:输入izheng-后按2次Tab键)
izheng-wordpress izheng-apache izheng-mysql
izheng-zentao izheng-gitlab izheng-jenkins
若安装了 Docker Compose,则也可事实 docker-compose 命令的自动补齐功能。
重启系统后,也能进行自动补齐。
【小结】
在 Linux 系统下,掌握了 Tab键 的自动补齐功能,可以减少大量的命令输入工作,提高工作效率。
Docker笔记7:Docker 命令自动补齐的更多相关文章
- Linux 命令自动补齐快捷键
Linux 命令自动补齐快捷键 : TAB
- linux下的命令自动补齐增强
linux 7 下 安装 bash-completion 可以实现命令的参数的自动补齐
- Docker 命令自动补全?要的
前言 不知道这个小伙伴有多久没用过 Docker 了, 突然对我说 Docker 命令怎么发生变化了 docker run ... #变成了 docker container run ... 他说,本 ...
- Docker笔记--操作容器命令
Docker笔记--操作容器命令 创建容器 docker [container] create-- 创建容器,使用docker [container] create命令新建的容器处于停止状态,可以使用 ...
- 小技巧--tab键自动补齐Git命令
Git是什么,你不清楚? 好吧,那么该篇内容对你也木有帮助,请绕道而行.. 我们在使用Git命令时,可以通过tab键,自动补齐Git,特别是在切换分支时特别有用. 如下,当我们想将当前分支切换到bug ...
- kubernetes系列(小知识):kubectl命令自动补全
kubectl命令自动补全 linux系统 yum install -y bash-completion source /usr/share/bash-completion/completions/d ...
- CentOS 7下的Vim自动补齐插件YouCompleteMe安装及配置
备注:现在对于 YouCompleteMe 的安装应采用更为简单的方法,即利用 Vundle 来安装这个插件.具体方法可见: Vundle 主页 YouCompleteMe 主页 而 .vimrc 的 ...
- 为kubectl配置别名和命令行补齐
配置别名 # vim ~/.bashrc 添加 alias k='kubectl' # source ~/.bashrc 配置命令行补齐 # yum install -y bash-completio ...
- CocoaPods 导入第三方库头文件自动补齐
使用了一段时间CocoaPods来管理Objective-c的类库,方便了不少.但是有一个小问题,当我在xcode输入import关键字的时候,没有自动联想补齐代码的功能,需要手工敲全了文件名,难以适 ...
随机推荐
- ctf常见源码泄露
前言 在ctf中发现很多源码泄露的题,总结一下,对于网站的搭建要注意删除备份文件,和一些工具的使用如git,svn等等的规范使用,避免备份文件出现在公网 SVN源码泄露 原理 SVN(subversi ...
- Eclipse的安装和配置
1. 下载Eclipse 前往Eclipse官网(https://www.eclipse.org/downloads/packages/)下载Eclipse: 这里下载的版本为: 这里给出该版本的百度 ...
- [PyTorch 学习笔记] 5.2 Hook 函数与 CAM 算法
本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson5/hook_fmap_vis.py https://gi ...
- Johnson全源最短路
例题:P5905 [模板]Johnson 全源最短路 首先考虑求全源最短路的几种方法: Floyd:时间复杂度\(O(n^3)\),可以处理负权边,但不能处理负环,而且速度很慢. Bellman-Fo ...
- Q200510-03-02: LRU缓存机制
问题: LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制.它应该支持以下操作: 获取数据 get 和 写入数据 put . 获取数据 get(key) - 如果 ...
- pycharm代码中批量粘贴内容的快捷键
windows电脑中,竖向批量复制的快捷键:Alt
- [LeetCode]Mysql小本本
常用方法 累加型题目,可以考虑使用笛卡尔积进行自表连接,连接后的表进行where条件进行筛选.group by分组操作. union:需要把两列作一列可以用union,union的两张表查询的字段不一 ...
- 【Nginx】冰河又一本超硬核Nginx PDF教程免费开源!!
写在前面 在 [冰河技术] 微信公众号中的[Nginx]专题,更新了不少文章,有些读者反馈说,在公众号中刷 历史文章不太方便,有时会忘记自己看到哪一篇了,当打开一篇文章时,似乎之前已经看过了, 但就是 ...
- 每日一道 LeetCode (48):最长回文子串
每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...
- Java随谈(三)如何创建好一个对象?
本文推荐阅读时间30分钟 大家都知道,在编写Java程序里,一般就是处理各种各样的对象,那么,你知道一共有多少种创建对象的方式吗? 希望大家能稍微思考一下再往下翻. 答案是4种 new 一个对象 反射 ...