A file system is the way in which files are named, stored, retrieved as well as updated on a storage disk or partition; the way files are organized on the disk.
A file system is divided in two segments called: User Data and Metadata (file name, time it was created, modified time, it’s size and location in the directory hierarchy etc).
In this guide, we will explain seven ways to identify your Linux file system type such as Ext2, Ext3, Ext4, BtrFS, GlusterFS plus many more.
1. Using df Command
df command reports file system disk space usage, to include the file system type on a particular disk partition, use the -T
flag as below:
$ df -Th OR $ df -Th | grep "^/dev"
emre@server:~$ sudo su root@server:/home/emre# df -Th Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 1.8G 0 1.8G 0% /dev tmpfs tmpfs 370M 5.2M 365M 2% /run /dev/sda1 ext4 9.7G 1.2G 8.5G 13% / tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs tmpfs 370M 0 370M 0% /run/user/100
2. Using fsck Command
fsck is used to check and optionally repair Linux file systems, it can also print the file system type on specified disk partitions.
The flag -N
disables checking of file system for errors, it just shows what would be done (but all we need is the file system type):
$ fsck -N /dev/sda1
root@server:/home/emre# fsck -N /dev/sda1 fsck from util-linux 2.27.1 [/sbin/fsck.ext4 (1) -- /] fsck.ext4 /dev/sda1
3. Using lsblk Command
lsblk displays block devices, when used with the -f
option, it prints file system type on partitions as well:
$ lsblk -f
root@server:/home/emre# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda └─sda1 ext4 cloudimg-rootfs 0f37190f-0081-4ed3-bdb5-d2741eb5a51c /
4. Using mount Command
mount command is used to mount a file system in Linux, it can also be used to mount an ISO image, mount remote Linux filesystem and so much more.
When run without any arguments, it prints info about disk partitions including the file system type as below:
$ mount | grep "^/dev"
root@server:/home/emre# mount | grep "^/dev" /dev/sda1 on / type ext4 (rw,relatime,data=ordered)
5. Using blkid Command
blkid command is used to find or print block device properties, simply specify the disk partition as an argument like so:
$ blkid /dev/sda1
root@server:/home/mazhochist# blkid /dev/sda1 /dev/sda1: LABEL="cloudimg-rootfs" UUID="0f37190f-0081-4ed3-bdb5-d2741eb5a51c" TYPE="ext4" PARTUUID="8e6c680b-01"
6. Using file Command
file command identifies file type, the -s
flag enables reading of block or character files and -L
enables following of symlinks:
$ sudo file -sL /dev/sda1
root@server:/home/emre# file -sL /dev/sda1 /dev/sda1: Linux rev 1.0 ext4 filesystem data, UUID=0f37190f-0081-4ed3-bdb5-d2741eb5a51c, volume name "cloudimg-rootfs" (needs journal recovery) (extents) (large files) (huge files)
7. Using fstab File
The /etc/fstab is a static file system info (such as mount point, file system type, mount options etc) file:
$ cat /etc/fstab
root@server:/home/mazhochist# cat /etc/fstab LABEL=cloudimg-rootfs / ext4 defaults 0 0