Ubuntu系统启用基础补全功能需先确认bash-completion是否安装并加载:按Ctrl+Alt+T打开终端,输入apt in后按Tab应补全为apt install;若无反应且ls /usr/share/bash-completion提示不存在,则需sudo apt install bash-completion并source /etc/bash_completion激活。

确认系统是否已启用基础补全功能
打开终端(Ctrl+Alt+T),输入 apt in 后按一次 Tab 键,观察是否自动补全为 apt install;若无任何反应,说明 bash-completion 未安装或未加载。
执行 ls /usr/share/bash-completion/,若提示 “No such file or directory”,则【bash-completion 包完全缺失】,必须先安装才能启用补全。
安装并激活 bash-completion 补全框架
方法一:适用于优麒麟、麒麟桌面版(基于 Debian/Ubuntu)
在终端中执行:sudo apt install bash-completion。
安装完成后立即加载规则:source /etc/bash_completion。这一步不能跳过,否则当前会话仍无法补全。
方法二:适用于银河麒麟 V10(基于 CentOS/RHEL)
运行:sudo yum install bash-completion → 执行 source /usr/share/bash-completion/bash_completion。
验证是否生效:输入 ls /et 后按 Tab,应自动展开为 /etc/;输入 systemctl st 后按 Tab,应列出 status、start、stop 等候选。
修复用户级补全失效的常见断点
第一步:检查 ~/.bashrc 中补全加载逻辑是否被注释
执行 grep -n "bash_completion" ~/.bashrc,若输出行以 # 开头(如 # source /etc/bash_completion),说明该行被禁用。
第二步:取消注释并重载配置
用 nano 编辑:nano ~/.bashrc → 将对应行开头的 # 删除 → Ctrl+O 保存 → Ctrl+X 退出 → 运行 source ~/.bashrc。
第三步:确认 root 用户与普通用户补全状态是否一致
若仅普通用户失效而 root 正常,大概率是 ~/.bashrc 问题;若两者均失效,则需回溯上一步检查系统级包安装状态。
启用大小写不敏感的 Tab 补全
方法一:当前会话临时启用(无需权限,适合快速验证)
执行:bind 'set completion-map-case on' → 再执行:bind 'set globasciiranges on'。
此时输入 git 或 Git 后按 Tab,均可匹配到 git 可执行文件。
方法二:永久生效(推荐长期使用)
编辑用户输入配置:nano ~/.inputrc → 在文件末尾新增两行:set completion-map-case onset globasciiranges on
→ Ctrl+O 保存 → Ctrl+X 退出 → 执行 bind -f ~/.inputrc 重载。
【注意:~/.inputrc 文件若不存在,直接新建即可;不要复制粘贴带中文标点的引号】
排查补全突然失效的典型原因
执行 echo $SHELL,确认输出为 /bin/bash;若为 /bin/zsh,则 bash-completion 不生效,需改用 zsh 插件或切换 shell。
检查是否误删了关键文件:ls -l /etc/bash_completion,若提示不存在,需重新安装 bash-completion 包。
运行 shopt progcomp,若返回 progcomp off,说明程序化补全被关闭,执行 shopt -s progcomp 临时开启,并追加到 ~/.bashrc 中。











