本文为joshua317原创文章,转载请注明:转载自joshua317博客 一天一个 Linux 命令(27):mkfs 命令 - joshua317的博客

一、简介

Linux下的mkfs(英文全拼:make file system)命令用于在特定的分区上建立 linux 文件系统。

在磁盘分区上创建ext2、ext3、ext4、ms-dos、vfat、xfs文件系统,默认情况下会创建ext2。mkfs用于在设备上构建Linux文件系统,通常是硬盘分区。文件要么是设备名称(例如/dev/vda1,/dev/vdb1),要么是包含文件系统的常规文件。成功返回0,失败返回1。

二、格式说明

mkfs [options] [-t <type>] [fs-options] <device> [<size>]
mkfs [参数]...[设备]...

Usage:
 mkfs [options] [-t <type>] [fs-options] <device> [<size>]

Options:
 -t, --type=<type>  filesystem type; when unspecified, ext2 is used
     fs-options     parameters for the real filesystem builder
     <device>       path to the device to be used
     <size>         number of blocks to be used on the device
 -V, --verbose      explain what is being done;
                      specifying -V more than once will cause a dry-run
 -V, --version      display version information and exit;
                      -V as --version must be the only option
 -h, --help         display this help text and exit

三、选项说明

device	预备检查的硬盘分区,例如:/dev/vda1
-t	给定文件系统的型式,Linux 的预设值为 ext2
-V	详细显示模式
-c	在制做文件系统前,检查该partition 是否有坏轨
-l bad_blocks_file	将有坏轨的block资料加到 bad_blocks_file 里面
block 	给定 block 的大小

四、命令功能

在特定的分区上建立 linux 文件系统

五、常见用法

5.1 在 /dev/vdb1上建一个 ext3的文件系统,同时检查是否有坏轨存在,并且将过程详细列出来

# mkfs -V -t ext3 -c /dev/vdb1 

在这篇文章中也有提到为分区创建文件系统,一天一个 Linux 命令(26):fdisk 命令

5.2 将vda1分区格式化为ext4格式

# mfks -t ext4 /dev/vdb1

# df -hT /dev/vdb1
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/vda1      ext4   50G   23G   25G  49% /

5.3 查看mkfs可以创建的文件系统

输入"mkfs",然后按两次Tab键。 "mkfs"后没有空格,只需按两次Tab键即可。可用文件系统的列表显示在终端窗口中。

其中,Linux 的预设值为 ext2

# mkfs
mkfs         mkfs.btrfs   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.minix   mkfs.xfs 

5.3.1 扩展知识1

Ext2 :Linux的第一个文件系统是MINIX文件系统。 后来,它被有史以来第一个专门为Linux编写的文件系统Ext所取代。 Ext2是Ext的后继者 。 Ext2不是日记文件系统。

Ext3 :这是Ext2的后继产品,可以看作是带有日志记录的Ext2,它可以保护文件系统免受崩溃和突然断电导致的数据损坏。

Ext4 :Ext4是May Linux发行版的标准文件系统。 它是一个可靠,可靠的可靠文件系统。 它具有减少文件碎片的功能,并且与Ext3相比,可用于更大的驱动器,分区和文件。

MINIX :最初由Andrew S. Tanenbaum创建,目的是作为一种教育工具, MINIX是一个“微型Unix”操作系统。 如今,它旨在提供一种自我修复和容错的操作系统 。 MINIX 文件系统被设计为Unix File System的简化版本。

CRAMFS : 压缩ROM文件系统是一个只读文件系统,设计用于嵌入式系统和专业只读用途,例如Linux计算机的引导过程中。 通常会先加载一个小型的临时文件系统,以便启动引导进程来为要安装的“实际”启动系统做准备。

XFS:XFS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮。所幸的是SGI将其移植到了Linux系统中。采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了。不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。XFS文件系统采用优化算法,日志记录对整体文件操作影响非常小。XFS查询与分配存储空间非常快。xfs文件系统能连续提供快速的反应时间。XFS 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间。对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。最大可支持的文件大小为263 = 9 x 1018 = 9 exabytes,最大文件系统尺寸为18 exabytes。XFS使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。XFS能够持续提供高速操作,文件系统的性能不受目录中目录及文件数量的限制。XFS 能以接近裸设备I/O的性能存储数据。在单个文件系统的测试中,其吞吐量最高可达7GB每秒,对单个文件的读写操作,其吞吐量可达4GB每秒。

5.3.2 扩展知识2

ext文件系统(支持度最广、但格式化超慢):ext系列的文件系统,在文件格式化时,采用的是规划出所有的inode、区块、元数据等数据,未来系统可以直接使用,不需要再进行动态配置,但是这个做法在早期磁盘容量还不大的时候可以使用。如今,磁盘的容量越来越大,连传统的MBR都已经被GPT取代。当使用磁盘容量在TB以上的传统ext系列文件系统在格式化的时候,会消耗相当多的时间。 xfs文件系统(容量高,性能佳):由于虚拟化的应用越来越广泛,虚拟化磁盘来源的举行文件越来越常见,这些巨型文件在处理上考虑到刑恩那个问题,因此xfs比较适合高容量磁盘与巨型文件,且性能较佳的文件系统。

本文为joshua317原创文章,转载请注明:转载自joshua317博客 一天一个 Linux 命令(27):mkfs 命令 - joshua317的博客

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐