问题发生经过:
由于学校里有开设linux的课程,所以今天晚上就照着老师给的ppt,执行以下命令,来熟悉一下。
当里面提到tr命令的时候,我就那/etc/passwd文件来用了。用的时候,我就有不良的预感,然后就出事情了。
这个文件的重要性,我想大家都知道,所有用户信息都存在里面。
本来想执行的命令是
>> tr 'a-z' 'A-Z' < /etc/passwd
结果执行成
>> tr 'a-z' 'A-Z' > /etc/passwd
当里面提到tr命令的时候,我就那/etc/passwd文件来用了。用的时候,我就有不良的预感,然后就出事情了。
这个文件的重要性,我想大家都知道,所有用户信息都存在里面。
本来想执行的命令是
>> tr 'a-z' 'A-Z' < /etc/passwd
结果执行成
>> tr 'a-z' 'A-Z' > /etc/passwd
<和>命令刚好相反,一个是读取文件,一个是写入文件。
所以/etc/passwd文件被我进行了写操作,而前面操作是没有输出结果的,所以/etc/passwd文件被我清空了。
解决方法:
由于我使用的RadHat操作系统,在/etc目录下有个passwd-文件,会作为/etc/passwd的备份。
所以我们只要将passwd-里的内容,拷贝到passwd里面,就行了。CentOS跟redHat应该是是一样,别的linux操作系统,我就不清楚了。
[root@localhost fffd]#
cp /etc/passwd- /etc/passwd
cp: overwrite `/etc/passwd'? y
cp: overwrite `/etc/passwd'? y
[root@localhost fffd]#
vim /etc/passwd
可以发现passwd文件恢复成功。