7 Ways to Determine the File System Type in Linux (Ext2, Ext3 or Ext4)

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"
df Command - Find Filesystem Type
df Command – Find Filesystem Type

For a comprehensive guide for df command usage go through our articles:

  1. 12 Useful “df” Commands to Check Disk Space in Linux
  2. Pydf – An Alternative ‘df’ Command That Shows Disk Usage in Colours

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/sda3
$ fsck -N /dev/sdb1
fsck - Print Linux Filesystem Type
fsck – Print Linux Filesystem Type

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
lsblk - Shows Linux Filesystem Type
lsblk – Shows Linux Filesystem Type

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"
Mount - Show Filesystem Type in Linux
Mount – Show Filesystem Type in Linux

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/sda3
blkid - Find Filesystem Type
blkid – Find Filesystem Type

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/sda3
file - Identifies Filesystem Type
file – Identifies Filesystem Type

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
Fstab - Shows Linux Filesystem Type
Fstab – Shows Linux Filesystem Type

That’s it! In this guide, we explained seven ways to identify your Linux file system type. Do you know of any method not mentioned here? Share it with us in the comments.

Two small things before you go

If something didn’t work on your setup, leave a comment and tell me which distro and version you’re on. I read every one, and most of these articles got better because a reader pointed out what was missing.

And if it did work, share it. TecMint has stayed free for 14 years because people pass these articles around, and that traffic is what pays for writing the next one.

Leave a comment
Get two free Linux courses

Learn the Linux basics with two free courses and join 34,000+ readers getting practical TecMint tutorials and selected Pro TecMint articles every week.

Pro TecMint
Get lifetime access for $99

If you want to go beyond the free tutorials, Pro gives you 18 courses, 5 ebooks, and every future course I add. One payment, lifetime access, no renewals.

Aaron Kili
Aaron Kili
Contributor
About the author

Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

15 Comments

Leave a Reply
  1. Note that,

    # mkfs -t ext4 /tmp/image1
    

    will create a ext2 filesystem on image1, if its not big enough (warning “Filesystem too small for a journal” means a filesystem without a journal, a.k.a. ext2, is created)

    If you don’t realize this and nevertheless mount it as ext4. The df and mount methods above will mirror back ext4:

    $ df -Th /tmp/mnt*
    Filesystem     Type  Size  Used Avail Use% Mounted on
    /dev/loop4     ext4 1003K   24K  908K   3% /tmp/mnt1
    /dev/loop5     ext4  987K   33K  812K   4% /tmp/mnt2
    $ mount | grep mnt
    ...
    /home/mallikab/image1 on /tmp/mnt1 type ext4 (rw,relatime,seclabel)
    /home/mallikab/image2 on /tmp/mnt2 type ext4 (rw,relatime,seclabel,data=ordered)
    

    but fsck and file reveal the true filesystem:

    $ fsck -N /tmp/mnt1
    fsck from util-linux 2.23.2
    [/sbin/fsck.ext2 (1) -- /tmp/mnt1] fsck.ext2 /tmp/mnt1 
    $ fsck -N /tmp/mnt2
    fsck from util-linux 2.23.2
    [/sbin/fsck.ext4 (1) -- /tmp/mnt2] fsck.ext4 /home/mallikab/image2 
    
    $ file -sL /home/mallikab/image2 
    /home/mallikab/image2: Linux rev 1.0 ext4 filesystem data, UUID=b4e8e086-54ca-4d9d-9f38-32bbed211e6b (needs journal recovery) (extents) (64bit) (huge files)
    $ file -sL /home/mallikab/image1
    /home/mallikab/image1: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=09b3a8c9-0b6d-43c5-b195-c45f6c091765 (extents) (64bit) (huge files)
    
    hm, although fsck doesn't indicate ext2 unless the images are mounted, i.e.
    $ fsck -N ~/image1
    fsck from util-linux 2.23.2
    [/sbin/fsck.ext4 (1) -- /home/mallikab/image1] fsck.ext4 /home/mallikab/image1
    
    Reply
  2. HELLO,

    how to list out the size of the disks which are above or below range for example i want to list out the disks above 60M ,is there a command for this.

    Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.