Centos6.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

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

 

相关内容