删除或移至垃圾箱

删除或移至垃圾箱

如果我选择十几个文件并选择“移至废纸篓”,则整个过程需要近一分钟才能完成。如果我选​​择“删除”,这些文件就会立即消失。

既然在本质上,它们或多或少都是相同的更改或删除指针的过程,为什么时间会有差异?有没有办法加快“移至废纸篓”的速度?

  操作系统:Kubuntu 22.04
  KDE Plasma 版本:5.24.7
  KDE 框架版本:5.92.0
  Qt 版本:5.15.3
  内核版本:6.2.0-36-generic (64 位)
  图形平台:X11
  处理器:4 × Intel Xeon CPU E31225 @ 3.10GHz
  内存:15.5 GB RAM
  图形处理器:NVIDIA GeForce GTX 1650/PCIe/SSE2

答案1

既然从本质上讲,它们都是更改或删除指针的相同过程,那么为什么时间会有差异呢?有没有办法加快“移至废纸篓”的速度?

这是一个错误的假设。在 Linux ext4 文件系统上,删除文件比在同一卷上移动文件花费的时间更长,因为每个过程涉及的操作不同。

删除文件涉及以下步骤:

  1. 取消文件链接:这将从目录结构中删除对该文件的引用,使其对用户不可见。

  2. 将数据块标记为空闲:之前用于存储文件内容的数据块被标记为空闲,表示其他文件可以使用它们。但是,此时数据本身实际上并未从磁盘中删除。

  3. 更新文件系统元数据:文件系统元数据(用于跟踪文件的位置和大小)已更新以反映已删除的文件。

在同一卷上移动文件时,只需取消文件链接(步骤 1),然后将其重新链接到新位置。

  1. 取消文件链接:这将从目录结构中删除对该文件的引用,使其对用户不可见。

  2. 链接文件:这会使文件在目录结构中的新位置可见。

相关内容