linux 查看文件被谁删除的
可以使用ps -fe|grep filename,也可以使用fuser filename查看
只查看该进程:ps -ef | grep 11345
查看该进程打开的文件:lsof -p 11345
查看内存分配:lcat /proc/11345/maps
查看堆栈:pstack 11345
查看发出的系统调用:strace -p 11345
查看调用库函数:ltrace -p 11345
11345是进程号
如果只是想要查看最近用户使用删除命令删除的文件,其实可以使用history命令,该命令可以显示最近一段时间内执行过的操作命令,然后利用grep筛选出来:
history|grep rm
如果是程序或者进程后台进行删除的文件,或者系统内部删除的文件,也就无法通过上面的方法查找到最近删除的文件了,
但是如果删除的文件是在linux系统的ext2文件系统下的话,也可以使用debugfs命令来查看删除的文件:
1,首先查看需要恢复的文件所在的文件系统
命令行模式下输入指令mount
[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,将被删除的文件所在的分区重新挂载成只读
[xuwangcheng14@root]# mount -n -o remount,ro /dev/xvda1
3,使用debugfs工具查找删除的文件和恢复文件
[xuwangcheng14@root]# debugfs /dev/xvda1debugfs 1.42 (29-Nov-2011)debugfs: lsdel
进入debugfs模式后输入lsdel后可以看到被删除的文件信息
stat显示某个节点所对应的文件信息,
恢复文件使用dump 文件路径。
1、在系统启动时自动启动系统帐户管理进程(acctadm)
2、用lastcomm显示用户在系统中执行的指令。
巴叶云南: 如果只是想要查看最近用户使用删除命令删除的文件,其实可以使用history命令,该命令可以显示最近一段时间内执行过的操作命令,然后利用grep筛选出来:history|grep rm 如果是程序或者进程后台进行删除的文件,或者系统内部删除的文件...
龙山区19429966473: linux 如何查看哪个用户删除了文件 - ?
巴叶云南: 这个看不到的,只能看到这个目录最后的修改时间,来判断谁有这个目录的修改权限.
龙山区19429966473: linux怎么看有没有一个文件被删除 但是还被某个进程锁定呢? - ?
巴叶云南: 进程A删除了文件B,在进程A退出之前,文件B的空间并没有被释放(由于进程A还拿着文件的引用计数).楼主是不是在关心这种情况?可以使用lsof | grep deleted命令来查看 如果知道进程的id,可以ls -l /proc/<pid>/fd查看到被删除但还没有释放的文件
龙山区19429966473: linux 查找谁操作过文件 - ?
巴叶云南: 如果是要查询是谁操作过文件可以 echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile 然后用history 查看 如果是需要查询被动过的文件可以 find /xx -mtime -2 在/home下查最近两天内改动过的文件 find /xx -atime -1 查1天之内被存取过的文件 find /xx -mmin +60 在/home下查60分钟前改动过的文件 find /xx -amin +30 查最近30分钟前被存取过的文件 xx 代表你需要查询的目录.你也可以直接用 / 但是这样查询量太大..影响资源使用.
龙山区19429966473: linux中误操作误删除怎么恢复?
巴叶云南: linux下可以通过debugfs来恢复rm误删除的文件,原理主要是删除的文件并没有实际上从硬盘上摸去,只是inode索引删除了相关的信息,因此只要找到刚删除文件的block上,就可以恢复已经删除的文件. 以下方法在ext3的文件系统上测试通过...
龙山区19429966473: linux 所有“.”文件被删怎么办? - ?
巴叶云南: 曾经看过的误删恢复,对你可能有帮助 恢复被误删文件的方法大多数Linux发行版都提供一个debugfs工具,可以用来对Ext2文件系统进行编辑操作.不过在使用这个工具之前,还有一些工作要做.首先以只读方式重新挂载被误删的文件所在...
龙山区19429966473: linux怎么恢复删除过的文件在哪里 - ?
巴叶云南: 作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的.尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据.不过,对于家庭单机使用的...
龙山区19429966473: 如何恢复linux下被rm后的文件 - ?
巴叶云南: linux的文件被rm删除是可以通过linux自带的文件恢复工具debugfs来进行恢复,但是只能恢复ext2文件系统的文件,不能恢复ext3文件系统的文件. 1,首先查看需要恢复的文件所在的文件系统 命令行模式下输入指令mount [xuwangcheng14@root...
龙山区19429966473: linux怎样把删除的文件恢复 - ?
巴叶云南: 原理主要是删除的文件并没有实际上从硬盘上抹去,只是inode索引删除了相关的信息,因此只要找到刚删除文件的block上,就可以恢复已经删除的文件. 以下方法在ext3的文件系统上测试通过,ext2的没有测试过.假设删除的文件在dir下面,...
龙山区19429966473: 在Linux下如何恢复被删除的文件?如何避免误删除? - ?
巴叶云南: 要想恢复被误删除的文件,一个解决办法是用MC(Midnight Commander).百它有个Undelete 功能可度以找到ext2文件系统上被删掉的i-node, 但是它无法恢复文件知名道 我们可以设置Tcsh来阻止使用rm命令删除文件.Tcsh有一个参数set rmstar,将它设置在.cshrc文件中.以后每次当使用rm命令删除文件时,系统都会要求进专行确认,这样可以避免误删除操作.关于Linux文件部分的知识,请参考书籍《Linux就该这么学》属