首页 > 编程知识 正文

linux刷新磁盘的命令,如何磁盘碎片整理

时间:2023-05-03 15:23:00 阅读:57374 作者:1849

如何在Linux上对磁盘进行碎片整理

有神话说linux的磁盘不需要碎片整理。 很多时候,这是真的。 这是因为它经常使用很好的日志文件系统(ext3、4等)来处理文件系统。 但是,在一些特殊情况下,碎片仍然会发生。 如果碰巧发生在你身上,解决方法很简单。

什么是磁盘碎片

文件系统按块更新文件。 如果这些块不整齐且分布在磁盘的各个角落,则会发生磁盘碎片。 这适用于FAT和FAT32文件系统。 在NTFS中这种情况有所减轻,但在Linux(extx )中很少发生。 理由如下。

在文件系统(如FAT和FAT32 )中,文件刚写入磁盘。 文件之间没有用于增长和更新的空间:

NTFS在文件之间留有空间,因此有空间进行扩展。 然而,块之间的空间有限,碎片也随时间出现。

Linux基于日志的文件系统采用了不同的方案。 与文件相邻不同,每个文件分布在磁盘的各个位置,每个文件之间有大量可用空间。 这给文件更新和增长留下了很大的空间,很少出现碎片。

此外,出现碎片时,大多数Linux文件系统会尝试使文件和块连续。

Linux上的磁盘整理

Linux很少需要整理磁盘,除非你使用的是小硬盘,或者空间不够用。 需要整理磁盘时,如下所示。

如果正在编辑大视频文件或原始照片,且磁盘空间有限

使用旧硬件(如旧笔记本电脑)会使硬盘变小

当你的磁盘开始装满时(使用了约85% )。

如果你家目录上有很多小分区

最好的解决办法是购买大硬盘。 如果不可能,磁盘碎片整理会有帮助。

碎片的检查方法

fck命令会为你做这个。 换句话说,如果它可以在实时光盘上运行,则可以用于所有卸载的分区。

这是很重要的。 在装载的分区上运行fsck可能会严重危害数据和磁盘。

你已经被警告了。 首先,创建完整的备份。

免责声明:本文的作者和本站对您的文件、数据、系统或其他损害不承担责任。 你需要自己承担风险。 如果你继续下去,你需要接受和理解它。

必须启动实时会话(如安装盘、系统救援光盘等),并在卸载的分区上运行fsck。 要检查是否存在问题,请使用root权限运行以下命令:

fck-fn [/path/to/your/partition ]

可以运行以下命令来找到分区的路径

sudo fdisk -l

在装载的分区上运行fsck (相对)安全的一种方法是使用-n开关。 这将在只读文件系统中检查分区,不写入任何内容。 当然,这并不能保证足够的安全性。 必须在创建备份之后进行。 在ext3中,执行

sudo fsck.ext3-fn/path/to/your/partition

这将生成大量的输出。 大多数错误消息的原因是分区已装载。 最后提供有关碎片的信息。

碎片率超过20%后,应该开始整理磁盘碎片。

如何在Linux上轻松进行碎片整理

你必须将你的所有文件和数据备份到另一个硬盘(手动复制他们),格式化并重新复制分区(不要使用备份软件)。 基于日志的文件系统将它们视为新文件,并有序地放置在磁盘上,而不会出现碎片。

要备份文件,请运行

CP-afv [/path/to/source/partition ]/* [/path/to/destination/folder ]

记住星号(* )很重要。

注意:通常,在复制大文件或大量文件时,使用dd可能是最好的选择。 这是一个非常基本的操作,复制一切,包括可用空间和剩下的垃圾。 这不是我们想要的,所以在这里最好用cp。

现在只需要删除源文件。

SDO RM-RF [/path/to/source/partition ]/*

可选:可以使用以下命令用零填充可用空间: 虽然可以按格式执行此操作,但如果只是复制大文件而不是复制整个分区,则通常会将其分段。 不应该使用格式化方法。

sdoddif=/dev/zero of=[/path/to/source/partition ]/temp-zero.txt

我等那个结束。 可以通过pv监视进展情况。

sudo apt-get install pv

sudo PV-TPR EB|of=[/path/to/source/partition ]/temp-zero.txt

这就完成了,只要删除这个用于填充的临时文件就行。

sudo rm [/path/to/source/partition]/temp-zero.txt

待你清零了空闲空间(或者跳过了这步)。重新复制回文件,将第一个cp命令翻转一下:

cp -afv [/path/to/original/destination/folder]/* [/path/to/original/source/partition]

使用 e4defrag

如果你想要简单的方法,安装 e2fsprogs,

sudo apt-get install e2fsprogs

用 root 权限在分区中运行 e4defrag。如果你不想或不能卸载该分区,你可以使用它的挂载点而不是路径。要整理整个系统的碎片,运行:

sudo e4defrag /

在挂载的情况下不保证成功(你也应该在它运行时不要使用你的系统),但是它比复制全部文件再重新复制回来简单多了。

总结

linux 系统中由于它的日志型文件系统有效的数据处理很少会出现碎片。如果你因任何原因产生了碎片,简单的方法是重新分配你的磁盘,如复制出去所有文件并复制回来,或者使用e4defrag。然而重要的是保证你数据的安全,因此在进行任何可能影响你全部或者大多数文件的操作之前,确保你的文件已经被备份到了另外一个安全的地方去了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。