原文

有时候在使用用户登陆Linux系统时会发现,命令行提示符成了:-bash-4.1$,不显示用户名,路径信息。

原因:用户家目录里面与环境变量有关的文件被删除所导致的

也就是这俩文件:
.bash_profile
.bashrc

这两个文件被删除了,导致了这个错误

解决方法:从/etc/skel把丢失的文件 复制回来就可以了

-bash-4.1$ cp /etc/skel/.bash*  ~    

-bash-4.1$ logout                     ##复制回来后,登出用户,然后在登陆用户查看是否已经解决

[root@elz-4 ~]# su - erlianzhang

[erlianzhang@elz-4 ~]$

登陆后就恢复了

原文

遇到此种问题,那么需要了解和用户创建有关的一个目录(/etc/skel/目录),此目录下的所有文件(包括隐藏文件)都会被复制到新添加的用户的家目录中。

/etc/skel/目录到底是干嘛的呢?

该目录下是用来存放新用户环境变量文件的,添加新用户时,将该目录习文件拷贝到新用户家目录中。默认情况下该目录下都是隐藏文件;通过修改、添加、删除该目录下的文件,可为新添加的用户提供统一的、标准的、初始化用户环境。

显示/etc/skel/目录下的所有文件

[root@c69-01 ~]# ls -al /etc/skel/
total 20
drwxr-xr-x. 2 root root 4096 Feb 2 21:33 .
drwxr-xr-x. 80 root root 4096 Feb 18 09:17 ..
-rw-r--r--. 1 root root 18 Mar 23 2017 .bash_logout
-rw-r--r--. 1 root root 176 Mar 23 2017 .bash_profile
-rw-r--r--. 1 root root 124 Mar 23 2017 .bashrc

添加新用户,体现目录/etc/skel/作用:

上面说到/etc/skel/目录下的所有文件都会被拷贝到新用户的家目录中,那么我们在/etc/skel/下创建一个README文件,在创建新用户之后,新用户家目录中是否有该文件的存在

1)使用超级用户root创建文件README

[root@c69-01 ~]# vim /etc/skel/README
[root@c69-01 ~]# cat /etc/skel/README
WELCOME
Please read the contents of this document carefully! ............................
............................
............................
............................
[root@c69-01 ~]# ls -al /etc/skel/
total 24
drwxr-xr-x. 2 root root 4096 Feb 18 09:34 .
drwxr-xr-x. 80 root root 4096 Feb 18 09:17 ..
-rw-r--r--. 1 root root 18 Mar 23 2017 .bash_logout
-rw-r--r--. 1 root root 176 Mar 23 2017 .bash_profile
-rw-r--r--. 1 root root 124 Mar 23 2017 .bashrc
-rw-r--r-- 1 root root 179 Feb 18 09:34 README

2)使用超级用户创建新用户user01

[root@c69-01 ~]# id user01
id: user01: No such user
[root@c69-01 ~]# useradd user01
[root@c69-01 ~]# id user01
uid=1010(user01) gid=1010(user01) groups=1010(user01)
[root@c69-01 ~]# ls -al /home/user01/
total 24
drwx------ 2 user01 user01 4096 Feb 18 09:36 .
drwxr-xr-x. 15 root root 4096 Feb 18 09:36 ..
-rw-r--r-- 1 user01 user01 18 Mar 23 2017 .bash_logout
-rw-r--r-- 1 user01 user01 176 Mar 23 2017 .bash_profile
-rw-r--r-- 1 user01 user01 124 Mar 23 2017 .bashrc
-rw-r--r-- 1 user01 user01 179 Feb 18 09:34 README

可以看到新用户的家目录下存在README文件

[root@c69-01 ~]# cat /home/user01/README
WELCOME
Please read the contents of this document carefully! ............................
............................
............................
............................

文件内容和/etc/skel/README文件内容一样

-bash-4.1$ 问题重现:

1)切换到普通用户,删除家目录中所有.bash*文件,退出重新登录,即可看到想要的命令行提示

[root@c69-01 ~]# su - user01
[user01@c69-01 ~]$ ls -al
total 24
drwx------ 2 user01 user01 4096 Feb 18 09:36 .
drwxr-xr-x. 15 root root 4096 Feb 18 09:36 ..
-rw-r--r-- 1 user01 user01 18 Mar 23 2017 .bash_logout
-rw-r--r-- 1 user01 user01 176 Mar 23 2017 .bash_profile
-rw-r--r-- 1 user01 user01 124 Mar 23 2017 .bashrc
-rw-r--r-- 1 user01 user01 179 Feb 18 09:34 README
[user01@c69-01 ~]$ \rm .bash*
[user01@c69-01 ~]$ logout
[root@c69-01 ~]# su - user01
-bash-4.1$

上面说到,该目录下是用来存放新用户环境变量文件的,删除这些文件,就会出现问题,那么如何解决呢?

-bash-4.1$ 问题解决:

1)使用普通用户user01,拷贝目录/etc/skel/下的文件.bash*文件到普通用户家目录下即可,退出重新登录,即可解决该问题。

-bash-4.1$ cp /etc/skel/.bash* .
-bash-4.1$ ls -al
total 28
drwx------ 2 user01 user01 4096 Feb 18 09:45 .
drwxr-xr-x. 15 root root 4096 Feb 18 09:36 ..
-rw------- 1 user01 user01 18 Feb 18 09:42 .bash_history
-rw-r--r-- 1 user01 user01 18 Feb 18 09:45 .bash_logout
-rw-r--r-- 1 user01 user01 176 Feb 18 09:45 .bash_profile
-rw-r--r-- 1 user01 user01 124 Feb 18 09:45 .bashrc
-rw-r--r-- 1 user01 user01 179 Feb 18 09:34 README
-bash-4.1$ logout
[root@c69-01 ~]# su - user01

总结:

通过该问题,应该了解用户创建的过程,了解目录/etc/skel/作用

Linux普通用户登录后,命令行提示:-bash-4.1$ ,原因分析及解决的更多相关文章

  1. (九)Linux查看用户登录的命令

    用户登录查看命令 w 含义:就这么简单,一个字母w就是一个命令.查看登录用户信息. 输出的结果的含义: USER       登录的用户名 TTY        登录终端 FROM      从哪个I ...

  2. ubuntu系统 用户进入后命令行只有一个“$” 美元符号

    在新添加用户后,切换到该用户下面后: 发现命令行前面只有一个$符号,很不方便. 虽然每次输入一个bash可以解决,但是太麻烦. 如何解决呢? sudo vi /etc/passwd 找到该用户 wan ...

  3. Linux用户登录查看命令总结 - w,who,last,lastlog

    Linux用户登录查看命令总结 - w,who,last,lastlog linux shell 747 次阅读  ·  读完需要 15 分钟 0 1. 查看登录用户信息 who -H 命令输出 NA ...

  4. 如何修改linux 用户登录后默认目录

    1.linux用户登录后默认目录是在/etc/passwd文件设置的.如下图所示,一共显示了四行数据,其中第一行的/root即为root用户登录后的默认目录,第二行daemon用户的默认目录是/usr ...

  5. Linux下文件 ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 和 /etc/profile 的区别 | 用户登录后加载配置文件的顺序

    转自 https://blog.csdn.net/secondjanuary/article/details/9206151 文件说明: /ect/profile 此文件为系统的每个用户设置环境信息, ...

  6. linux快速入门 1.1命令行操作

    http://lovesoo.org/linux-command-line-operation.html 1.1命令行操作 目录: <wp_nokeywordlink>Shell简介 &l ...

  7. Linux 学习手记(1):命令行BASH的基本操作

    1. Shell 是什么 Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令.操作传递给操作系统底层. Shell一般分为:图形化Shell(GUI).命令行Shel ...

  8. Shell命令行提示定制

    /******************************************************************************* * Shell命令行提示定制 * 说明 ...

  9. 监控Linux性能的18个命令行工具

    监控 Linux 性能的 18 个命令行工具 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保 ...

随机推荐

  1. restql 学习一 安装试用

    restql 提供了manager 可以方便配置restql 的资源,同时也提供了一个docker-compose 运行环境 以下是一个安装使用 环境准备 docker-compose 文件   ve ...

  2. [RN] React Native 让 Flatlist 支持 选中多个值,并获取所选择的值

    React Native 让 Flatlist  支持  选中多个值,并获取所选择的值 实现效果如下: 实现代码: import React, {Component} from 'react'; im ...

  3. RE:SB的SDOISB记

    Day0 到了农大 进门看见hly 和myj一起乱%一通 一本爷的气场就是强大 晚上gryz搬砖三人组出去吃饭,开心>_< 吃完饭后去试机 手速比较快,写了一下ntt,lct,sa和一些小 ...

  4. 招聘.net高级工程师

    1. 本科及以上学历(必须): 2. 精通.net框架和常见web框架,精通常见设计模式并熟练应用. 3. 扎实的技术功底,有良好的数据结构和算法基础,深入理解面向对象编程思想, 熟悉面向对象的基本设 ...

  5. DDD框架基础知识

    DDD框架基础知识 参考: https://www.cnblogs.com/zhili/p/OnlineStorewithDDD.html(领域驱动设计,分层架构) https://www.cnblo ...

  6. 关于Keras 版本的安装与修改

    神经协同过滤(Neural Collaborative Filtering)神作的源码的实验设置要求是: 然而,我们使用控制台 (命令:)或者是PyCharm直接安装的版本均是 最新版本(即 2.0版 ...

  7. php扩展模块 opcache安装教程

    php扩展模块 opcache安装教程PHP5.5.0以后版本自带Opcache加速器,但默认情况下木有启用.所以编译PHP的时候 我们想要启用该PHP加速器就应该添加参数 : –enable-opc ...

  8. 哈夫曼树的构建(C语言)

    哈夫曼树的构建(C语言) 算法思路: 主要包括两部分算法,一个是在数组中找到权值最小.且无父结点两个结点位置,因为只有无父结点才能继续组成树: ​ 另一个就是根据这两个结点来修改相关结点值. 结构定义 ...

  9. Python内网渗透扫描器Ladon

    Ladon Scanner For Python PyLadon 目前python版功能较少,无论在Windows还是Linux系统性能以及速度均也比不上Ladon.exe 唯一的优点是跨平台,后续会 ...

  10. Centos 6.8 公钥登录

    # lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch Distrib ...