How to Use the Command `du` (with examples)

How to Use the Command `du` (with examples)

  • Osx
  • December 17, 2024

The du command is a widely used Unix/Linux command-line utility that provides disk usage statistics. It allows users to estimate the amount of disk space consumed by directories and their contents. This tool is highly valuable for system administrators, developers, and general users trying to manage disk space efficiently. By understanding the usage patterns of various directories and files, users can make informed decisions on data storage and disk space management.

List the sizes of a directory and any subdirectories, in the given unit (KiB/MiB/GiB)

Code:

du -k|m|g path/to/directory

Motivation:

This specific use case is essential when a user needs to quickly gauge the disk consumption of directories and files over a large filesystem using a standardized unit, like kilobytes (KiB), megabytes (MiB), or gigabytes (GiB). This can be particularly useful when managing servers or systems where disk usage needs to be analyzed regularly.

Explanation:

  • du: The basic command to display disk usage.
  • -k|m|g: These options specify the units for reporting sizes: -k for kilobytes, -m for megabytes, and -g for gigabytes. Users choose the unit that suits their needs.
  • path/to/directory: This placeholder should be replaced with the actual path of the directory for which you need the disk usage statistics.

Example Output:

256     path/to/directory/subdir1
512     path/to/directory/subdir2
768     path/to/directory

List the sizes of a directory and any subdirectories, in human-readable form

Code:

du -h path/to/directory

Motivation:

Using the -h option provides an intuitive and user-friendly output that simplifies the interpretation of disk usage statistics. This is advantageous when comparing sizes visually and discerning the relative disk consumption of different parts of the filesystem without needing to mentally convert large numbers.

Explanation:

  • du: Invokes the disk usage command.
  • -h: Stands for “human-readable”. It automatically selects the most appropriate unit to display sizes, like KiB, MiB, GiB, making it easier to read.
  • path/to/directory: The directory for which you want to summarize disk usage.

Example Output:

256K    path/to/directory/subdir1
512K    path/to/directory/subdir2
768K    path/to/directory

Show the size of a single directory, in human-readable units

Code:

du -sh path/to/directory

Motivation:

This option is perfect when a user only needs a summary view of a specific directory’s total disk usage. It eliminates the clutter of listing each file and subdirectory size, providing a clean, single-line summary useful for quick assessments or reporting.

Explanation:

  • du: The command to calculate disk usage.
  • -s: This option stands for “summarize,” meaning that only the total size of the specified directory is displayed, excluding details of individual files or subdirectories.
  • -h: The human-readable flag simplifies the output into readable units.
  • path/to/directory: The target directory whose size you want to check.

Example Output:

768K    path/to/directory

List the human-readable sizes of a directory and of all the files and directories within it

Code:

du -ah path/to/directory

Motivation:

Detailed insights into disk usage can be more informative when each file and directory’s size is shown. This use case is crucial for a deeper analysis, especially when diagnosing storage issues or identifying large files that might need to be archived or deleted.

Explanation:

  • du: The disk usage command.
  • -a: This option means that all files and directories, including each file under the specified directory, are listed with their sizes.
  • -h: Converts raw sizes into human-readable formats.
  • path/to/directory: The directory you want to analyze.

Example Output:

64K     path/to/directory/file1.txt
128K    path/to/directory/file2.jpg
256K    path/to/directory/subdir1

List the human-readable sizes of a directory and any subdirectories, up to N levels deep

Code:

du -h -d 2 path/to/directory

Motivation:

This command is beneficial when you want to limit the depth of the report, especially in directories with many nested subdirectories. It is valuable for a concise view of disk usage, capturing only the top levels and summarizing deeper content, leading to quicker insights.

Explanation:

  • du: Begins the disk usage command.
  • -h: Formats the output in human-readable size units.
  • -d 2: Limits the directory depth level for reporting to 2. Adjust the number as needed for higher or lower directory nesting levels.
  • path/to/directory: The directory path to examine.

Example Output:

256K    path/to/directory/subdir1
512K    path/to/directory/subdir2
768K    path/to/directory

List the human-readable size of all .jpg files in subdirectories of the current directory, and show a cumulative total at the end

Code:

du -ch */*.jpg

Motivation:

This use case focuses on specialized file types, which is useful when specific types, like images, need to be managed due to their typical large sizes. It helps in tracking and deciding which files could be relocated or deleted to free up space.

Explanation:

  • du: Commences the command to check disk usage.
  • -c: A cumulative total for all listed files is shown at the end of the report.
  • -h: Ensures sizes are presented in a human-readable format.
  • */*.jpg: A pattern that matches all .jpg files within any subdirectory of the current working directory.

Example Output:

64K     subdir1/image1.jpg
128K    subdir2/image2.jpg
192K    total

Conclusion:

The du command, with its versatile options, serves as a powerful tool for monitoring and managing disk space usage. Understanding each use case enables users to tailor the command’s functionality to specific scenarios, providing insightful data that can enhance disk management strategy and efficiency. After mastering these examples, users can handle their storage requirements with greater efficacy, minimize space issues, and maintain optimal performance.

Tags :

Related Posts

Using the Command 'git request-pull' (with examples)

Using the Command 'git request-pull' (with examples)

The git request-pull command is a useful tool in the Git version control system that allows developers to generate a review-friendly request for incorporating changes from a branch into the main project repository.

Read More
How to Use the Command 'fc-cache' (with examples)

How to Use the Command 'fc-cache' (with examples)

The fc-cache command is a utility in Unix-like operating systems that is employed to scan font directories and build font cache files.

Read More
How to Use the Command 'flutter' (with examples)

How to Use the Command 'flutter' (with examples)

Flutter is an innovative software development kit (SDK) created by Google, designed to build natively compiled applications for mobile, web, and desktop from a single codebase.

Read More