CentOS 6.6命令行实现自动补全

公司同事用的Ubuntu系统,自动补全功能不错,但是本人的CentOS 6.6系统使用sudo的时候就不能自动补全了,git命令也不能自动补全。

网上搜索一番解决方法如下。

一  git不能补全问题

下载git源码 

$ git clone https://www.kernel.org/pub/scm/git/

找到git-completion.bash文件拷贝到 ~/目录下

$ sudo cp contrib/completion/git-completion.bash ~/.git-completion.bash编辑 /etc/bashrc 文件  在最后加入:source /home/yourname/.git-completion.bash

或者

$ sudo cp contrib/completion/git-completion.bash /etc/bash_completion.d/source /etc/bash_completion.d/git-completion.bash
得到git-completion.bash的另一种方法:

sudo find / -name 'git-completion*'
/usr/share/doc/git-1.7.1/contrib/completion/git-completion.bash

所以Linux系统里面是有一份文件的,直接拷贝就可以了。

二  自动补全。这里说的补全,不只是系统默认的补全路径跟文件名的补全功能,而是命令的参数的补全,有了这个补全之后,在Bash里面几乎能补全任何可以补全的补全。

RedHat系的默认没有安装,需要安装一个bash-completion,就可以实现了。当你sudo  yum  install xxx的时候,这些单词中的任何一个你都补全,输入到yum ins然后按Tab键的时候再按Tab就可以补全install。

安装之前,在/etc/bash_completion.d/目录下执行ls:

git                          rpmlint
createrepo.bash          gvfs-bash-completion.sh      scl.bash
dbus-bash-completion.sh  perf                        subversion
dkms                      pk-completion.bash          yum.bash
gdbus-bash-completion.sh  rpmdevtools.bash-completion  yum-utils.bash

安装:

sudo yum install bash-completion

在查看/etc/bash_completion.d/下面的文件:

ant                      gvfs-bash-completion.sh  rcs
autoconf                  gzip                    redefine_filedir
automake                  iconv                    rfkill
bash-builtins            ifupdown                rpcdebug
bind-utils                info                    rpm
brctl                    iproute2                rpmdevtools.bash-completion
bumblebee                iptables                rpmlint
bzip2                    java                    rsync
chkconfig                lsof                    samba
configure                lvm                      scl.bash
coreutils                lzma                    service
cpan2dist                make                    sh
cpio                      man                      shadow
createrepo.bash          mdadm                    smartctl
crontab                  minicom                  sqlite3
cryptsetup                module-init-tools        ssh
cups                      mysqladmin              strace
cvs                      net-tools                subversion
dbus-bash-completion.sh  nmap                    tar
dd                        ntpdate                  tcpdump
dhclient                  open-iscsi              util-linux
dkms                      openssl                  wireless-tools
dvd+rw-tools              perf                    wodim
e2fsprogs                perl                    wvdial
findutils                pk-completion.bash      xmllint
fuse                      pkg-config              xmlwf
gcc                      pm-utils                xorg-x11-server-utils
gdb                      postfix                  xsltproc
gdbus-bash-completion.sh  postgresql              xz
genisoimage              procps                  yp-tools
getent                    python                  yum.bash
git                      qdbus                    yum-utils.bash
gpg2                      quota-tools

这时候就可以实现自动补全功能了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16398.html