Docker命令的自动补齐

背景

  • 在linux下输入命令或文件都是可以自动补齐的,这个特性极大的提高了我们的效率,多数情况下我们很少用命令参数的自动补齐。
  • 但对docker git这类参数特别多的命令,如果不用补齐,每次都是参考文档或者–help,效率会降低不少,出错也不可避免。
  • 那么能否实现docker的参数自动补齐呢,答案是肯定的。

实例

  • 本文我以一个centos 7.7为例

  • 安装好docker

    curl -fsSL get.docker.com -o get-docker.sh
    sh get-docker.sh --mirror Aliyun
    
  • 输入docker con 按tab键,无法出现任何提示

  • 安装bash-completion

    [root@wuxianfeng ~]# yum install -y bash-completion
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    Resolving Dependencies
    --> Running transaction check
    ---> Package bash-completion.noarch 1:2.1-8.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ========================================================================================================================================================
     Package                                   Arch                             Version                                Repository                      Size
    ========================================================================================================================================================
    Installing:
     bash-completion                           noarch                           1:2.1-8.el7                            base                            87 k
    
    Transaction Summary
    ========================================================================================================================================================
    Install  1 Package
    
    Total download size: 87 k
    Installed size: 263 k
    Downloading packages:
    bash-completion-2.1-8.el7.noarch.rpm                                                                                             |  87 kB  00:00:00
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : 1:bash-completion-2.1-8.el7.noarch                                                                                                   1/1
      Verifying  : 1:bash-completion-2.1-8.el7.noarch                                                                                                   1/1
    
    Installed:
      bash-completion.noarch 1:2.1-8.el7
    
    Complete!
    
    
  • 使得生效

    [root@wuxianfeng ~]# source /usr/share/bash-completion/bash_completion
    
    
    
  • 再次输入docker con,按tab键,可以实现自动补齐的效果!搞定!

    [root@wuxianfeng ~]# docker con
    config     container  context
    
  • 再次登录也是可以有效的

关于bash-completion

  • 它是对bash补全功能的一个增强,增加了对参数和包名的补全,跟docker其实是无关的,所有的命令都支持补齐。

  • 官网:https://github.com/scop/bash-completion

docker-compose

它也有命令的自动补全,下载地址:https://download.csdn.net/download/Mantou023/88614091

$ curl -L https://raw.githubusercontent.com/docker/compose/1.25.5/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

# 这个地址可能很慢,甚至超时 , 老师提供了离线的文档, docker-compose_bash_completion
$ source /etc/bash_completion.d/docker-compose  # 对docker-compose这个文件并没有存放要求,但由于跟程序名一样了,注意要带上路径,如果不带上路径,哪怕在当前目录下也认为你要去source 那个二进制文件
# 这个文件不大,大概13KB左右
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐