
正文
linux下命令不全 linux命令都用不了
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Linux Shell 按Tab键不能补全
在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即可。
此处参考: .
本文出自 “ 低调的前进 ” 博客,请务必保留此出处
相关问答
Q1: 在Linux系统中,可以使用哪个键自动补全命令?
使用键盘上linux下命令不全的Tab键可以进行命令补全
Q2: LINUX中如何使用历史命令?如何使用命令补全功能? LINUX系统中,如何获取某命令的帮助信息?
使用历史命令
history 打完以后前面会有顺序号的比如
1 cd
2 ls
3 pwd
如果需要重新执行cd命令则可以执行 !3 命令
命令补全功能 比如你要执行history命令 可以打上histo+tab键
命令帮助信息、man
man history
Q3: linux命令如何将上一个命令的宾语补全到这次命令?
这个做不到,只能用键盘上的向上光标键,调出上一条命令,然后向左移动光标,将ls file.txt中的ls修改成vi,再按下回车执行,只能这样做。
Q4: Linux中命令能自动补全但又说命令找不到
有多个命令开头是相同的,按一次tab键的时候会列出相同的部分,但还不完整。你再按2次tab键,系统会列出前面相同名称的命令,你再手动输入一个或者多个名称,再按tab就能补全了。
Q5: linux命令自动补全工具bash-completion,自动补全git、Docker、kubenetes等命令
在 Linux 命令行中,当输入字符后,按Tab 键,Shell 就会列出以这些字符开头的所有可用命令,如果只有一个命令匹配到,按一次 Tab 键就自动将这个命令补全。
如果输入pass,此时按 Tab 键,因为以pass开头的命令只有passwd这个命令, Shell 就会自动补全 passwd 命令。
另外如果输入的字符匹配多个命令则会列出所有可用的命令,比如,如果输入do,此时按 Tab 键 Shell 就会自列出可用的命令。
但是系统自带的命令补全功能有限,自动补全功能仅限于命令和文件名。
可以安装 Bash 命令补全增强软件包 bash-completion来实现更多命令的补全。
以Centos为例
直接通过yum命令安装
bash-completion版本信息
配置命令补全
命令补全的脚本存放在/usr/share/bash-completion/completions/目录,可以在这个目录查看支持增强补全功能的命令。
再试试输入docker命令后按tab键:
可以看到后续可用命令的提示,妈妈再也不用担心我记不住命令了。
同样对于kubenetes也可以实现命令的自动补全和提示:
如果是在安装bash-completion之后安装git是不能自动命令补全,需要手动进行一些配置。
git安装之后文档里会有git-completion.bash文件
安装完git之后重新source一下bash-completion
看看配置之后的效果
如果觉得有用记得收藏点赞
linux下命令不全的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux命令都用不了、linux下命令不全的信息别忘了在本站进行查找喔。







