于是百度,发现了原来是因为/root/下面的隐藏文件“.bash_profile”文件丢掉了,到这儿才发现是删除/root/下的文件的时候,是全部删掉了的,没有注意到隐藏文件。到了这儿问题就明显了,好了,接下来就是修复这个问题了!但是在修复前有个问题就是网上一些说直接从普通用户家目录下面复制.bash_profile文件到/root/目录下面就可以了,但是测试后不可以,原先很简单,就是两个文件不一样。我们先来看看普通用户user1和user2下的.bash_profile文件是不是一样的:
[root@localhost ~]# vimdiff/home/user1/.bash_profile/home/user2/.bash_profile
结果发现普通用户之间是相同的,那么我们再看看root用户和普通用户之间是否也一样呢?[root@localhost ~]# vimdiff.bash_profile/home/user1/.bash_profile
这是截图,看出不同了吧,所以要从普通用户复制.bash_profile过来,还要修改一点文件的,就是将红色区域删除,就是删除“.local/bin:$HOME/”就可以了。
好了,到这儿了,原理文件都说的差不多了,接下来就是模拟出错环境和恢复过程:
首先在没有删除/root/下隐藏文件的时候去/root/下面ls –al | grep “.bash_profile”一下,看看有没有.bash_profile
[root@localhost ~]# ls -al | grep".bash_profile"
-rw-r--r--.1 root root176 Apr 12 16:18.bash_profile
-rw-r--r--.1 root root 12288 Apr 12 12:41 .bash_profile.swp
结果发现是有“.bash_profile”这个文件的!,接下来我们把它删了
[root@localhost ~]# rm -f .bash_profile
[root@localhost ~]# ls -al | grep".bash_profile"
-rw-r--r--.1 root root 12288 Apr 12 12:41 .bash_profile.swp
看出确实是删掉了,到这儿就是模拟了丢失.bash_profile文件环境,接下来我们就看看丢了这个文件的后果:
[user1@localhost ~]$ su -
Password:
Last login: Wed Apr 12 16:18:58 CST 2017 onpts/0
-bash-4.2# ls
anaconda-ks.cfginitial-setup-ks.cfg
-bash-4.2# pwd
/root
-bash-4.2#
结果是不是很怪,切换到root用户的时候,竟然不是[root@localhost ~]#,而是-bash_4.2#,这样我们一眼看不出当前的工作目录,很不舒服,接下来就是去恢复这个.bash_profile的文件了,如果之前有备份/root/下的.bash_profile文件,就好办了,直接cp到/root/下就可以了,但是之前是直接删掉了的,没有备份,没有原件了。那就到普通用户下面去复制修改一份.bash_profile文件到/root/文件下去
先复制文件到root家目录中去:
-bash-4.2# cp/home/user1/.bash_profile./
-bash-4.2# ls -al | grep".bash_profile"
-rw-r--r--.1 root root193 Apr 12 19:09.bash_profile
修改.bash_profile文件:
-bash-4.2# cat ./.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]then
.~/.bashrc
fi
# User specific environment and startupprograms
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
-bash-4.2# vim ./.bash_profile
-bash-4.2# cat ./.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]then
.~/.bashrc
fi
# User specific environment and startupprograms
PATH=$PATH:$HOME/bin
export PATH
-bash-4.2#
好了,修改成功了;我们su –刷新一下!
-bash-4.2# su -
Last login: Wed Apr 12 19:09:03 CST 2017 onpts/0
[root@localhost ~]#
O(∩_∩)O~,发现又恢复了,到这儿就彻底解决了!
你要改路径对吧,首先你在root路径下改配置的做法,如果不是必须这么干,尽量在自己的HOME路径下改好了。。
然后是path的赋值。我感觉应该这么写:
export PATH=$PATH:/home/wmj~表示你的home目录,你现在都在root下面配置了,~表示的/root,和/home/wmj是不同的。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)