Linux在创建用户时,不仅会创建该用户本身,还会在/home目录下建立该用户的家目录以及邮件文件。linux下通过useradd方式创建新用户时,都会将所有的配置文件从/etc/skel复制到/home目录的新用户录下。
1.如果出现No such file or directory,出现-bash-4.2$状态
说明没有在/home目录下建立该新用户的家目录,需要在home下自己手动建立以该用户命名的目录,并将/etc/skel中的文件复制到该用户目录下。(/etc/skel/目录是用来存放新用户配置文件的目录,当我们添加新用户的时候,这个目录下的所有文件会自动被复制到新添加的用户的家目录下。 这个目录下的所有文件都是隐藏文件(以.点开头的文件),查看需要使用 ls -la。 通过修改、添加、删除/etc/skel目录下的文件,我们可为新创建的用户提供统一的、标准的、初始化用户环境。 )
2.Home目录下有新建用户家目录,仍出现-bash-4.2$状态
需要切换到root用户,然后cd到该用户家目录下,使用vi .bash_profile 在.bash_profile文件最后一行加上export PS1='[\u@\h \w]'
执行以下指令,使更改生效:
source ~/.bash_profile
linux下环境变量PS1简单来说就是设置命令提示符显示的内容,
PS1变量中提示符各项含义:
\d :代表日期,格式为weekday month date,例如:Wed Dec 12
\H :完整的主机名称。例如:hostname是debian.linux
\h :仅取主机的第一个名字,如上例,则为debian,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称 如:root
\v :BASH的版本信息 如:3.2
\w :完整的工作目录名称。家目录会以 ~代替 如显示/etc/default/
\W :利用basename取得工作目录名称,所以只会列出最后一个目录 如上例则只显示default
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
详见https://www.cnblogs.com/feiyun126/p/6125608.html