RHEL/CentOS Linux安装并激活Bash完成
时间:2020-01-09 10:38:21 来源:igfitidea点击:
如何在基于CentOS/RHEL/Fedora/Scientific Linux的系统上通过各种命令使用bash自动完成功能?
自动完成仅是各种黑客的集合,这些黑客指定了Readline如何使用完整的内置参数完成参数。
默认情况下,许多Linux发行版(例如Debian Linux,Ubuntu Linux等)都启用了此功能。
但是,尚未在基于RHEL的Linux发行版(包括CentOS Linux)上安装并启用此功能。
他的教程向您展示了如何在CentOS/RHEL/Oracle/Scientific或Fedora Linux上安装Bash自动完成功能。
在CentOS/RHEL上安装和启用Bash完成的软件包
您需要安装两个软件包:
bash-completion
:Bash的可编程完成bash-completion-extras
:Bash的其他可编程补全(仅适用于CentOS/RHEL/Oracle/SL v7.x)
RHEL/CentOS Linux安装并激活Bash完成
首先,在CentOS/RHEL版本6上打开EPEL存储库(如果您使用的是CentOS/RHEL 7.x,请参阅此页面以打开EPEL存储库),然后执行以下yum命令来安装bash-completion软件包:
# yum install bash-completion
或者
# yum install bash-completion bash-completion-extras
输出示例:
Loaded plugins: fastestmirror Installed size: 648 k Is this ok [y/d/N]: y Downloading packages: (1/2): bash-completion-2.1-6.el7.noarch.rpm | 85 kB 00:00:03 (2/2): bash-completion-extras-2.1-11.el7.noarch.rpm | 123 kB 00:00:07 ------------------------------------------------------------------------------------------------------ Total 26 kB/s | 208 kB 00:00:07 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 1:bash-completion-2.1-6.el7.noarch 1/2 Installing : 1:bash-completion-extras-2.1-11.el7.noarch 2/2 Verifying : 1:bash-completion-extras-2.1-11.el7.noarch 1/2 Verifying : 1:bash-completion-2.1-6.el7.noarch 2/2 Installed: bash-completion.noarch 1:2.1-6.el7 bash-completion-extras.noarch 1:2.1-11.el7 Complete!
" Fedora Linux"用户执行以下dnf命令:
$ sudo dnf install bash-completion
如何使用bash自动完成功能?
然后退出登录shell/ssh会话,并使用以下命令重新登录:
# logout
打开终端或使用ssh登录:
$ ssh [email protected]
或者,使用以下命令为bash获取完成代码:
$ . /etc/bash_completion
或者
$ source /etc/bash_completion
对于较新的版本,请尝试:
$ source /etc/profile.d/bash_completion.sh
用法示例
您只需要简单地按一下TAB键即可。
语法为:
command [TAB] command arg[TAB][TAB] man da[TAB]
rpm使用
执行以下命令(执行rpm -qi ph后接[TAB]):
$ rpm -qi ph[TAB][TAB] php php-cli php-common php-devel php-imap
Yum用法
执行以下命令:
$ yum [TAB][TAB] --assumeyes --enableplugin list search --cacheonly --enablerepo makecache --setopt check --errorlevel --nogpgcheck shell check-update --exclude --noplugins --showduplicates clean groupinfo --obsoletes --skip-broken --color groupinstall provides --tolerant --config grouplist --quiet update --debuglevel groupremove --randomwait upgrade deplist help reinstall --verbose --disableexcludes --help --releasever version --disableplugin history remove --version --disablerepo info repolist distro-sync install resolvedep downgrade --installroot --rpmverbosity
要搜索名为lsof的软件包:
$ yum se[TAB] lsof
或即时搜索并安装:
# yum in[TAB] ls[TAB] lshell.noarch lslk-debuginfo.x86_64 lsscsi-debuginfo.x86_64 lshw-gui.x86_64 lslk.x86_64 lsscsi.x86_64 lshw.x86_64 lsof-debuginfo.x86_64 lsyncd.x86_64
cryptsetup用法
Linux磁盘上的统一密钥设置格式(LUKS)允许您加密整个磁盘,并且可以使用cryptsetup命令安装或重新安装加密分区:
cryptsetup [TAB] luksOpen /dev/md[TAB]
自动完成功能支持的所有命令的列表
执行以下命令:
$ cd /etc/bash_completion.d $ ls
输出示例:
autoconf gpg2 ntpdate shadow automake gzip open-iscsi smartctl bash-builtins iconv openssl sqlite3 bind-utils iftop perl ssh brctl ifupdown pkg-config strace bzip2 info pm-utils subscription-manager chkconfig ipmitool postfix tar configure iproute2 procps tcpdump dhclient man rsync yum.bash e2fsprogs mdadm scl.bash yum-utils.bash findutils module-init-tools service getent net-tools sh