必须先创建文件系统,然后才能使用连接到Linux计算机的任何数据存储设备。学习如何使用mkfs和其他实用程序来为各种文件系统实现这一点。我们教你怎么做。
mkfs命令生成文件系统。在其他操作系统上,创建文件系统称为格式化。不管名称如何,它都是准备分区以便存储数据的进程。分区需要一种存储文件的方法,是的。但它也需要一种机制来存储这些文件的名称和位置,以及它们的元数据,如文件创建时间戳、文件修改时间戳、文件大小等等。一旦mkfs构建了处理和存储文件元数据的必要框架,就可以开始向分区添加文件了。
语法非常简单。您只需告诉mkfs您想要在哪个设备分区上创建文件系统,以及您想要什么类型的文件系统。表面上看是这样。在幕后,有点不同。一段时间以来,在大多数Linux发行版上,mkfs一直是mke2fs的包装器。mkfs命令调用mke2fs命令并将指定的选项传递给它。可怜的老mke2fs做了所有的工作,但没有得到任何荣誉。
mkfs的语法已经更新,旧的格式已经被弃用。两种形式都可以,但在本文中我们将使用现代风格。
使用mkfs的现代方法是键入“mkfs”,然后键入要创建的文件系统的名称。
要查看mkfs可以创建的文件系统,请键入“mkfs”,然后按Tab键两次。“mkfs”后面没有空格,只需按两次Tab键。
可用文件系统的列表显示在终端窗口中。截图来自ubuntu18.04 LTS。其他发行版可能提供更多或更少的选择。我们将浏览这些,并简要描述每一个。在简短地讲了一句日记之后。
日志是文件系统中的一个重要概念。文件系统将挂起的文件写入日志。当每个文件被写入时,日志会被更新,而挂起的写入记录也会被更新。这允许文件系统修复由于灾难**件(如断电)而发生的已损坏、部分写入的文件。一些旧的文件系统不支持日志记录。那些不这样做的人,写磁盘的频率会降低,因为他们不需要更新日志。它们可能执行得更快,但更容易因文件写入中断而损坏。
相关:您应该使用哪个Linux文件系统?
在分区上创建文件系统会破坏可能已经驻留在该分区上的任何数据。使用备用硬盘甚至备用计算机是创建和使用不同文件系统的最佳实验方法。但当然,许多人没有备用的硬件,等待着试验。
但是,我们可以创建一个图像文件并在其中创建文件系统。一旦我们挂载了它,我们就可以像使用常规分区一样使用它。我们可以在不需要备用硬件的情况下探索和试验文件系统。我们将使用dd命令创建图像文件。
图像文件是通过获取源数据并将其放入图像中来创建的。我们需要告诉dd从哪里得到它的源数据。我们将使用if(input file)选项告诉dd使用/dev/zero作为输入数据源。这将是一个零流。
of(output file)选项允许我们提供图像文件的名称。我们称之为“如何查找.img”.
图像文件的大小由我们添加到其中的块的大小和数量决定。我们使用bs(block size)选项请求1 MB的块大小,使用count选项请求250个块。这将给我们一个250MB的文件系统。发出此命令时,请调整块的数量以满足您的需要以及Linux计算机上的备用容量。
dd if=/dev/zero of=~/howtogeek.img bs=1M count=250该文件是为我们创建的,dd报告说,根据请求,为我们创建了250个块。
我们可以用ls查看图像文件:
ls -hl它是250MB,这是令人鼓舞的。
让我们选择一个要使用的文件系统。我们将回到过去并使用Ext2,这是mkfs实现可以创建的Ext的最早版本。这是一个非日志文件系统,所以在没有备份的情况下不要在其中存储任何珍贵的东西。我们使用mkfs.ext2文件mkfs命令的变体,我们告诉它使用我们的图像文件作为目标。
mkfs.ext2 ~/howtogeek.img将创建文件系统,并显示文件系统的一些详细信息。
从突出显示的文本中可以看到,mke2fs出现了。
现在我们有了一个文件系统的容器图像文件,在这个场景中它代表一个硬盘驱动器。在那个容器里,我们创建了一个文件系统。现在我们需要挂载文件系统以便使用它。
这是一个临时设置,因此我们将在/mnt中创建一个名为“geek”的挂载点。完成后将删除它。
sudo mkdir /mnt/geek现在我们可以挂载我们的图像文件。
sudo mount ~/howtogeek.img /mnt/geek我们需要更改装载点的文件所有权,以便对其具有读写访问权限。
sudo chown dave:users /mnt/geek/现在我们应该可以使用我们的新文件系统了。我们换成文件系统,把一些文件复制到其中。
cd /mnt/geek cp ~/Documents/Code/*.? .这将把所有扩展名为一个字母的文件从~/Documents/Code目录复制到我们的新文件系统。让我们检查一下它们是否被复制了。
ls文件已被复制,因此我们的文件系统已创建、安装和使用。或者我们这么认为。让我们再检查一遍。从主目录中,我们将卸载文件系统。注意umount中只有一个“n”。
sudo umount /mnt/geek现在,如果我们弹回到/mnt/geek并检查文件,我们应该找不到任何文件,因为它们在我们的图像文件中,并且已经卸载了。
cd /mnt/geek ls相关:如何从Linux终端装载和卸载存储设备
现在我们已经解决了这个过程,尝试另一个文件系统应该很容易。这次我们将使用MINIX文件系统。在主目录中,我们可以在现有的图像文件中创建一个新的文件系统。
小心!如果映像文件中的文件系统中有任何重要文件,请装载映像文件并在创建新文件系统之前检索它们。
mkfs.minix ~/howtogeek.image没有任何提示询问您“如果您确定”,新的文件系统是在旧文件系统的基础上创建的。我们可以使用与以前完全相同的命令装载图像文件:
sudo mount ~/howtogeek.img /mnt/geek让我们切换到/mnt/geek的新文件系统,看看是否可以创建一个文件。
touch geek.txtls -ahl geek.txt而且,我们已经创建了一个新的文件系统,安装了它,并且可以使用它。
完成后,我们可以移除“极客”坐骑点。为此,我们将使用rmdir:
cd /mnt sudo rmdir geek对于Linux,就像大多数事情一样,您是在实践中学习的。有些命令的问题是它们具有潜在的破坏性。进退两难的是如何练习使用它们而不使您的系统或数据处于危险之中?
现在您有了一个简单的方法来创建和尝试使用mkfs的文件系统,从而使您的计算机不受影响。
有备用硬盘,你想更有效地使用你的Linux电脑?RAID可以提供性能提升或添加冗余,具体取决于它的配置方式。让我们快速进入多磁盘世界。 ...
...dows计算机的,但是,如果您运行的是Linux,您可能不知道如何成功地设置Raspberry Pi。 ...
... 在本文中,我将向您展示如何在Linux上安装、运行和使用PowerShell! ...
...的USB硬盘驱动器。这是一个重要的发展,所以让我们看看如何设置你的树莓皮3从USB启动。 ...
...许您在Android设备上安装诚实善良的Linux应用程序。下面是如何使用Termux应用程序。 ...
... 如何在windows10上安装linux bash shell ...
要在Linux中重命名文件吗?如果您知道如何在Windows、macOS或Chrome操作系统中完成这项工作,那么您就知道如何在这里完成这项工作。在大多数版本的Linux上,您只需右键单击一个文件并选择Rename选项。 ...
想在Linux系统上添加用户但不知道如何添加?在Linux上使用命令行界面管理用户无疑是一项复杂的工作。而对于初学者来说,即使添加新用户也是一场噩梦。 ...
...作系统。 现在,在我们开始之前,去做个备份。 相关:如何备份Linux系统 识别驱动器 如果您刚刚将一个驱动器安装到Linux计算机上,或者将Linux安装到新的多驱动器计算机中的一个驱动器上,然后重新启动,那么几乎没有证据...