[TOC]

Linux-Ubuntu虚拟机修改用户名为学号的试错解决

新开的大数据基础课要求创建学号为用户名的Ubuntu虚拟机,许久不使用虚拟机了,在基本操作中遇到了一些新问题,特此记录。

最初我只是想着新建一个用户:

sudo useradd username -m

-m的目的是在home路径下创建该用户的文件夹。

在创建成功后切换至学号用户下:

image-20210901161826645

问题一:

应该出现的1903@dc-virtual-machine:~/Desktop$并未出现,只有$,正常情况下应该是切换到用户后直接到用户所在目录下,见招拆招:

解决方法

image-20210901162533300

在/etc/passwd下保存各个用户的记录,翻到底部:

image-20210901162658080

将1903这一行末尾的sh改为bash,原因为在Ubuntu下默认sh为dash,有许多命令受限,因此将sh改为bash也就方便了我们的操作。

image-20210901165033201

至于如何全局修改可以使用:

sudo dpkg-reconfigure dash

弹出选择框选择no就可以修改成功了。

image-20210901170532036

这里需要说明一下sh和bash的区别:

区别

问题二:

在使用useradd username后出现异常

useradd: group userone exists - if you want to add this user to that group, use -g.

原因为创建用户时未指定用户组,系统会默认创建同名用户组,用户不存在,但同名用户组却已存在,产生冲突导致异常。

所以需要指定银行组:

useradd -g user_group user_name

查看所有用户:cat /etc/passwd

查看所有用户组:cat /etc/group

问题三:

使用vi命令进行编辑时方向键乱码,出现ABCD,并且退格键不可使用

image-20210901165130511

我本来的方法是先强制退出,再回来使用del键删除ABCD。

查询资料后明白如何更好地处理:

首先使用sudo apt-get install vim

这里可能会报错:

解决方法

image-20210901165847245

解决方案为:

sudo apt-get update && sudo apt-get install vim

可能有点久,耐心等待一会儿。

成功后使用vi命令:

image-20210901171813307

方向键操作正常,insert也成功出现了:

image-20210901171952400

问题四:

使用userdel删除用户

sudo userdel -r username提示:

userdel: user *** is currently used by process ID

https://blog.csdn.net/ch520my/article/details/87937684

在上面这篇文章里提到的是

使用vipwvipw -s 分别操作etc/passwd/etc/shadow删除对应的用户信息及其备份。

刚开始我还在想vipw和vipw -s到底是什么,看到这一篇我才明白过来。

问题五:

vim删除空白行和特定行,其实这个问题也是第三个问题的影响,解决办法:

删除注释行 :g/^#/d

删除空白行 :g/^\s*$/d

:g 代表在全文档范围内

^代表行的开始

\s*代表空白字符

$代表行的结束

d代表删除

参考文章:

https://blog.csdn.net/qq_25844137/article/details/80841451

https://blog.csdn.net/ch520my/article/details/87937684

https://www.cnblogs.com/yunweis/p/7727024.html

https://www.cnblogs.com/zaq12wsx/p/14166761.html