龙空技术网

Linux 提高操作效率之 tab 命令补全

叨叨软件测试 271

前言:

如今小伙伴们对“centos按tab”大致比较关怀,看官们都需要剖析一些“centos按tab”的相关文章。那么小编在网上汇集了一些关于“centos按tab””的相关文章,希望大家能喜欢,各位老铁们快快来学习一下吧!

最近在使用阿里云 ECS 时,发现 Centos 无法进行 tab 补全,特别影响操作效率,本文简单记录下 Linux 下的 tab 命令补全功能,希望对 Linux 初学者有所帮助。

安装

Linux 最小化安装时,是没有 tab 命令补全的,需要自己手动安装。

# 安装$ yum -y install bash-completion# 重新登录生效
命令补全

默认情况下,在 Linux 中提供下列补全功能:

变量补全用户名补全可执行命令补全文件名和目录补全主机名补全变量补全

# echo 在 $ 符号后按两次 tab 将显示所有可用的变量$ echo $[tab] [tab]
用户名补全
# su 在 “- ” 符号后,按两次 tab 将显示所有用户名$ su - [tab] [tab]# 同上,按两次 tab 将显示所有用户名$ cd ~[tab] [tab]

注意:用户名是从 /etc/passwd 文件中获取的。

可执行命令补全

在执行命令时,如果找到单个匹配项的可执行文件,则一个 tab 就会将可执行命令自动补全。

$ ls -lt总用量 5736-rwxr-xr-x 1 nginx nginx 5872560 3月  24 15:33 nginx# ./n 之后按一次 tab 将补全可执行命令:./nginx$ ./n[tab]

当找到多个匹配项时,则两个 tab 将会显示可用命令。

$ ./yum[tab] [tab]yum                 yum-builddep        yum-config-manager  yum-debug-dump      yum-debug-restore   yumdownloader       yum-groups-manager
文件名和目录补全

与可执行命令补全类似,找到单个匹配项时,一个 tab 自动补全,两个 tab 列出所有匹配项。

$ ls -lt总用量 80-rw-r--r-- 1 nginx nginx 6542 3月  26 21:06 nginx.confdrwxr-xr-x 2 root  root  4096 3月  26 20:59 site-enabledrwxr-xr-x 2 nginx nginx 4096 3月  24 15:33 ssl-rw-r--r-- 1 nginx nginx 2656 3月  24 15:33 nginx.conf.default-rw-r--r-- 1 nginx nginx  636 3月  24 15:33 scgi_params.default-rw-r--r-- 1 nginx nginx  636 3月  24 15:33 scgi_params-rw-r--r-- 1 nginx nginx  664 3月  24 15:33 uwsgi_params.default-rw-r--r-- 1 nginx nginx  664 3月  24 15:33 uwsgi_params-rw-r--r-- 1 nginx nginx 1077 3月  24 15:33 fastcgi.conf.default-rw-r--r-- 1 nginx nginx 1077 3月  24 15:33 fastcgi.conf-rw-r--r-- 1 nginx nginx 1007 3月  24 15:33 fastcgi_params.default-rw-r--r-- 1 nginx nginx 1007 3月  24 15:33 fastcgi_params-rw-r--r-- 1 nginx nginx 5231 3月  24 15:33 mime.types.default-rw-r--r-- 1 nginx nginx 5231 3月  24 15:33 mime.types-rw-r--r-- 1 nginx nginx 3610 3月  24 15:33 win-utf-rw-r--r-- 1 nginx nginx 2837 3月  24 15:33 koi-utf-rw-r--r-- 1 nginx nginx 2223 3月  24 15:33 koi-win# 在cat n 之后按一次 tab 键,会自动补全 cat nginx.conf$ cat n[tab]# “cd ” 之后按一次 tab 键,会$ cd [tab]$ cd s[tab]site-enable/ ssl/# 当有很多文件要显示时,会显示以下警告消息$ ls -l /etc/[tab] [tab]Display all 194 possibilities? (y or n)
主机名补全
# ssh 在 @ 符号后,按两次 tab 键,获取要连接的主机名$ ssh root@ [tab] [tab]# 同上,按两次 tab 键,获取要连接的主机名$ scp nginx.conf nginx@ [tab] [tab]

注意:主机名是从 /etc/hosts 文件中获取的。

查看已有的命令行补全

# 查看已有的命令行补全$ complete | morecomplete -F _minimalcomplete -F _filedir_xspec oodrawcomplete -F _filedir_xspec elinkscomplete -F _filedir_xspec freeampcomplete -F _longopt splitcomplete -F _longopt sedcomplete -F _longopt ldcomplete -F _longopt grepcomplete -j -P '"%' -S '"' jobscomplete -d pushdcomplete -F _minimal shcomplete -F _filedir_xspec playmidicomplete -F _longopt mvcomplete -F _known_hosts rlogincomplete -F _service servicecomplete -b helpcomplete -A stopped -P '"%' -S '"' bgcomplete -F _filedir_xspec cdiffcomplete -F _filedir_xspec bibtexcomplete -F _filedir_xspec rgviewcomplete -F _filedir_xspec realplaycomplete -F _filedir_xspec xinecomplete -F _filedir_xspec xpdfcomplete -F _longopt stripcomplete -F _longopt prcomplete -F _longopt grubcomplete -F _longopt gperfcomplete -F _known_hosts ftpcomplete -o filenames -F _yu_debug_dump yum-debug-dump.pycomplete -o filenames -F _yu_builddep yum-builddepcomplete -o filenames -F _yu_repoclosure repoclosurecomplete -o filenames -F _yu_repo_rss repo-rsscomplete -F _filedir_xspec oowritercomplete -F _filedir_xspec chromium-browsercomplete -F _filedir_xspec gqmpegcomplete -F _filedir_xspec texcomplete -F _filedir_xspec zathuracomplete -F _filedir_xspec lzegrepcomplete -F _longopt m4complete -F _command time--More--# complete 命令详情$ man complete

另外,complete 可以让自己写的程序也支持自动补全功能,目前我没有此需求,需要时再研究。

标签: #centos按tab