
假如使用命令 sudo useradd hello,它将进行创建用户并且复制骨架文件;现在我们把hello家目录进行删除, rm -rf /home/hello ,已经删除hello的家目录
现在在home下面进行创建hello的家目录
sudo mkdir /home/hello &&chown hello.hello /home/hello
退出ssh连接然后重新进行连接,发现显示不正常,然后一些命令也无法进行执行
进行恢复,把骨架目录进行恢复到hello的家目录
参考链接: http://blog.csdn.net/zhengwei125/article/details/51594048
linux的文件被删除是可以通过linux自带的文件恢复工具debugfs来进行恢复,但是只能恢复ext2文件系统的文件,不能恢复ext3文件系统的文件。1,首先查看需要恢复的文件所在的文件系统
命令行模式下输入指令mount
1
2
3
4
[xuwangcheng14@root]# mount
/dev/xvda1 on / type ext2 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
由上知,/dev/xvda1挂载在/下,即根目录,且文件系统是ext2
2,将要找回的文件所在的分区重新挂载成只读
(因为这样比较安全,可以防止因新的文件写入该分区而导致无法找回文件)
1
[xuwangcheng14@root]# mount -n -o remount,ro /dev/xvda1
如果不能重新挂载,那么一定有用户正在使用该分区中的文件,我们可以使用指令:fuser -m -v /dev/xvda1来查看当前哪个用户正在使用该分区中的文件,然后使用fuser -k -m -v /dev/xvda1来杀死用户使用该分区的任何进程。
3,使用debugfs工具恢复文件
1
2
3
[xuwangcheng14@root]# debugfs /dev/xvda1
debugfs 1.42 (29-Nov-2011)
debugfs: lsdel
进入debugfs模式后输入lsdel后可以看到被删除的文件信息
stat显示某个节点所对应的文件信息,
恢复文件使用dump 文件路径。
如果被删除的文件很多,那么通过lsdel可看出文件的时间,然后自己判断进行恢复。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)