Hardware

Find The Last Filesystem Check

If you’ve been using Linux for any time, you may have done a filesystem check and today we’ll find out when you did the last filesystem check with the Linux terminal. This may seem a little complicated, at least at the start, but it should be relatively easy. New Linux users should be able to follow along as we try to make Linux more approachable.

Disks have corruption after a while. Given enough time and data, a filesystem check is likely. Fortunately, Linux has many tools that will help you verify the integrity of your data. These tools are generally installed by default, so we shouldn’t need to install any new tools in this tutorial.

The article will have been tested in Lubuntu. The directions in this article are going to work with Ubuntu, official Ubuntu flavors, Linux Mint, ElementaryOS, and many more distros. I’d say they’re fairly generic instructions and that all these tools will be installed by default in most major distros.

You need good data health. This isn’t about hardware health as much as you’d learn from S.M.A.R.T data, it’s about the integrity of your data. You might use the information from this article to decide to run an fdisk command or two. Of course, you might also be interested in one of my more popular articles:

Repair Your Linux Filesystem With a Live USB or DVD

What we’re going to do is find out when the last filesystem check. What you do with that information is up to you. 

We will be using some tools…

lsblk:

The first tool we’ll be using is one of the default Linux tools. The name of that tool is lsblk. You can verify that lsblk is installed with the following command:

lsblk --version

The output should look similar to this:

$ lsblk --version
lsblk from util-linux 2.37.2

If you run man lsblk in the terminal, you’ll find that it’s described as this:

lsblk – list block devices

We’ll be using this lsblk command to identify drive names. It’s not complicated and you’ll be able to follow along easily enough. I’m sure of it!

tune2fs:

We’ll also be using the tune2fs command in this exercise. As far as I can tell, tune2fs doesn’t have a formal version flag. If you run a typical version command against it, it does spit out the version but it also spits out some usage information. So, that will do for verifying that you do indeed have tune2fs installed. You can run this command:

tune2fs -v

The output will look weird, but it’ll confirm that tune2fs is installed. 

$ tune2fs --version
tune2fs 1.46.5 (30-Dec-2021)
tune2fs: invalid option -- '-'
<snip>

Of course, the man page describes tune2fs like this:

tune2fs – adjust tunable file system parameters on ext2/ext3/ext4 filesystems

While that might not seem useful, it is. We’ll be using it to get those system parameters to find out when you did the last system check. Trust me! It’ll come in handy.

We’ll also be using a pipe and grep, but we’ve used those many times before.

Find Your Last Filesystem Check:

If it’s not obvious, we’ll be using the terminal for this. So, press CTRL + ALT + T and let’s get this party started.

The first thing you do is you want to identify the name of the drive. Don’t blame me for calling it the name. That’s what the command outputs. That’s what I’m calling it. The command for this is nice and simple, just run this command:

lsblk

I plugged a bunch of stuff in, so an example output might look like this:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 476.9G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
└─sda2   8:2    0 476.4G  0 part /
sdb      8:16   0   3.6T  0 disk 
├─sdb1   8:17   0 991.1G  0 part /media/kgiii/elements1
├─sdb2   8:18   0 984.6G  0 part /media/kgiii/elements2
├─sdb3   8:19   0 976.7G  0 part /media/kgiii/elements3
└─sdb4   8:20   0 773.6G  0 part /media/kgiii/elements4
sdc      8:32   1  14.4G  0 disk 
└─sdc1   8:33   1  14.4G  0 part /media/kgiii/FLASH DRIVE
sdd      8:48   1  58.6G  0 disk 
└─sdd1   8:49   1  58.6G  0 part /media/kgiii/DISCOVERY
sr0     11:0    1  1024M  0 rom  

Next, your command looks like this:

$ sudo tune2fs -l /dev/<name> | grep Last\ c

This isn’t always going to spit out the right information. If a drive isn’t an EXT* formatted partition/drive, it’s not going to spit out any useful information. There will be no information if you try to use it with your EFI partition, for example.

An example EFI command and output might be:

$ sudo tune2fs -l /dev/sda1 | grep Max
tune2fs: Bad magic number in super-block while trying to open /dev/sda1

On the other hand, an example of a good output might be like this:

$ sudo tune2fs -l /dev/sda2 | grep Last\ c
Last checked: Tue Aug 1 23:38:39 2023

As you can see, that was checked just a couple of months ago.

Alternatively, as I plugged some rather random stuff into the USB ports, you might see something as old as this:

$ sudo tune2fs -l /dev/sdb3 | grep Last\ c
Last checked: Fri Jan 29 12:50:49 2021

That’s been a minute or two since the last filesystem check.

If you’re using an NVMe M.2 SSD, this will still work:

$ sudo tune2fs -l /dev/nvme0n1p1 | grep Last\ c
Last checked: Wed Dec 7 20:57:10 2022

So, it’s not all that difficult to find out when you did your last filesystem check.

Closure:

Careful observation may show you that the site has changed a little. There’s now a way to do sponsorship, seeing as I get asked so many times. Nobody ever follows through, but I have had some contact with a couple of agencies. You may start seeing sponsored content soon. Feel free to about sponsoring Linux-Tips if you want.

As for the article, it’s just another easy enough article. I hope I’ve distilled it down enough to make it approachable for even the newest Linux users. It may be good to check to see when you performed your last file system check. If you have data in cold storage, you may want to check that now and again and check your filesystem’s health once in a while. The goal is to prevent data loss through corruption and this should help with that.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

KGIII

Retired mathematician, residing in the mountains of Maine. I may be old and wise, but I am not infallible. Please point out any errors. And, as always, thanks again for reading.

Recent Posts

Is Your Storage Drive An SSD Or An HDD?

Today's article aims to answer a simple question, simply is your storage drive an SSD…

2 days ago

Monitor System Resources With “Resources”

Today is one of those days when I'd like to introduce you to new software…

4 days ago

Short: The Halt Command

Today's article is intentionally short because we're simply going to learn about the basics of…

6 days ago

Installing Flatpaks In Linux

Today we're going to have a pretty easy article where you'll learn about installing Flatpaks…

1 week ago

A Quick Look At The Shutdown Command

This is going to be just a quick article about a command many of you…

1 week ago

Setting Up Coding Environments on Linux for Educational Use

With so many strong attributes, such as robustness and flexibility, Linux stands as a powerful…

2 weeks ago