掌握Linux mkfs命令:创建与管理文件系统(附实例详解和注意事项)

发布时间:2024年01月23日

Linux mkfs命令介绍

mkfs 是一个Linux命令,英文全称是 “make file system”,该命令主要用于在特定的分区上创建Linux文件系统。此命令初始化卷标签、文件系统标签和启动块。 简单来说,mkfs 是用来格式化分区,创建文件系统的。

诸如:mkfs, fdisk, fsck, mount 都是 util-linux 包的一部分。

Linux mkfs命令适用的Linux版本

mkfs 命令可以在大多数Linux 分发版上使用,包括但不限于 Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian 等。在这些Linux版本中,大多数都默认安装了 mkfs 工具。

如果在特定版本的Linux上没有找到 mkfs 命令,你可以使用相应的包管理器进行安装。

# 在使用apt-get的Debian和Ubuntu上
sudo apt-get install dosfstools
# 在使用yum的Centos 7上
sudo yum install dosfstools
# 在Centos 8和RHEL上使用dnf
sudo dnf install dosfstools

Linux mkfs命令的基本语法

语法格式:

mkfs [选项] [-t 类型 [FS选项]] 设备 [大小]

Linux mkfs命令的常用选项或参数说明

以下是 mkfs 命令的常用选例如下:

选项说明
-t文件系统类型。可以是 ‘auto’, ‘minix’, ‘unix’, ‘xt’, ‘xv’ 等。
-c检查设备分区是否有坏块。
-l filename将坏块的列表存入文件中。
-V显示版本信息。

Linux mkfs命令实例详解

在下面的实例中,我将介绍如何使用 mkfs 命令创建和管理文件系统。

实例1: 创建文件系统

我们可以使用 mkfs 命令在设备(如磁盘分区)上创建新的文件系统。为此,我们需要使用 sudo 权限来执行命令,并指定目标设备。在下面的例子中,我们将在 /dev/sdb1 上创建一个新的文件系统。

[linux@bashcommandnotfound.cn ~]$ sudo mkfs /dev/sdb1

如果该设备已经有一个文件系统了,mkfs 命令会给出错误消息。在此种情况下,如果你确定要在设备上创建新的文件系统,可以添加 -F 选项来强制执行操作。

[linux@bashcommandnotfound.cn ~]$ sudo mkfs -F /dev/sdb1

这将不经确认地在指定设备上创建新的文件系统,可能会覆盖已有的数据,所以在使用 -F 选项时请谨慎操作。执行此命令之前,最好先确保设备上的数据已经备份。

实例2: 在设备上创建ext4文件系统

在Linux中,最常见的文件系统类型之一是ext4。我们可以使用mkfs命令和-t选项在设备上创建ext4文件系统。在下面的例子中,我们将在/dev/sdb1设备上创建一个ext4文件系统。

[linux@bashcommandnotfound.cn ~]$ sudo mkfs -t ext4 /dev/sdb1

实例3: 使用mkfs.vfat创建FAT32文件系统

mkfs工具集合包含了一些特定的mkfs实用程序,这些程序专门用于创建特定类型的文件系统。例如,要在设备上创建FAT32文件系统(也称为VFAT),我们可以使用mkfs.vfat工具。

[linux@bashcommandnotfound.cn ~]$ sudo mkfs.vfat /dev/sdb1

实例4: 使用mkfs.ext4创建含有保留块的文件系统

默认情况下,mkfs在文件系统上会保留一些空间供超级用户(例如root)使用,这样即使文件系统的空间被普通用户用尽,系统的基本运行也不会受到影响。mj这些保留的空间通常占用文件系统大小的5%。

我们可以使用-m选项改变这个比例。以下是使用mkfs.ext4命令在/dev/sdb1设备上创建文件系统时只保留1%空间的例子。

[linux@bashcommandnotfound.cn ~]$ sudo mkfs.ext4 -m 1 /dev/sdb1

如果我们不想保留任何空间,也可以将比例设置为0。

[linux@bashcommandnotfound.cn ~]$ sudo mkfs.ext4 -m 0 /dev/sdb1

实例5: 使用mkfs.ntfs创建NTFS文件系统

NTFS是一个由微软为Windows开发的文件系统。虽然Linux的默认文件系统不是NTFS,但我们仍然可以在Linux上使用NTFS。这在双系统(同时运行Windows和Linux)的环境中是很常见的。

在下面的例子中,我们使用mkfs.ntfs工具在/dev/sdb1设备上创建一个NTFS文件系统。

[linux@bashcommandnotfound.cn ~]$ sudo mkfs.ntfs /dev/sdb1

注意:这是一个破坏性操作,将删除目标设备上的所有数据。在执行任何涉及创建新文件系统的操作之前,都必须确保所有重要数据都已备份。

实例6: 使用mkfs命令指定inode大小

对于大部分用户来说,默认的inode大小(256字节)应该已经足够了。然而,在一些特殊情况下,我们可能需要使用更大或更小的inode。我们可以使用-i选项来指定inode大小。

在以下例子中,我们在/dev/sdb1设备上创建一个新的文件系统,其inode大小为512字节。

[linux@bashcommandnotfound.cn ~]$ sudo mkfs -t ext4 -I 512 /dev/sdb1

实例7: 使用mkswap命令创建SWAP分区

swap分区是Linux系统使用的一种虚拟内存。当系统的物理内存(RAM)不足时,系统可以将部分内存数据移动到swap分区,以释放RAM空间。

在以下例子中,我们在/dev/sdb1设备上创建一个swap分区。

[linux@bashcommandnotfound.cn ~]$ sudo mkswap /dev/sdb1

执行此命令将格式化指定分区,并将其设置为swap分区。

实例8: 创建带有标签的文件系统

我们可以在创建文件系统时使用 -L 选项为文件系统添加一个标签。这个标签可以用于在 /etc/fstab 文件或 mount 命令中引用文件系统。

在以下例子中,我们在 /dev/sdb1 上创建一个带有 MY_DISK 标签的新文件系统。

[linux@bashcommandnotfound.cn ~]$ sudo mkfs -L MY_DISK /dev/sdb1

如果你在创建文件系统后想改变文件系统标签,你可以使用 e2label 工具。

[linux@bashcommandnotfound.cn ~]$ sudo e2label /dev/sdb1 NEW_LABEL

实例9: 使用 mkfs.xfs 创建 XFS 文件系统

XFS 是一种高性能的日志文件系统,由 SGI 创建并用于 IRIX 操作系统,后来被移植到 Linux。XFS 适合于处理大文件和进行高负载操作。

以下是在设备 /dev/sdb1 上创建 XFS 文件系统的例子。

[linux@bashcommandnotfound.cn ~]$ sudo mkfs.xfs /dev/sdb1

实例10: 在设备上创建 Btrfs 文件系统

Btrfs (B-tree文件系统,通常被读作"Better FS",“Butter FS”,“Butterface"或"批量文件系统”)是一个拥有多种高级功能的现代文件系统,特别适用于处理大数据。

以下是在设备 /dev/sdb1 上创建 Btrfs 文件系统的例子。

[linux@bashcommandnotfound.cn ~]$ sudo mkfs.btrfs /dev/sdb1

实例11: 创建带有指定块和inode数量的ext4文件系统

在某些情况下,你可能需要在创建文件系统时指定块和inode的数量。你可以使用 mkfs.ext4-N-b 选项来达到这个目标。

以下是创建一个带有 4096 字节块大小和 200000 个inode的 ext4 文件系统的示例:

[linux@bashcommandnotfound.cn ~]$ sudo mkfs.ext4 -b 4096 -N 200000 /dev/sdb1

请注意,这些选项应谨慎使用,因为不适当的块或inode数量可能会导致文件系统性能下降或空间浪费。

Linux mkfs命令的注意事项

  • mkfs 命令需要 root 权限才能执行。
  • 在设备上创建新文件系统会删除该设备上的所有数据,因此在执行任何破坏性操作之前,请务必确保所有重要数据都已备份。
  • mkfs 是一个强大的工具,使用不当可能会导致数据丢失,因此在使用时,务必仔细阅读相关文档,并确保你明白自己在做什么。

如果出现 bash: mkfs: command not found 提示,按照上述操作进行安装。

然后进行一下 Linux 命令的 SEO 优化,包括让你的内容包含相关关键词,并确保内容的质量和深度。

Linux mkfs相关命令

以下是一些相关的 Linux 命令,可能对你的 Linux 学习有所帮助:

  1. fsck命令:用于检查和维护不一致的文件系统
  2. fdisk命令:用于在Linux中创建和管理磁盘分区
  3. mount命令:用于挂载Linux系统下的文件系统
  4. umount命令:用于卸载已经挂载的文件系统
  5. df命令:报告文件系统的总空间和空闲空间
  6. du命令:估计文件和目录占用的磁盘空间
  7. lsblk命令:列出所有可用块设备的信息
  8. blkid命令:用于查看块设备属性
  9. parted命令:一个能够管理磁盘分区和文件系统的强大工具
  10. hdparm命令:用于查看和设置硬盘参数
文章来源:https://blog.csdn.net/u012964600/article/details/135695706
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。