首先是描述一下問題的產生過程吧:不小心cp了很多的文件到/root/下面去了囚痴,去/root/下執(zhí)行l(wèi)l發(fā)現(xiàn)好多好多文件,這樣對我要查找需要的文件來說實在是太麻煩了审葬,沒有一目了然的感覺了深滚,于是我rm –rf /root/和rm –f/root/將/root/目錄下的所有文件都刪除了,當時以為這樣式正常的刪除涣觉,沒有什么副作用痴荐。但是,以后問題就來了官册,發(fā)現(xiàn)只要su到root用戶下面去就會出現(xiàn)-bash-4.2#開頭的命令行生兆,以前的是[root@localhost~]#,這肯定有問題啊膝宁,雖然后面的命令不會受影響鸦难,但是前面的路徑看不到了,這是很難受的员淫!
于是百度合蔽,發(fā)現(xiàn)了原來是因為/root/下面的隱藏文件“.bash_profile”文件丟掉了,到這兒才發(fā)現(xiàn)是刪除/root/下的文件的時候介返,是全部刪掉了的拴事,沒有注意到隱藏文件。到了這兒問題就明顯了圣蝎,好了刃宵,接下來就是修復這個問題了!但是在修復前有個問題就是網(wǎng)上一些說直接從普通用戶家目錄下面復制.bash_profile文件到/root/目錄下面就可以了徘公,但是測試后不可以牲证,原先很簡單,就是兩個文件不一樣关面。我們先來看看普通用戶user1和user2下的.bash_profile文件是不是一樣的:
[root@localhost ~]# vimdiff/home/user1/.bash_profile/home/user2/.bash_profile
結果發(fā)現(xiàn)普通用戶之間是相同的坦袍,那么我們再看看root用戶和普通用戶之間是否也一樣呢?[root@localhost ~]# vimdiff.bash_profile/home/user1/.bash_profile
這是截圖缭裆,看出不同了吧键闺,所以要從普通用戶復制.bash_profile過來,還要修改一點文件的澈驼,就是將紅色區(qū)域刪除辛燥,就是刪除“.local/bin:$HOME/”就可以了。
好了,到這兒了挎塌,原理文件都說的差不多了徘六,接下來就是模擬出錯環(huán)境和恢復過程:
首先在沒有刪除/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
結果發(fā)現(xiàn)是有“.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文件環(huán)境嘴高,接下來我們就看看丟了這個文件的后果:
[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~袄琳,發(fā)現(xiàn)又恢復了,到這兒就徹底解決了燃乍!