TAB键的两大作用:
创新互联专注于阿克陶企业网站建设,响应式网站开发,成都商城网站开发。阿克陶网站建设公司,为阿克陶等地区提供建站服务。全流程定制网站开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
1、只需输入文件或目录名的前几个字符,然后按TAB键,如无相重的,完整的文件名立即自动在命令行出现;如有相重的,再按一下TAB键,系统会列出当前目录下所有以这几个字符开头的名字。
2. 在命令行下,只需输入例如m,再连续按两次TAB键,系统将列出所有以m开头的命令,(包括自定义的Bshell命令函数),对查找某些记不清楚的命令特有用。例如输入ftp,将查到ftp,ftpcount,ftpwho,ftpshut等本不熟悉的命令。
一方面文件实质都存放在根目录下,树状目录,所以tab可以在当前指定目录下寻找i节点信息补齐路径或者文件名; 另一方面tab可以去查询环境变量设置里面/etc/bin的命令文件,补齐命令。
按Tab键,左上角ESC的下面两个,如果当前目录只有一项,只需要直接Tab,如果有多项,输入前面不同的部分再Tab。解决方法如下:
1、首先打开LINUX的操作系统,在左边任务栏里面找到终端,鼠标左键点击打开终端命令窗口。
2、输入ls可以查看当前所有的目录,输入pwd可以查看目前所在的目录,如果要改变目录,这些目录的名字都很长,不方便全部输入,那么输入第一个字母。
3、接下来按键盘的tab键,这里就可以得到某个文件或者目录的全称。
4、如果遇到首写字母都是一样的目录,按一下tab后是没反应的。需要再按一下tab,也就是一共两下tab就可以出来这些首写字母一样的文件或者目录了。
5、键盘上的上下箭头还可以分别调用上次和往回一次的命令,这样会非常方便输入。中途想退出就按CTRL+C即可。
在Linux的终端中输入tab键时,有时会出现命令不能补全的情况,此时有一种原因是bash错误。
使用 ls -l /bin/sh 命令发现
/bin/sh - /bin/dash
dash是一个不同于bash的Shell,它主要为了执行脚本而出现,而不是交互,它速度更快,但功能比bash要少的多。语法严格遵守POSIX标准。
通过命令 ln -sf bash /bin/sh 可以将dash改成bash。此时问题可以解决。
Ubuntu系统在某些情况下,apt-get 不能补全相关命令,可以通过修改/etc/bash.bashrc文件的相关行,把默认的#号去掉即可。
if [ -f /etc/bash_completion ]; then
/etc/bash_completion
fi
重新登录Shell即可。
此处参考: .
本文出自 “ 低调的前进 ” 博客,请务必保留此出处
1、自动补全是Bash Shell的功能,相关的命令(compgen、complete、compopt)
2、complete实例
创建hello_complete,内容:
complete -F _hello_complete_func hello.sh
_hello_complete_func ()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="help usage version"
if [[ ${cur} == * ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
}
3、source hello_complete让补全的参数生效。
4、创建hello.sh
#!/bin/sh
echo "hello world"
5、./hello.sh [TAB][TAB]
help usage version
6、不用complete简单的提醒需要输入参数
#!/bin/sh
str=$1
if [[ $1 == '' ]];then
echo "Usage: $0 help|version"
exit 0;
fi
echo "$str"
一个tab键是列出, 二个tab键是补全。
linux中可用tab键补全命令名和文件名。
安装 bash-completion 后,可用tab键补齐几乎任何内容,包括参数、文件、目录甚至包名等。《Linux就该这么学》一起学习交流更多知识。
centos7 安装过程:
yum install -y bash-completion
重新登录。