history|grep rm
如果是程序或者进程后台进行删除的文件,或者系统内部删除的文件,也就无法通过上面的方法查找到最近删除的文件了,
但是如果删除的文件是在linux系统的ext2文件系统下的话,也可以使用debugfs命令来查看删除的文件:
1,首先查看需要恢复的文件所在的文件系统
命令行模式下输入指令mount
[xuwangcheng14@root]# mount
/<a href="https://www.baidu.com/s?wd=dev&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YduAFWnHf4P1RsuWK9Pj7-0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWc4n1DvnjDL" target="_blank" class="baidu-highlight">dev</a>/xvda1 on / type ext2 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,no<a href="https://www.baidu.com/s?wd=dev&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YduAFWnHf4P1RsuWK9Pj7-0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWc4n1DvnjDL" target="_blank" class="baidu-highlight">dev</a>)
sysfs on /sys type sysfs (rw,noexec,nosuid,no<a href="https://www.baidu.com/s?wd=dev&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YduAFWnHf4P1RsuWK9Pj7-0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWc4n1DvnjDL" target="_blank" class="baidu-highlight">dev</a>)
由上知,/dev/xvda1挂载在/下,即根目录,且文件系统是ext2
2,将被删除的文件所在的分区重新挂载成只读
[xuwangcheng14@root]# mount -n -o remount,ro /dev/xvda1
3,使用debugfs工具查找删除的文件和恢复文件
[xuwangcheng14@root]# debugfs /dev/xvda1
debugfs 1.42 (29-Nov-2011)
debugfs: lsdel
进入debugfs模式后输入lsdel后可以看到被删除的文件信息
stat显示某个节点所对应的文件信息,
恢复文件使用dump 文件路径。
linux中删除一个用户 userdel。
-r:连同家目录和邮箱一起删除。
当 useradd 新建一个用户的时候,系统会在几个路径下新建几个用户同名的文件或目录,以便记录用户专属资料。这几个地方分别是:
/etc/passwd:记录了用户的账号信息;
/etc/shadow:记录了用户对应的密码信息;
/etc/group:记录了组用户的信息;
/etc/gshadow:记录了组用户的密码信息;
/home/username:用户的家目录;
/var/spool/mail/username:用户的邮箱目录;
1、首先创建一个用户,查看相关目录下是否生成对应的文件 或 目录。
创建 test01 用户,/etc/passwd 生成了 test01 的账户信息。
/etc/shadow 生成了 test01 的密码信息。
/etc/group 生成了 test01 的组用户的信息。
/etc/gshadow 生成了 test01 的组用户的密码信息。
/home/ 目录生成 test01 的家目录。/var/spool/mail/ 目录生成了 test01 的邮箱文件。
综合上述,创建一个用户会在相关路径下生成对应的文件 和 目录用以作信息记录。
2、用 userdel -r userneme 删除一个用户,查看相关目录下是否删除对应的文件 或 目录。
/etc/passwd 删除了 test01 的账户信息。
/etc/shadow 删除了 test01 的密码信息。
/etc/group 删除了 test01 的组用户的信息。
/etc/gshadow:删除了组用户的密码信息。
/home/ 目录删除 test01 的家目录。/var/spool/mail/ 目录删除了 test01 的邮箱文件。
综合上述,userdel -r 删除一个用户会把相关路径下对应的文件 和 目录都删除掉。
tips:如果 userdel 删除一个用户并没有加 -r 选项。用户的 /home/ username 目录 和 /var/spool/mail/usename 文件不会删除。并且,想创建同名的用户也不能创建。
创建 test02 用户进行测试。同样的,创建完 test02 用户后,相应的路径都会产生对应的文件 和目录。
userdel test02 删除 test02 用户(没有加上 -r 选项)。
/etc/passwd 删除了 test02 的账户信息。
/etc/shadow 删除了 test02 的密码信息。
/etc/group 删除了 test02 的组用户的信息。
/etc/gshadow:删除了 test02 的组用户的密码信息。
/home/ 目录还存在 test02 的家目录。/var/spool/mail/ 目录还存在 test02 的邮箱文件。
综合上述,userdel 删除一个用户。不会删除该用户的家目录 和 邮箱文件。
在这个情况下,再次创建同名的用户(test02)将会提示失败。这里提供了两个重要信息:
useradd: warning: the home directory already exists:home 目录已经存在。
Creating mailbox file: File exists:邮件文件已经存在。
通过系统提示已知是/home/ 和 /var/spool/mail/ 存在旧的 test02 文件和目录而导致创建新的test02 用户失败。因此我们要把旧的 test02 就的文件 和 目录删除。
红色下划线:find / -name test02,从根目录开始搜索名为 test02 的文件和目录。得出具体的存放路径。
黄色框:删除路径下的文件 和 目录。
蓝色下划线:重新创建 test02 用户成功。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)