“df” Command in Linux with Examples

In the world of Linux, keeping an eye on your computer’s storage is crucial. It’s like checking the space in your backpack before a big journey—you want to make sure you have enough room for everything you need. This is where the “df” command comes to the rescue.

The “df” command is like a handy tool that helps you peek into your computer’s storage spaces. It tells you how much space is used and how much is still available on your hard drives and other storage devices. It’s a bit like looking at a dashboard for your computer’s storage.

In this article, we’ll take a close look at the “df” command. We’ll explore its syntax, understand the options it offers, and see real-life examples of how it can be super useful. By the end of this journey, you’ll be able to use “df” like a pro to keep your Linux system’s storage in check. So, let’s dive in and get to know this helpful Linux command better!

Understanding the Syntax of the “df” Command

The “df” command in Linux has a simple and straightforward syntax. It’s like following a recipe with clear steps. Let’s break it down:

Basic Syntax:

df [OPTION]... [FILESYSTEM]...

Now, let’s understand what each part of this syntax means:

df: This is the actual command we’re using. You always start a “df” command with this word.

[OPTION]: The square brackets mean that options are optional. Options are like extra instructions you give to the “df” command to change its behavior. For example, you can tell it to show the information in a more readable way by using the “-h” option.

[FILESYSTEM]: Here, you can specify the specific filesystem or directory you want to check. This part is also optional. If you don’t mention it, “df” will show information about all mounted filesystems.

Using df Without Any Options:

When you use the “df” command without any options or extra information, it shows you the default disk space information for all the mounted filesystems on your computer. This is a quick way to get an overview of how much space is being used and how much is still available on your storage devices.

For example, you can simply type:

df

And you’ll get a list of all your storage devices along with information about their sizes and usage.

Exploring Common Options for the “df” Command

The “df” command in Linux is quite flexible, and it offers several options that allow you to customize how it works. Options are like switches you can toggle to change the command’s behavior. Let’s take a look at some common options and what they do:

-h (Human-Readable Output):

This option is like asking “df” to speak in a language we understand better. When you use “-h,” the command shows sizes in a more human-friendly format. Instead of showing sizes in bytes, it displays them in kilobytes (KB), megabytes (MB), gigabytes (GB), and so on. This makes it easier to grasp how much space is being used.

-T (Display Filesystem Type):

When you add “-T” to the “df” command, it tells you the type of each filesystem. It’s like looking at a label on a box to know what’s inside. You’ll see whether a filesystem is ext4, ntfs, or something else.

-i (Display Inode Information):

Inodes are like data structures that keep track of files and directories on a filesystem. Using “-i” with “df” will show you how many inodes are being used. This is helpful when you want to check if you’re running out of inodes on a filesystem.

-a (Show All Filesystems):

By default, “df” doesn’t show some special filesystems like “tmpfs” or “sysfs.” But if you include the “-a” option, “df” will display information about all mounted filesystems, including these special ones. It’s like getting the full picture.

-P (Output in POSIX Format):

Sometimes, you might want the “df” command’s output to follow a strict and standardized format. That’s where “-P” comes in. It ensures that the output is in the POSIX format, making it consistent and predictable.

Practical Examples of Using the “df” Command

Now that we understand the “df” command’s syntax and common options, let’s dive into some real-world examples to see how it can be handy for everyday tasks.

Checking File System Disk Space Usage

When we execute the “df” command simply without any parameter it gives the information for Filesystem device name, a total number of blocks, Used disk space, available disk space and the filesystem mount point.

# df

Output:

Filesystem 1K-blocks Used Available Use% Mounted on

udev 65996684 0 65996684 0% /dev
tmpfs 13203392 1319792 11883600 10% /run
/dev/sda1 824580576 736514880 46156348 95% /
tmpfs 66016960 0 66016960 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 66016960 0 66016960 0% /sys/fs/cgroup
tmpfs 13203392 0 13203392 0% /run/user/1000

Display all File System Disk Space Usage

Use “-a” parameter with “df” command to print information of all available filesystem’s disk space and utilization.

# df -a

Output:

Filesystem 1K-blocks Used Available Use% Mounted on

sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
udev 65996684 0 65996684 0% /dev
devpts 0 0 0 - /dev/pts
tmpfs 13203392 1319792 11883600 10% /run
/dev/sda1 824580576 736544180 46127048 95% /
securityfs 0 0 0 - /sys/kernel/security
tmpfs 66016960 0 66016960 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 66016960 0 66016960 0% /sys/fs/cgroup
cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore 0 0 0 - /sys/fs/pstore
cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_prio
systemd-1 - - - - /proc/sys/fs/binfmt_misc
mqueue 0 0 0 - /dev/mqueue
hugetlbfs 0 0 0 - /dev/hugepages
debugfs 0 0 0 - /sys/kernel/debug
fusectl 0 0 0 - /sys/fs/fuse/connections
lxcfs 0 0 0 - /var/lib/lxcfs
/dev/sda1 824580576 736544180 46127048 95% /var/lib/docker/aufs

Display Filesystem Usage in Human Readable Format

In the above command, we get the information about disk usages but not able to identify quickly for us. If this information display in the readable format like Bytes, Megabytes, Gigabytes, etc., it will easy for us to understand.

So, we are using the “-h” parameter with the “df” command to get data in a human-readable format.

# df -h

Output:

Filesystem Size Used Avail Use% Mounted on

udev 63G 0 63G 0% /dev
tmpfs 13G 1.3G 12G 11% /run
/dev/sda1 787G 703G 44G 95% /
tmpfs 63G 0 63G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 63G 0 63G 0% /sys/fs/cgroup
tmpfs 13G 0 13G 0% /run/user/1000

Display File System Information in Bytes

We can also use the “df” command to show the information of File system in Bytes representation of size (1024-bytes block), use the “-k” parameter to get the size in Bytes.

# df -k

Output:

Filesystem 1K-blocks Used Available Use% Mounted on

udev 65996684 0 65996684 0% /dev
tmpfs 13203392 1327984 11875408 11% /run
/dev/sda1 824580576 736817580 45853648 95% /
tmpfs 66016960 0 66016960 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 66016960 0 66016960 0% /sys/fs/cgroup
tmpfs 13203392 0 13203392 0% /run/user/1000

Display Information of ‘/’ File System

We can display information of the file system for only ‘/’ device by using the following command:

# df -hT /

Output:

Filesystem Type Size Used Avail Use% Mounted on

/dev/sda1 ext4 787G 703G 44G 95% /

Display File System Information in MegaBytes

We can also use the “df” command to show the information of File system in Megabytes representation of size, use the “-m” parameter to get the size in megabytes.

# df -m

Output:

Filesystem 1M-blocks Used Available Use% Mounted on

udev 64450 0 64450 0% /dev
tmpfs 12894 1297 11598 11% /run
/dev/sda1 805255 719624 44704 95% /
tmpfs 64470 0 64470 0% /dev/shm
tmpfs 5 0 5 0% /run/lock
tmpfs 64470 0 64470 0% /sys/fs/cgroup
tmpfs 12894 0 12894 0% /run/user/1000

Display File System Information in Gigabytes

We can also use the “df” command to show the information of File system in Gigabytes representation of size, use the “-h” parameter to get the size in gigabytes.

# df -h

Output:

Filesystem Size Used Avail Use% Mounted on

udev 63G 0 63G 0% /dev
tmpfs 13G 1.3G 12G 11% /run
/dev/sda1 787G 703G 44G 95% /
tmpfs 63G 0 63G 0% /dev/shm
tmpfs 63G 0 63G 0% /sys/fs/cgroup
tmpfs 13G 0 13G 0% /run/user/1000

Display Inodes uses of File System

To get the information of used inodes in a file system we can use the “-i” parameter with “df” command.

# df -i

Output:

Filesystem Inodes IUsed IFree IUse% Mounted on

udev 16499171 429 16498742 1% /dev
tmpfs 16504240 641 16503599 1% /run
/dev/sda1 52371456 684303 51687153 2% /
tmpfs 16504240 1 16504239 1% /dev/shm
tmpfs 16504240 3 16504237 1% /run/lock
tmpfs 16504240 16 16504224 1% /sys/fs/cgroup
tmpfs 16504240 4 16504236 1% /run/user/1000

Display File System Type

We can also use the “df” command to check the file system type for devices. To check file system type using “df” command use the “-T” parameter, as shown below:

# df -T

Output:

Filesystem Type 1K-blocks Used Available Use% Mounted on

udev devtmpfs 65996684 0 65996684 0% /dev
tmpfs tmpfs 13203392 1336176 11867216 11% /run
/dev/sda1 ext4 824580576 736962088 45709140 95% /
tmpfs tmpfs 66016960 0 66016960 0% /dev/shm
tmpfs tmpfs 5120 0 5120 0% /run/lock
tmpfs tmpfs 66016960 0 66016960 0% /sys/fs/cgroup
tmpfs tmpfs 13203392 0 13203392 0% /run/user/1000

Display Certain File System Type

If we want to display only certain file system type in the “df” command output, we can use the “-t” parameter along with file system type. For example, we can use the following command to display disk uses information for ext4 types of file systems:

# df -t ext4

Output:

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/sda1 824580576 736987412 45683816 95% /

Display without certain File System Type

Similarly, the above example, we can use the “df” command to display file system information with excluding specific file system type. To exclude file system type from “df” output use the “-x” parameter. For example, here we display file system information after excluding “ext4” file system type:

# df -x ext4

Output:

Filesystem 1K-blocks Used Available Use% Mounted on

udev 65996684 0 65996684 0% /dev
tmpfs 13203392 1336176 11867216 11% /run
tmpfs 66016960 0 66016960 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 66016960 0 66016960 0% /sys/fs/cgroup
tmpfs 13203392 0 13203392 0% /run/user/1000

df command help

To get more help on the “df” command, use “–help” parameter with the command, as shown below:

# df --help

Output:

Usage: df [OPTION]... [FILE]...

Show information about the file system on which each FILE resides, or all file systems by default.

Mandatory arguments to long options are mandatory for short options too.

-a, --all include pseudo, duplicate, inaccessible file systems
-B, --block-size=SIZE scale sizes by SIZE before printing them; e.g.,
'-BM' prints sizes in units of 1,048,576 bytes;

see SIZE format below

-h, --human-readable print sizes in powers of 1024 (e.g., 1023M)
-H, --si print sizes in powers of 1000 (e.g., 1.1G)
-i, --inodes list inode information instead of block usage
-k like --block-size=1K
-l, --local limit listing to local file systems
--no-sync do not invoke sync before getting usage info (default)
--output[=FIELD_LIST] use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted.
-P, --portability use the POSIX output format
--sync invoke sync before getting usage info
--total elide all entries insignificant to available space, and produce a grand total
-t, --type=TYPE limit listing to file systems of type TYPE
-T, --print-type print file system type
-x, --exclude-type=TYPE limit listing to file systems not of type TYPE
-v (ignored)
--help display this help and exit
--version output version information and exit

Display values are in units of the first available SIZE from --block-size, and the DF_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.

Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).
The SIZE argument is an integer and optional unit (example: 10K is 10*1024).
Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).

FIELD_LIST is a comma-separated list of columns to be included. Valid field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent', 'file' and 'target' (see info page).

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: <http://www.gnu.org/software/coreutils/df>
or available locally via: info '(coreutils) df invocation'

Tips and Tricks for Using the “df” Command

Now that you know how to use the “df” command and have explored some practical examples, let’s dive into some tips and tricks to make your disk space management even more effective.

Interpreting the Output:

When you run “df,” you’ll see a table with columns like “Filesystem,” “Size,” “Used,” “Available,” and “Use%.” Here’s how to interpret them:

  • Filesystem: This column shows the name of the filesystem or storage device.
  • Size: It displays the total size of the filesystem.
  • Used: This shows how much space is currently in use.
  • Available: It tells you how much space is still free.
  • Use%: This column indicates the percentage of space used.

Automating Disk Space Checks:

You can automate disk space checks using scripts or scheduled tasks. For instance, you can create a simple Bash script that runs “df -h” and sends you an email if disk space usage exceeds a certain threshold. Schedule this script to run regularly using “cron” to keep an eye on your system’s storage.

Dealing with Disk Space Issues:

If you find that your disk space is running low, here are some strategies to deal with the issue:

  • Identify Large Files: Use commands like “du” to find large files or directories that you can delete or move to another storage device.
  • Clear Temporary Files: Regularly clean up temporary files and caches that accumulate over time.
  • Check Log Files: Log files can grow large. Review and rotate them to save space.
  • Remove Unnecessary Software: Uninstall applications and packages you no longer need.
  • Extend Storage: If possible, consider adding more storage space to your system.

Monitoring Disk Space Over Time:

To keep a historical record of your disk space usage, you can redirect the “df” output to a file and timestamp it. This way, you can track changes and usage patterns over time.

Scripting for Convenience:

If you frequently check disk space on specific filesystems, create scripts that include your preferred “df” options and save them for easy access. For example, a script called “check-disk-space.sh” could run “df -h” on critical filesystems.

Stay Informed:

Keep an eye on system alerts or logs that may indicate disk space issues. Monitoring tools like Nagios or Zabbix can also help you proactively manage disk space.

By following these tips and tricks, you can use the “df” command more effectively to manage your system’s disk space, automate checks, and address issues promptly. Keeping your storage tidy and organized ensures your Linux system runs smoothly and efficiently.

Conclusion

In the world of Linux, the “df” command is your trusty companion for keeping tabs on disk space. With its simple syntax and versatile options, it empowers you to monitor, troubleshoot, and maintain your storage efficiently. Remember to interpret the output, automate checks, and implement cleanup strategies to keep your system running smoothly. By mastering the “df” command, you’re well-equipped to conquer any disk space challenge that comes your way. So, go ahead, explore, and keep your Linux system’s storage in check!

Frequently Asked Questions (FAQs)

What is the “df” command used for in Linux?

The “df” command in Linux is used to display information about disk space usage on your system. It shows details like the total size, used space, available space, and percentage usage of each filesystem.

How do I use the “df” command?

What are some common options for the “df” command?

How can I check the disk space of a specific filesystem?

How do I automate disk space checks using “df”?

What should I do if I’m running out of disk space?

Can “df” help me monitor disk space over time?

Are there monitoring tools other than “df” for managing disk space?

Is there a way to simplify using “df” for common tasks?

Is it important to regularly check disk space on my Linux system?

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

three × one =

Related Articles