本篇文章给大家谈谈linux上误删怎么恢复,以及linux删除文件怎么恢复对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、linux 系统 /bin文件误删恢复
- 2、linux不小心删除文件后怎么恢复
- 3、linux 误删除文件了怎么恢复?
- 4、如何在 Linux 中恢复已删除的文件-
- 5、如何在Linux系统中恢复误删除的文件
- 6、Linux中误删除libselinux恢复方法
1、linux 系统 /bin文件误删恢复
拿到了新linux服务器,开心地操作linx,行云流水地搭建了nginx前端代理服务,并在nginx服务中部署前端应用。心里开始有点膨胀,于是就乐极生悲,有了这个蛋疼的操作,将linx系统根目录下的bin文件夹中的内容全部给删除了,(当时脑子短路了有一分多钟,心里直冒冷汗)。
误操作过程: 部署前端应用的流程是,先将nginx应用根目录下html文件夹中已经部署的旧版本删除,在删除前端项目时,因为有历史操作,所有没有仔细看文件夹路径,直接ctrl-A删除了当下目录中的所有文件。(前端应用是angular2项目,build出来的项目,所有有文件都是同一级目录,文件有点多,且每个文件名都是随机生成的)。
使用xftp,需要先将html文件夹中的内容全部删除,因为已经操作过这个步骤,所以想当然的以为打开xftp会默认打开html文件夹。于是在操作过程中,直接将xftp默认打开的文件夹下的所有文件给删除了(默认在bin目录)。删除那一瞬间感觉删除文件不对,查看目录路径,果然错了。
当时所有文件都已经删除了,ctrl+c已经迟了。。。
先了解了一下bin目录下文件内容的作用:bin文件夹下的内容文件为常用的shell命令,在下面的截图中可以看到:cat,chmod,cp,login... 等常用命令。看到login也在里面,感觉有点不妙,会不会是这台服务器已经不能再远程登录了?黑人脸问号.png。
使用ssh测试远程连接,果然连接不上了。于是网上搜索补救措施,看了好多网上教程,好多都是使用ssh连接(在没有关闭ssh连接的前提下操作),远程恢复的。网络上的恢复教程大致是: 从其他的相同的linux操作系统中复制一份bin文件到已经删除的linux系统中。 但远程ssh登录不了,复制不了文件到这个linux系统中。但是想到有xftp还没有关闭连接,于是就打算采用这个xftp恢复bin目录。
使用虚拟机软件,创建一台相同liunx版本的系统,再将系统中bin文件夹中的内容复制一份。并使用xftp将bin文件内容复制到删除的目录中。
重新测试ssh远程登录连接系统,结果还是不行。继续思考为什么会不行。想到会不会是文件权限引起的问题,还好xftp可以查看文件权限,果然有这个问题,xftp复制进系统的文件权限只有只读权限,可bin目录下的文件都是需要执行权限的啊。还好xftp可以修改文件权限,于是有了以下的修改权限的截图。绿色的文件代表可以执行,也就说先将以下的的文件中比较重要的文件(绿色的文件,修改权限前文件为灰色)权限改为755。然后再ssh远程登录系统,果然ok,可以登录且可以操作系统。接下来将bin文件夹中的所有文件权限改为 755,恢复完成。
2、linux不小心删除文件后怎么恢复
文件被误删了之后,先停止其他文件的相关操作,以免影响到恢复工作,然后判断文件的删除方式是普通删除还是永久删除,如果是普通删除的话可以打开回收站进行文件的恢复,如果是永久删除的话,那么可以借助到专业的数据恢复软件来进行恢复文件的工作,具体如下:
步骤一;在该电脑的常用浏览器上搜索【强力数据恢复软件】,找到安装包进行下载,再完成相关的安装操作,之后点击【立即体验】按钮运行软件。(下载和安装路径不要和误删文件所在分区重合)
步骤二:软件一共有三种的恢复选项:快速扫描、深度扫描、分区恢复,每种选项都可以帮助用户更为精确的对误删的文件进行相关的恢复操作,这里根据实际情况以及选项的描述选择【深度扫描】即可。
步骤三:之后界面显示有读取到的电脑分区信息,在其中找到误删文件所在的分区勾选上,之后点击【开始扫描】按钮,用户就对分区进行数据的扫描工作了,耐心等待完成即可。(如果知晓误删文件格式,可点击【文件设置】按钮自定义扫描文件格式后再开始扫描工作)
步骤四:扫描结束之后,在界面左侧找到删除文件对应的格式点击,右侧就显示有具体的文件信息了,在其中找到被删除文件勾选上,之后点击【下一步】按钮。(双击可放大文件,更好的确定是否为需要的文件)
步骤五:点击【浏览】按钮选择好恢复文件的存储位置后,点击【恢复】按钮来进行不小心文件恢复工作的最后一步工作,恢复完成之后弹出提示框,点击【确定】按钮即可查看到恢复后的误删文件了。
3、linux 误删除文件了怎么恢复?
如果不是在终端或者程序中删除的,可以在回收站中查找。如果是在终端或程序中删除,一般找不回来了。
4、如何在 Linux 中恢复已删除的文件-
这曾经发生在你身上吗?你意识到你错误地删除了一个文件---要么通过 Del 键,要么在命令行中使用 rm 。
在第一种情况下,您可以使用 回站站 (GNOME界面),然后将其恢复到原始位置。但是第二种情况呢?我相信你可能知道,Linux 命令行不会将删除的文件发送到任何地方,而是直接 删除 它们。
该 -i 选项与 rm 一起使用时在删除文件之前会出现提示。此提示让您有第二次机会考虑是否真的要删除文件 ,但此提示不会保护您免受自己的粗心大意删除文件,它只是给你提供了二次确认的机会。
要将 rm 替换为别名 'rm -i' ,请执行以下操作:
alias 命令将确认 rm 现在是别名:
但是,这只会在当前 shell 中的当前用户会话期间持续。要使更改永久生效,您必须将其保存到 ~/.bashrc (某些发行版可能会使用 ~/.profile ),如下所示:
[
为了使 ~/.bashrc (or ~/.profile ) 中的更改立即生效,请从当前 shell 获取文件:
[
在日常的系统操作,请小心的你文件,但是,如果您意识到您不小心删除了系统中的文件并且惊慌失措,别担心,此工具会轻松帮你找回误删除的文件!
CentOS/RHEL 7,是目前在生产环境见到的使用最广泛的版本,下面展示在 CentOS/RHEL 7 中的安装过程
命令展示:
选项释义:
1、安装完成后,让我们进行一个简单的测试
首先我们将 xihu.jpg 从 /boot/images 目录中删除:
2、执行恢复
要恢复它,首先按如下方式使用(您需要首先识别底层分区 -在这种情况下 /dev/sda1 就是 /boot 所在的分区):
3、查看恢复情况
查看一下审计文件
从输出内容来看,文件被成功恢复。
其中 /home/rescue 是单独磁盘上的目录 - 请记住,在已删除文件所在的同一驱动器上恢复文件不是明智之举。
如果在恢复过程中,您占用已删除文件所在的相同磁盘扇区,则可能无法恢复任何内容。此外,必须在执行恢复之前停止所有活动。
在 foremost 完成执行后,恢复的文件(如果可以恢复)将在 /home/rescue/jpg 目录中找到。
在本文中,我们解释了如何避免意外删除文件以及在发生此类意外事件时如何尝试恢复文件。但是请注意,根据分区的大小,最终可能需要运行很长时间。
5、如何在Linux系统中恢复误删除的文件
方法/步骤
1
安装extundelete工具并验证是否安装完好,
下载extundelete-0.2.4.tar.bz2安装包,
2
解压
tar xf extundelete-0.2.4.tar.bz2
3
预安装
./configure
若报错信息为configure: error: Can't find ext2fs library,
说明未安装extundelete的依赖包e2fsprogs
4
安装依赖包:
yum install –y e2fsprogs-devel
5
执行make make install命令,这样就完成了extundelete的安装。
6
能够正确显示软件版本号,应该没什么问题。
7
模拟事故现场——创建一个新分区并挂载
在Vmware中新增一块硬盘,开机后通过lsblk查看一下(sdb)。
8
为新硬盘分区
9
格式化分区。
创建挂载点并挂载sdb1
模拟事故现场——拷贝一些文件或目录到sdb1
模拟事故现场——删除刚拷贝的东西
恢复数据——卸载设备(防止数据被写入)
这里出现个小问题,设备繁忙无法卸载,可通过fuser命令解决。
再次尝试卸载设备即可成功。
恢复数据——使用inode方式
查看被删文件inode号。
根据inode号对指定文件进行恢复。
验证恢复文件和原始文件的一致性。
md5值完全一致,恢复成功。
恢复数据——再试试文件名方式,
再次恢复成功,md5值完全一致。
20
恢复数据——把目录也恢复回来
步骤阅读
21
目录及包含的文件也全部恢复成功。
6、Linux中误删除libselinux恢复方法
Linux中误删除libselinux恢复方法
操作环境:CentOS7.5
背景:安装openssl-devel时报错:
Error: Protected multilib versions: libselinux-2.5-12.1.el7.x86_64 != libselinux-2.5-14.1.el7.x86_64卸载了libselinux-2.5-14.1.el7.x86_64导致服务器故障。 rpm -e --nodeps libselinux-2.5-14.1.el7.x86_64
执行命令报:
修复方法:需要拷贝一个libselinux.so.1文件到/lib64/目录下
一、不关机修复
1、在故障服务器启动一个rsync
2、在另一台CentOS7.5服务器启动一个客户端。
3、在故障服务器把客户端拷贝过来的文件在拷贝到/lib64/
二、关机修复
说明:服务器没有安装rsync,需要挂在系统版本镜像,重启服务器进入救援模式。
1、进入救援模式的方法,如图选择Troubleshooting,在选择rescue a CentOS system,输入1获得一个有读写权限的shell。
2、重新挂载下系统为读写权限
3、输入ls /lib64/libc.so.6命令查看是否有该文件(因为是光盘自带的系统,并没有挂载在根目录下,所以该文件没有被删除)
4、找到了所需要的文件,只需要把该文件复制到丢失文件的系统里就可以(系统被挂载到了/mnt/sysimage目录中)
cp /lib64/libc.so.6 /mnt/sysimage/lib64(把文件复制到丢失的文件系统里)
5、重启服务器恢复正常。
6、进入救援模式遇到报错情况处理:
进入以下界面时报:
the rescue environment will now attempt to find your linux installation and mount it under the directory : /mnt/sysimage. you can then make any changes you can choose to mount your file systems read-only instead of read-write by choosing 2 if for some reason this process does not work chroot 2
时不能选择1以读写的权限进入系统,只能选择2以只读的模式进入到系统。
重新挂载一个除了系统版本外的ISO镜像,在进入到救援模式后,选择1以读写的方式进入系统,拷贝libselinux.so.1文件到lib64目录下,在重新挂载系统本身版本ISO后就可以选择1以读写的模式进入系统重新拷贝libselinux.so.1文件。
7、重启进入系统时报:
解决方法:
1、系统启动的时候,按下‘e’键进入grub编辑界面,编辑grub菜单,选择“kernel /vmlinuz-XXXXro root=/dev/vogroup00/logvol00 rhgb quiet” 一栏,按‘e’键进入编辑,在末尾增加enforcing=0,即:
kernel /vmlinuz-XXXXro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0(其中enforcing=0是需要加上去的,其他不动)
按‘b’键继续引导,正常进入系统。
2、如果系统启动按e不能进入到grub界面,那就是libselinux.so.1文件不兼容导致服务器不能启动上来,需要重新进入救援模式把/mnt/sysimage/lib64/libselinux.so.1删除后重新拷贝一个文件进入重启服务器,正常进入系统。
关于linux上误删怎么恢复和linux删除文件怎么恢复的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。