Linux 中的 /dev/zero 是什么?

在 Linux 中,设备文件非常特殊,因为它们提供与设备驱动程序接口的应用程序,其中还包括 /dev/zero.

因此,在本文中,我将向您介绍它是什么以及它的用途。

Linux 的零生成器

是的,你猜对了!

/dev/null 是一个虚拟文件,用于创建用零填充的文件。

但是为什么要创建一个用零填充的文件呢? 好吧,有多种用例可以用零对文件进行核对。 如:

  • 格式化驱动器并用零填充空间以覆盖旧数据。
  • 为实验创建虚拟文件。
  • 创建临时交换文件。

听起来不错。 正确的?

那么让我们来看看如何使用这个强大的实用程序。

如何使用 /dev/zero

在这里,我将向您展示 /dev/zero 的两个用例:

  1. 用零格式化磁盘分区。
  2. 创建虚拟文件。

因此,让我们从创建一个用零填充的虚拟文件开始。

如何在 Linux 中创建虚拟文件

要创建虚拟文件,您需要遵循给定的命令语法:

dd if=/dev/zero of=Filename bs=Block_Size count=sets_of_blocksize

这里,

  • of=Filename 是您可以指定要创建的文件的路径和名称的地方,
  • bs=Block_size 是您输入每个块的大小的地方,例如 1MB。
  • count=sets_of_blocksize 是您必须指定块大小的计数的地方。 例如,如果你想创建一个 1 GB 的文件,你将使用 1Mb 块并将计数设置为 1024。

为了 example,在这里我创建了一个名为 Dummy 价值100MB:

dd if=/dev/zero of=Dummy bs=1MB count=100

如何在 Linux 中用零格式化驱动器

⚠️此过程可能需要相当长的时间,尤其是如果您使用写入速度较慢的驱动器。

格式化的第一步是列出 Linux 中的可用磁盘。 在这里,我使用了 lsblk 命令:

lsblk

在这里,我的目标磁盘是 sdb1 安装在 /media/sagar/Q1.

一旦找到要使用的驱动器的名称,就必须卸载该分区。

这可以使用 umount 命令轻松完成:

umount TargetDrive

对我来说,它 sdb1:

umount /dev/sdb1

现在,您需要做的就是使用以下命令格式化磁盘:

sudo dd if=/dev/zero of=TargetDrive bs=1M
在 Linux 中用零格式化磁盘

忽略错误消息,因为您是从头开始擦除磁盘。

如您所见,驱动器已成功格式化!

总结

我会推荐使用 /dev/random 代替 /dev/zero 如果您想格式化磁盘并使恢复旧数据变得更加困难。

这是关于如何使用 /dev/zero 的一些解释性指南。 我希望你会发现这很有帮助。

如果您有任何疑问,请在评论中告诉我。