已索引

单按TAB与双按TAB:
pas<TAB><TAB>, pass<TAB>
ls /etc/pas<TAB><TAB>, ls /etc/passwd<TAB>

在RHEL6中,命令和文件名是可以补齐的,子命令或选项是不可以补齐的。
在RHEL7中,子命令和选项也可以补齐了,并且更智能了。

# useradd --<TAB><TAB>

再比如,在RHEL7中,为一个现有的网卡connection配置IP地址的命令如下:

# nmcli connection modify home ipv4.method manual ipv4.addresses '192.168.10.225/24 192.168.10.254' ipv4.dns 61.139.2.69

如果没有子命令或者选项补齐,这简直就是一个灾难,而有了子命令或者选项补齐后,我们就可以很方便的写出这个命令:你输入nmcli后,就可以补齐选择connection,然后依次向后补齐……

RHEL7中命令补齐的另一个改进是防错,在RHEL6中,下面两条命令都能补齐。
但在RHEL7中,因为cd不能跟文件,所以第一条命令不能补齐,而vi可以跟文件,可以补齐。
# cd /etc/sysconfig/network-scripts/if<TAB>
# vi /etc/sysconfig/network-scripts/if<TAB>

不过,使用这个功能的前提是你的系统中安装了“bash-completion”这个包,如果你的系统中没有安装这个包,请安装,并退出当前用户重新登录

另外,即使安装了该命令,有些命令也是不能做子命令或者选项补齐的,这个时候,补不齐就是补不齐,毕竟是红帽七的新功能,还不是百分百完善。

-- By 许望(RHCA、OCM、VCP)
最后修改:2022 年 10 月 14 日 11 : 12 AM
如果觉得我的文章对你有用,请随意赞赏