Ubuntu终端tab键补全不了

本文介绍在Ubuntu系统中创建新用户后,遇到Tab键无法进行命令补全的问题及其解决方案。通过修改/etc/passwd文件中用户的Shell路径为/bin/bash,可以解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境

Ubuntu

情景

在Ubuntu系统下useradd一个新的用户,切换到该用户时,发现终端命令行下tab键补全不了

$ useradd tab   # 新增tab用户
$ passwd tab    # 设置密码
$ su - tab      # 切换到tab用户,发现按键盘的tab键补全不了

解决

谷歌发现是用useradd命令创建用户时没有指定shell的路径

$ useradd tab -s /bin/bash

$ useradd --help
用法:useradd [选项] 登录
      useradd -D
      useradd -D [选项]

选项:
  -b, --base-dir BASE_DIR   新账户的主目录的基目录
  -c, --comment COMMENT         新账户的 GECOS 字段
  -d, --home-dir HOME_DIR       新账户的主目录
  -D, --defaults        显示或更改默认的 useradd 配置
 -e, --expiredate EXPIRE_DATE  新账户的过期日期
  -f, --inactive INACTIVE       新账户的密码不活动期
  -g, --gid GROUP       新账户主组的名称或 ID
  -G, --groups GROUPS   新账户的附加组列表
  -h, --help                    显示此帮助信息并推出
  -k, --skel SKEL_DIR   使用此目录作为骨架目录
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
  -l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
  -m, --create-home 创建用户的主目录
  -M, --no-create-home      不创建用户的主目录
  -N, --no-user-group   不创建同名的组
  -o, --non-unique      允许使用重复的 UID 创建用户
  -p, --password PASSWORD       加密后的新账户密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录
  -s, --shell SHELL     新账户的登录 shell
  -u, --uid UID         新账户的用户 ID
  -U, --user-group      创建与用户同名的组
  -Z, --selinux-user SEUSERSELinux 用户映射使用指定 SEUSER

现在我已经创建了tab用户,我们可以通过修改/etc/passwd文件来解决tab键不能补全问题

$ sudo vim /etc/passwd

# 找到tab用户那行 
# 修改前
tab:x:1000:1000::/home/tab
# 修改后
tab:x:1000:1000::/home/tab:/bin/bash

最后重启电脑就可以了

$ sudo reboot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值