linux误删文件怎么恢复 linux如何恢复刚删除的文件
- 前端设计
- 2023-08-13
- 363
大家好,如果您还对linux误删文件怎么恢复不太了解,没有关系,今天就由本站为大家分享linux误删文件怎么恢复的知识,包括linux如何恢复刚删除的文件的问题都会给大...
大家好,如果您还对linux误删文件怎么恢复不太了解,没有关系,今天就由本站为大家分享linux误删文件怎么恢复的知识,包括linux如何恢复刚删除的文件的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
如何恢复LINUX中意外删除的文件
当进程打开某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。除了该进程之外,这个文件是不可见的,因为已经删除了其相应的目录索引节点。在这种情况可以通过lsof来恢复这些文件。
在/proc目录下,其中包含了反映内核和进程树的各种文件。/proc目录挂载的是在内存中所映射的一块区域,所以这些文件和目录并不存在于磁盘中,因此当我们对这些文件进行读取和写入时,实际上是在从内存中获取相关信息。大多数与lsof相关的信息都存储于以进程的PID命名的目录中,即/proc/12中包含的是PID为12的进程的信息。每个进程目录中存在着各种文件,它们可以使应用程序简单地了解进程的内存空间、文件描述符列表、指向磁盘上的文件的符号链接和其他系统信息。lsof程序使用该信息和其他关于内核内部状态的信息来产生其输出。所以lsof可以显示进程的文件描述符和相关的文件名等信息。也就是我们通过访问进程的文件描述符可以找到该文件的相关信息。
下面举例说明
我/tmp目录下创建了脚本文件,时刻在后台运行,但是tmp目下会被系统定时删除的,但犯懒不想重写脚本,想把原来的找回,具体步骤如下。
1.查看已经被删除的文件diamon.sh,已经不存在了
[root@centos5~]#ll/tmp/
total28
-rw-r--r--1rootroot402Sep2614:19load_tab.sh
srwxrwxrwx1mysqlmysql0Sep1615:20mysql.sock
drwx------2rootroot4096Oct1215:44ssh-hiPBw10887
drwx------2rootroot4096Oct1016:12ssh-lUXbjf6337
2.使用lsof来查看当前哪个进程正在打开文件”/tmp/diamon.sh“
[root@centos5~]#lsof|grepdiamon
sh8455root255rREG253,0173764298/tmp/diamon.sh(deleted)
[root@centos5~]#
从上面的输出可以看到,进程8455正在以只读的方式打开这个文件,打开的文件描述符为255,同时文件/tmp/diamon.sh被标记删除。然后我查看文件"/proc/8455/fd/255"
[root@centos5~]#more/proc/8455/fd/255
#variables
dir=/tmp
while(true)
do
v_num=`ps-ef|grepload_tab|grep-vgrep|wc-l`
if[$v_num-lt4];then
sh/tmp/load_tab.sh>/dev/null2>&1&
fi
done
[root@centos5~]#
3.已经找到已经被删除的文件了吗然后利用I/O重定向将其恢复到指定文件中,如下
[root@centos5~]#cat/proc/8455/fd/255>/tmp/diamon.sh
检查文件已经被恢复了
[root@centos5~]#ll/tmp
total36
-rw-r--r--1rootroot173Oct1216:53diamon.sh
-rw-r--r--1rootroot402Sep2614:19load_test10.sh
srwxrwxrwx1mysqlmysql0Sep1615:20mysql.sock
drwx------2rootroot4096Oct1215:44ssh-hiPBw10887
drwx------2rootroot4096Oct1016:12ssh-lUXbjf6337
[root@centos5~]#
查看恢复的文件内容是否正常
[root@centos5~]#
[root@centos5~]#more/tmp/diamon.sh
#variables
dir=/tmp
while(true)
do
v_num=`ps-ef|grepload_test|grep-vgrep|wc-l`
if[$v_num-lt4];then
sh/tmp/load_test10.sh>/dev/null2>&1&
fi
done
[root@centos5~]#
至此linux恢复删除文件成功结束
总结:
A.在文件被删除时,不要慌,尽可能保存现场
B.对于某些数据库文件被误删除很有效
linux怎么找回删除的文件的操作ip
1、打开linux服务器,然后在linux桌面的空白处点击右键。
2、在弹出的下拉选项里,直接点击【打开终端】。
3、打开linux服务器的命令终端后,在这里就可以使用获取ip地址命令。
4、输入查询linux的ip地址的命令:ifconfig-a,然后回车。
5、使用查看linux的ip地址命令后,就会在终端命令窗口里显示出ip地址。
群晖删除文件不会恢复空间
1.删除了文件没清理回收站
控制面板-系统-计划任务-新增计划任务-回收站默认就行,每天0点自动清理。或直接手动清理即可。
2.同步软件版本控制一般设置5即可,有些同步软件即使删除了原文件和清空了回收站,但空间还是没有释放,因为有历史版本自动备份。如driver,cloudstation等。
可以控制面板-终端启用ssh服务。用putty,xshell等软件连接服务器,用root登录服务器。
cd/volume1[按Enter](变更目录到/volume1或您需要的目录)
du-h-d1[按Enter](列出第一层子文件夹所占用的空间)
通过此方式您即可找出哪个文件夹或档案占用了大量的磁盘空间。如果@cloudstation文件夹占用了很多空间,请停止通过CloudStation来同步您的共享文件夹。如果@synlogydriver文件夹专用了很多空间,可以通过driver管理控制台,先计算使用空间,通过版本资源管理器,操作-清除版本数据库即可释放空间。注意查看角色是不是你删除文件的用户,切换到你删除过文件的用户下。操作-显示删除文件,会发现刚才删除的文件还存在。没有彻底删除掉。可通过清除版本数据库即可释放空间。
可以适当的设置几个版本,在团队文件夹下-版本控制-设置5个以下即可。
注:如果使用linux命令删除文件,资料将会丢失,请慎用!
linux 怎样无提示删除文件
1、第一步,先登录linux的服务器。
2、接着在任选一个目录下,新建一个a.txt。
3、rm指令用法:rm-rfa.txt,其指令是可强制删除所选的目录以及文件。
4、接着我们来执行一下,其便删除了。
5、假设删除时,不加上-f,在执行的时候,它就会提示石够删除,输入y是确定,n是取消,再加回车键。
linux中能删除能再打开的文件吗
能,在回收站,可以重新下载打开文件
linux误删文件怎么恢复的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux如何恢复刚删除的文件、linux误删文件怎么恢复的信息别忘了在本站进行查找哦。
本文链接:http://xinin56.com/qianduan/770.html