公司同事用的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
原文地址:http://blog.csdn.net/hanglinux/article/details/45254633