This tutorial explains Linux “du” command, options and its usage with examples.
DESCRIPTION
You need to use the du command:
1. Find and estimate file space usage.
2. Summarize disk usage of each FILE/Directory/Folder.
3. Shows the sizes of directories and files.
SYNOPSIS
du [OPTION]… [FILE]…
OPTIONS
-a
Displays the space that each file is taking up.
-k
Write the files sizes in units of 1024 bytes, rather than the default 512-byte units.
-s
Instead of the default output, report only the total sum for each of the specified files.
-d
Do not cross filesystem boundaries. For example, du -d / reports usage only on the root partition.
-L
Process symbolic links by using the file or directory which the symbolic link references, rather than the link itself.
-o
Do not add child directories’ usage to a parent’s total. Without this option, the usage listed for a particular directory is the space taken by the files in that directory, as well as the files in all directories beneath it. This option does nothing if -s is used.
-r
Generate messages about directories that cannot be read, files that cannot be opened, and so forth, rather than being silent (the default).
-x
When evaluating file sizes, evaluate only those files that have the same device as the file specified by the file operand.
-c
Display size of each item.
directories
Specifies the directory or directories.
EXAMPLES
All the du examples shown here are executed on a directory containing the following contents:
$ ls
linuxKernel redhat testfile.txt ubuntu
1. Display memory usage by each file
$ du -a 0 ./redhat/rh7 4 ./redhat 4 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4 ./ubuntu 16 . $ du 4 ./redhat 4 ./ubuntu 16 .
If -a is not used then only directories that are occupying some disk are listed.
2. Display output in human readable form
For human readable format -h option is used.
$ du -ah 0 ./redhat/rh7 4.0K ./redhat 4.0K ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 16K .
3. Display grand total
Through the -c option, one can get the total usage in the output.
$ du -ahc 0 ./redhat/rh7 4.0K ./redhat 4.0K ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 16K . 16K total
4. Display only the total
Only total is displayed using -s option.
$ du -sh 7.3G .
5. Customize the block size in output
$ du -ac 0 ./redhat/rh7 4 ./redhat 4 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4 ./ubuntu 16 . 16 total
The above output is represented in terms of number of 1024 bytes blocks. Now suppose if we require the output to be in number of 2048 bytes block, then in this case the flag ‘–block-size’ can be used.
$ du -ahc --block-size=2048 0 ./redhat/rh7 2 ./redhat 2 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 2 ./ubuntu 8 . 8 total
6. Display output in bytes
For bytes, -b option is used.
$ du -achb 0 ./redhat/rh7 4096 ./redhat 3 ./testfile.txt 0 ./linuxKernel 0 ./ubuntu/ub10 4096 ./ubuntu 12291 . 12291 total
7. Exclude particular types of file(s)
Say excluding txt files
$ du -cbha --exclude="*.txt" 0 ./redhat/rh7 4.0K ./redhat 0 ./linuxKernel 0 ./ubuntu/ub10 4.0K ./ubuntu 12K . 12K total
8. Display the modification time and customize the display style
This can be achieved through –time and –time-style options..
$ du -cbha --time 0 2012-05-22 21:52 ./redhat/rh7 4.0K 2012-05-22 21:52 ./redhat 3 2012-06-18 19:23 ./testfile.txt 0 2012-05-22 21:52 ./linuxKernel 0 2012-05-22 21:52 ./ubuntu/ub10 4.0K 2012-05-22 21:52 ./ubuntu 13K 2012-06-18 19:23 . 13K 2012-06-18 19:23 total
$ du -cbha --time --time-style=iso 0 2012-05-22 ./redhat/rh7 4.0K 2012-05-22 ./redhat 3 2012-06-18 ./testfile.txt 0 2012-05-22 ./linuxKernel 0 2012-05-22 ./ubuntu/ub10 4.0K 2012-05-22 ./ubuntu 13K 2012-06-18 . 13K 2012-06-18 total
For –time-style, you can also use full-iso, long-iso, iso.
Sanfoundry Global Education & Learning Series – 1000 Linux Tutorials.
- Apply for Linux Internship
- Apply for Programming Internship
- Practice Programming MCQs
- Buy Linux Books
- Buy Information Technology Books