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.
NAME: 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. fs-options Filesystem-specific options to be passed to the real filesystem builder. -V, --verbose 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. -V, --version Display version information and exit. (Option -V will display version information only when it is the only parameter, otherwise it will work as --verbose.) -h, --help Display help text and exit.
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.
fs(5), badblocks(8), fsck(8), mkdosfs(8), mke2fs(8), mkfs.bfs(8), mkfs.ext2(8), mkfs.ext3(8), mkfs.ext4(8), mkfs.minix(8), mkfs.msdos(8), mkfs.vfat(8), mkfs.xfs(8)
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.