当前位置:首页 > 前端设计 > 正文

linux误删文件怎么恢复 linux如何恢复刚删除的文件

linux误删文件怎么恢复 linux如何恢复刚删除的文件

大家好,如果您还对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误删文件怎么恢复的信息别忘了在本站进行查找哦。

最新文章