Linux基础- Linux 删除文件

admin 2024-03-20 10:26 125人围观 ,发现125个评论

在Linux体系中,删去了文件,一般是不可逆的。即便有一些康复东西能够测验康复已删去的文件,但成功的几率并不高,特别是在文件的inode和数据块被掩盖之后。

一、删去文件的原因

开释磁盘空间

删去重复或不必要的数据以避免混杂

使其别人无法获取灵敏信息

删去操作体系或清空硬盘驱动器

删去文件需谨慎

二、删去文件原理

扼要阐明

Linux体系是经过link的数量来操控文件删去的,只有当文件不存在任何link的时期,这个文件才会被真实删去。

一般来说每个文件两个link计数器来操控:i_count和i_nlink。

当一个文件被一个程序占用的时期i_count就加1。当文件的硬链接多一个的时期i_nlink也加1。删去一个文件,便是让这个文件,没有进程占用,一起i_nlink数量为0。

没有进程占用,一起i_link数量为0

具体阐明

Linux删去文件的原理涉及到文件体系的工作方式以及文件的存储结构。在Linux中,文件体系运用inode和数据块来办理文件。

文件体系的组成:文件体系是用来安排和存储文件的一种结构。在Linux中,常见的文件体系如extextXFS等。文件体系由以下两个首要组成部分组成:

Inode(索引节点):每个文件在文件体系中都有一个相关联的inode。Inode记录了文件的元数据信息,如文件的权限、所有者、巨细、时刻戳等。当你创立一个文件时,会为该文件分配一个inode。

数据块:文件体系会将文件的实践内容分割成多个数据块,每个数据块的巨细一般是固定的(如4KB)。文件的数据块存储了文件的实践内容。

inode和数据块

删去文件的历程:当删去一个文件时,实践上是经过删去与文件相关联的inode来完成的,而不是当即删去数据块。以下是删去文件的大致历程:

用户删去文件:当用户履行删去操作时,文件体系会接收到删去文件的恳求。

收回inode:文件体系将文件的inode标记为“未运用”,以便将来新文件或许会重用这个inode。

开释数据块:文件体系并不当即开释文件的数据块,由于其他正在运用的文件或许依然须要这些数据块。数据块一般会在文件体系空间严重时被逐步收回。

真实删去:假如文件被删去的inode没有被其他文件运用,并且没有正在翻开的文件句柄指向它,文件体系或许会将这个inode和其相关的数据块彻底删去,并将相应的存储空间标记为可用。

三、康复误删去的文件

文件删去也是有办法康复

关于误删的文件,能经过软件康复过来的,误删文件一般分为两种状况:

删去文件被进程占用

Linux基础- Linux 删除文件

删去文件未被进程占用,只能借助于东西复原文件

进程占用文件

仅供给思路,经过lsof东西查找被文件占用的进程,ls-l检查进程目录/proc/pid/fd/,找到删去进行康复。

运用东西:losf,ls-l,cp

没有进程占用文件

其实最不期望产生这种状况,假如真产生请必须留意以下几点:

中止写入:中止地点设备的读入,卸载目录地点的设备;避免inode被掩盖,inode被掩盖基本就离别康复;

备份:对当时设备进行备份;

康复文件:运用康复东西查找误删去的文件进行复原(假如或许的话,最好运用另一个存储设备来装置康复东西);

中止写入--备份--康复文件

参阅操作:

经过umount指令,对当时设备分区卸载。指令umount/dev/sdb1;假如提示设备busy,能够用fuser指令强制卸载:fuser-m-v-i-k./

经过dd指令对当时分区进行备份,避免第三方软件康复失利导致数据丢掉,ddif=/dev/sdb1of=/backup/

下载第三方东西extundelete装置,查找误删去的文件进行复原

康复东西参阅:

在Linux体系中,有一些东西能够用来测验康复已删去的文件。这些东西运用文件体系中未被掩盖的磁盘空间来找回被删去文件的inode和数据块。请留意,康复已删去文件的成功率取决于多个要素,包含文件被删去后是否有新数据写入磁盘。

TestDisk:TestDisk是一个强壮的开源东西,能够用来康复删去的分区、修正磁盘表和康复文件。它支撑多种文件体系,能够在指令行下运用。

PhotoRec:PhotoRec是TestDisk的一部分,专门用于康复相片和其他类型的文件。它能够康复多种文件格局,包含相片、文档等。

extundelete:extundelete是一个专门用于康复extext3和ext4文件体系中删去文件的东西。它能够从已删去文件的inode信息和未掩盖的数据块中康复文件。

scalpel:Scalpel是另一个文件康复东西,类似于Foremost,能够在磁盘上查找并康复已删去的文件。

R-Linux:R-Linux是一个商业东西,供给图形界面,用于康复已删去的文件和文件夹。它支撑多种文件体系。

工欲善其事,必先利其器

不容错过