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命令的注意事项
如果出现 bash: mkfs: command not found 提示,按照上述操作进行安装。
然后进行一下 Linux 命令的 SEO 优化,包括让你的内容包含相关关键词,并确保内容的质量和深度。
Linux mkfs相关命令
以下是一些相关的 Linux 命令,可能对你的 Linux 学习有所帮助:
fsck命令:用于检查和维护不一致的文件系统fdisk命令:用于在Linux中创建和管理磁盘分区mount命令:用于挂载Linux系统下的文件系统umount命令:用于卸载已经挂载的文件系统df命令:报告文件系统的总空间和空闲空间du命令:估计文件和目录占用的磁盘空间lsblk命令:列出所有可用块设备的信息blkid命令:用于查看块设备属性parted命令:一个能够管理磁盘分区和文件系统的强大工具hdparm命令:用于查看和设置硬盘参数