当前位置: > CentOS > CentOS故障 >

解决Centos 6.6命令行实现不能实现自动补全

时间:2015-05-01 21:04来源:linux.it.net.cn 作者:IT

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

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

一  git不能补全问题

下载git源码 


 
  1. $ 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的另一种方法:

 


 
  1. sudo find / -name 'git-completion*'  
  2. /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:

 


 
  1. git                          rpmlint  
  2. createrepo.bash           gvfs-bash-completion.sh      scl.bash  
  3. dbus-bash-completion.sh   perf                         subversion  
  4. dkms                      pk-completion.bash           yum.bash  
  5. gdbus-bash-completion.sh  rpmdevtools.bash-completion  yum-utils.bash  

安装:

 
  1. sudo yum install bash-completion  

 

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


 
  1. ant                       gvfs-bash-completion.sh  rcs  
  2. autoconf                  gzip                     redefine_filedir  
  3. automake                  iconv                    rfkill  
  4. bash-builtins             ifupdown                 rpcdebug  
  5. bind-utils                info                     rpm  
  6. brctl                     iproute2                 rpmdevtools.bash-completion  
  7. bumblebee                 iptables                 rpmlint  
  8. bzip2                     java                     rsync  
  9. chkconfig                 lsof                     samba  
  10. configure                 lvm                      scl.bash  
  11. coreutils                 lzma                     service  
  12. cpan2dist                 make                     sh  
  13. cpio                      man                      shadow  
  14. createrepo.bash           mdadm                    smartctl  
  15. crontab                   minicom                  sqlite3  
  16. cryptsetup                module-init-tools        ssh  
  17. cups                      mysqladmin               strace  
  18. cvs                       net-tools                subversion  
  19. dbus-bash-completion.sh   nmap                     tar  
  20. dd                        ntpdate                  tcpdump  
  21. dhclient                  open-iscsi               util-linux  
  22. dkms                      openssl                  wireless-tools  
  23. dvd+rw-tools              perf                     wodim  
  24. e2fsprogs                 perl                     wvdial  
  25. findutils                 pk-completion.bash       xmllint  
  26. fuse                      pkg-config               xmlwf  
  27. gcc                       pm-utils                 xorg-x11-server-utils  
  28. gdb                       postfix                  xsltproc  
  29. gdbus-bash-completion.sh  postgresql               xz  
  30. genisoimage               procps                   yp-tools  
  31. getent                    python                   yum.bash  
  32. git                       qdbus                    yum-utils.bash  
  33. gpg2                      quota-tools  

这时候就可以实现自动补全功能了。 (责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容