How do I list all files ordered by size in Linux?


In the sprawling landscape of Linux filesystems, the ability to swiftly list and organize files by size is a valuable skill. This guide explores the command-line techniques that empower users to efficiently navigate directories, revealing a comprehensive view of files based on their sizes.

Command-Line Elegance: Sorting Files by Size:
  1. du Command:
    • The du (Disk Usage) command is a powerhouse for summarizing directory sizes. When coupled with other commands, it becomes a versatile tool for sorting files by size.
    du -h | sort -rh
    • The -h flag provides human-readable output, and sort -rh arranges files in descending order based on size.
  2. ls Command with sort:
    • By combining the ls command with sort, you can list files and directories in a directory based on their sizes.
    ls -l | sort -k 5 -n
    • The -k 5 flag specifies sorting based on the fifth column (size), and -n ensures a numerical sort.
  3. find Command with du and sort:
    • For a more granular approach, the find command can be integrated with du and sort to list files in subdirectories by size.
    find . -type f -exec du -h {} + | sort -rh
    • This command recursively finds all files (-type f), uses du to calculate their sizes, and then sorts them in descending order.
Example Scenarios:
  1. Using du with sort:
    du -h | sort -rh
    • This command provides a human-readable list of directories and their sizes, sorted in descending order.
  2. Using ls with sort:
    ls -l | sort -k 5 -n
    • Files in the current directory are listed with details (-l), and sort organizes them based on size in ascending order.
  3. Using find with du and sort:
    find . -type f -exec du -h {} + | sort -rh
    • Files in the current directory and its sub-directories are listed with their sizes, sorted in descending order.
Advantages of File Sorting by Size:
  1. Identifying Large Files:
    • Easily pinpoint large files that might be consuming significant disk space.
  2. Managing Storage Efficiently:
    • Optimize storage usage by identifying and managing space-hogging files.
Best Practices for File Size Sorting:
  1. Customizing Output:
    • Adjust the commands based on specific requirements, such as filtering specific file types or directories.
  2. Automation for Routine Tasks:
    • Scripting these commands facilitates automated and routine file size analysis.

Sorting files by size is a valuable technique for efficient filesystem navigation. Whether you are reclaiming storage space, identifying resource-intensive files, or simply maintaining an organized directory structure, these commands empower you to gain insights into your Linux filesystem.

Mastering the art of size-based file sorting adds a layer of efficiency to your Linux command-line repertoire, contributing to effective file management in the diverse and dynamic world of Linux.