We need to create and build a file system before using any data storage device connected to a Linux machine. The mkfs command examples show you how to use
mkfs properly to create a filesystem in Linux.
mkfs – build a Linux file system.
mkfs [options] [-t type] [fs-options] device [size]
mkfs frontend is deprecated in favour of filesystem-specific mkfs.<type> utils.
mkfs is used to build a Linux filesystem on a device, usually a hard disk partition. The device argument is either the device name (e.g. /dev/hda1, /dev/sdb2), or a regular file that shall contain the filesystem. The size argument is the number of blocks to be used for the filesystem.
The exit code returned by mkfs is 0 on success and 1 on failure.
mkfs is simply a front-end for the various filesystem builders (mkfs.fstype) available under Linux. The filesystem-specific builder is searched for via your PATH environment setting only. Please see the filesystem-specific builder manual pages for further details.
-t, --type type
Specify the type of filesystem to be built. If not specified, the default filesystem type (currently ext2) is used.
Filesystem-specific options to be passed to the real filesystem builder.
Produce verbose output, including all filesystem-specific commands that are executed. Specifying this option more than once inhibits execution of any filesystem-specific commands. This is really only useful for testing.
Display version information and exit. (Option -V will display version information only when it is the only parameter, otherwise it will work as
Display help text and exit.
AVAILABILITY: The mkfs command is part of the util-linux package and is available from
mkfs Command Examples
mkfs -t ext3 /dev/sda1
The above example would create an ext3 file system on a hard disk.
If we just type mkfs and pressing the tab key twice, we’ll see a list of all the different commands.
Find the location of mkfs command line with
which mkfscommand. It shows in /usr/sbin/mkfs.
Let’s go ahead and list all different file system builders with
ll /usr/sbin/mkfs* command.
Remember, before we create our fall systems, we do need to create our petitions first. To create a partition in Linux, head up to parted command examples or Fdisk command. You can find more Fdisk command examples on creating managing swap space article.
Let’s go ahead and create a ext3 file system. We can use
mkfs command or
mkfs.ext3 file system builder.
[root@enlinux ~]# mkfs.ext3 /dev/sdb1 mke2fs 1.45.4 (23-Sep-2019) Creating filesystem with 12206848 4k blocks and 3055616 inodes Filesystem UUID: f3f4f4e3-1e85-4eb9-a878-50268a54ea5a Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Allocating group tables: done Writing inode tables: done Creating journal (65536 blocks): done Writing superblocks and filesystem accounting information: done
And creating an ext4 file system.
[root@enlinux ~]# mkfs -t ext4 /dev/sdb2 mke2fs 1.45.4 (23-Sep-2019) Creating filesystem with 12206848 4k blocks and 3055616 inodes Filesystem UUID: 71ee89e0-a201-4b9a-8545-d84485435955 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Allocating group tables: done Writing inode tables: done Creating journal (65536 blocks): done Writing superblocks and filesystem accounting information: done
Verify the created file systems with
lablk -f command.
Yes, the ext3 and ext4 file systems are created successfully.
Now, the disk partitions are ready to mount. To know how to mount a partition in Linux, read the mount command examples article.
BUGS: All generic options must precede and not be combined with filesystem-specific
options. Some filesystem-specific programs do not automatically detect the device
size and require the size parameter to be specified.