linux命令补全参数提示程序bash-completion

bash-completion能提示命令、提示命令参数等,在CentOS7中,很多日常管理的命令格式较长如nmcli、ip、firewall-cmd、systemctl等,借助bash-completion可以快速、友好地学习新命令的使用。

最小化安装系统的时候默认不安装,由于软件在epel库中,安装时先安装epel-release.注意,安装完成后在新shell里生效,所以需要重连或创建新bash。

yum install epel-release -y
yum install bash-completion -y

如下,已经安装好的软件信息:

[[email protected] ~]# rpm -qi bash-completion 
Name       : bash-completion              Relocations: (not relocatable)
Version     : 1.3                          Vendor: Fedora Project
Release     : 7.el6                       Build Date: 2013年04月02日 星期二 23时00分20秒
Install Date: 2017年06月21日 星期三 09时46分44秒     Build Host: buildvm-02.phx2.fedoraproject.org
Group      : System Environment/Shells        Source RPM: bash-completion-1.3-7.el6.src.rpm
Size       : 590294                           License: GPLv2+
Signature   : RSA/8, 2013年04月03日 星期三 07时44分10秒, Key ID 3b49df2a0608b895
Packager    : Fedora Project
URL       : http://bash-completion.alioth.debian.org/
Summary     : Programmable completion for Bash
Description :
bash-completion is a collection of shell functions that take advantage of the programmable completion feature of bash.

使用TAB键补全命令、补全参数示范如下,CentOS7系统中命令的可读性强,参数和选项使用起来更友好:

#bash-completion功能示范,TAB键补齐常用命令参数选项                 
[[email protected] ~]# system
systemctl                       systemd-inhibit
systemd-analyze                 systemd-loginctl
systemd-ask-password            systemd-machine-id-setup
systemd-cat                     systemd-notify
systemd-cgls                    systemd-nspawn
systemd-cgtop                   systemd-path
systemd-coredumpctl             systemd-run
systemd-delta                   systemd-stdio-bridge
systemd-detect-virt             systemd-sysv-convert
systemd-escape                  systemd-tmpfiles
systemd-firstboot               systemd-tty-ask-password-agent
systemd-hwdb                    
[[email protected] ~]# systemctl 
add-requires           hybrid-sleep           reload-or-restart
add-wants              is-active              reload-or-try-restart
cancel                 is-enabled             rescue
cat                    is-failed              reset-failed
condreload             isolate                restart
condrestart            is-system-running      set-default
condstop               kexec                  set-environment
daemon-reexec          kill                   set-property
daemon-reload          link                   show
default                list-dependencies      show-environment
delete                 list-jobs              snapshot
disable                list-sockets           start
edit                   list-timers            status
emergency              list-unit-files        stop
enable                 list-units             suspend
exit                   mask                   switch-root
force-reload           poweroff               try-restart
get-default            preset                 unmask
halt                   reboot                 unset-environment
help                   reenable               
hibernate              reload                 
[[email protected] ~]# nmcli 
agent       device      help        networking  
connection  general     monitor     radio       
[[email protected] ~]# nmcli connection 
add      delete   edit     help     load     monitor  show     
clone    down     export   import   modify   reload   up       
[[email protected] ~]# nmcli connection edit 
con-name  ens192    id        type      
ens160    help      path      uuid      
[[email protected] ~]# nmcli connection add 
autoconnect                      ipv4.dns-priority
con-name                         ipv4.dns-search
connection.autoconnect           ipv4.gateway
connection.autoconnect-priority  ipv4.ignore-auto-dns
connection.autoconnect-slaves    ipv4.ignore-auto-routes
connection.gateway-ping-timeout  ipv4.may-fail
connection.id                    ipv4.method
connection.interface-name        ipv4.never-default
connection.lldp                  ipv4.route-metric
connection.master                ipv4.routes
connection.metered               ipv6.addresses
connection.permissions           ipv6.addr-gen-mode
connection.read-only             ipv6.dhcp-hostname
connection.secondaries           ipv6.dhcp-send-hostname
connection.slave-type            ipv6.dns
connection.stable-id             ipv6.dns-options
connection.timestamp             ipv6.dns-priority
connection.type                  ipv6.dns-search
connection.uuid                  ipv6.gateway
connection.zone                  ipv6.ignore-auto-dns
help                             ipv6.ignore-auto-routes
ifname                           ipv6.ip6-privacy
ipv4.addresses                   ipv6.may-fail
ipv4.dad-timeout                 ipv6.method
ipv4.dhcp-client-id              ipv6.never-default
ipv4.dhcp-fqdn                   ipv6.route-metric
ipv4.dhcp-hostname               ipv6.routes
--More--^C
[[email protected] ~]# firewall-cmd --
--add-forward-port=
--add-icmp-block=
--add-icmp-block-inversion
--add-interface=
--add-lockdown-whitelist-command=
--add-lockdown-whitelist-context=
--add-lockdown-whitelist-uid=
--add-lockdown-whitelist-user=
--add-masquerade
--add-port=
--add-protocol=
--add-rich-rule=
--add-service=
--add-source=
--add-source-port=
--change-interface=
--change-source=
--change-zone=
--complete-reload
--direct
--get-active-zones
--get-default-zone
--get-icmptypes
--get-ipset-types
--get-log-denied
--get-services
--get-zone-of-interface=
--get-zones
--help
--info-icmptype
--info-ipset
--info-service
--info-zone
--More--
[[email protected] ~]# firewall-cmd --
时间: 2024-12-10 18:02:40

linux命令补全参数提示程序bash-completion的相关文章

linux命令补全的技巧

在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令.这并不新鲜,可能你已经知道了.这个功能被称作命令行补全bash completion. 默认情况下,bash 命令行可以自动补全文件或目录名称.不过,我们可以增强 bash 命令补全功能,通过 complete 命令让它达到新的高度. 我们是怎样使用可编程的命令行补全功能(programmable completion)把自动补全功能应用于选项或者命令行参数.例如:在输入 write 命令之后

[CentOS7 mini]Linux命令补全 yum install bash-completion

CentOS7 mini默认不带命令补全需要自行安装 使用国内yum清华源 安装完后退出当前窗口再登录生效 # yum install -y bash-completion 已加载插件:fastestmirror Loading mirror speeds from cached hostfile 正在解决依赖关系 --> 正在检查事务 ---> 软件包 bash-completion.noarch.1.2.1-6.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 ======

linux 命令补全 -- bash-completion

默认情况下,linux中可用tab键补全命令名和文件名. 安装 bash-completion 后,可用tab键补齐几乎任何内容,包括参数.文件.目录甚至包名等. 1.centos7 安装过程: yum install -y bash-completion 重新登录 2.测试:

Linux -命令补全和别名

tab键,敲一下,补全命令tab键,敲两下 ,显示路径下全部文件 参数补全,需要安装 bash-completion 备注:安装完,需要重启系统,才能生效.7有.什么叫参数补全: alias别名给命令重新起个名字 例如:格式:新建:alias 自定义命令简称='需要执行的命令'之后,可直接用命令的简称,去执行命令取消:unalias 自定义命令简称='需要执行的命令' 执行 alias ,可直接查看系统里,关于所有别名的命令. 各用户都有自己配置别名的文件:~/.bashrc ls /etc/p

Linux命令之bash的基础特性(1)(命令历史、命令补全、路径补全、命令行展开。)

命令历史 history: 环境变量: HISTSIZE:命令历史记录的条数 HISTFILE:~/.bash_history HISTFILESIZE:命令历史文件记录历史的条数 history -d OFFSET : 删除某条历史记录 history + 数字:显示最近n条历史记录命令 调用历史命令: !+数字:例如!3:重复第三条历史命令 !!:重复上一条命令 !string:最近一次以指定字符串开头的命令 调用上一条命令最后一个参数: !$ ESC  然后再按  . Alt + . 控制

Linux centos7 shell 介绍、 命令历史、命令补全和别名、通配符、输入输出重定向

一.shell介绍 shell脚本是日常Linux系统管理工作中必不可少的,不会shell,就不是一个合格管理员. shell是系统跟计算机硬件交互使用的中间介质,一个系统工具.实际上在shell和计算机硬件之间还有一层--系统内核.如果吧计算机比作人的躯体,那系统内核就是人的大脑,至于shell,把它比做人的五官更贴切. 其实,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传给系统内核,接着内核再去支配计算机硬件去执行各种操作. CentOS安装的she

Linux学习(二十一)Shell基础(一)认识shell、命令历史、命令补全、别名、通配符、管道符与前后台控制

前言 这个系列我们学习shell的基础知识. 一.认识shell 我们经常使用的终端,其实就是一个shell.Bourne开发的shell原本叫shell,后来再版Bourne Again Shell叫做Bash.我们通常使用的shell就是Bash. 二.命令历史 history命令能够记录我们使用过的命令: [[email protected] ~]# history|tail -n3 803 history|tail -n3 804 history 805 history|tail -n3

8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向

8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 # Linux shell 基础 # 8.1 shell 介绍 - 什么是shell 1. shell 是一个命令解释器,提供用户和机器之间的交互 2. 支持特定语法,比如逻辑判断.循环 3. 每个用户都可以有自己特定的shell 4. CentOS7 默认shell 为bash (Bourne Agin Shell) 5. 还有zsh.ksh等 ``` [[email protected]

shell介绍、历史命令、命令补全和别名、通配符、输入输出重定向

shell介绍 shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具.实际上,在shell和计算机硬件之间还有一层东西--系统内核. 用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作. Redhat.Centos 默认安装的shell版本是bash,它是sh的增强版. 历史命令 我们执行过的命令Linux都会记录,预设可以记录1000条历史命令.这些命令保存在用户家目录的.bash_h