du

Display disk usage statistics.
Lists the file system usage for individual files, if a folder argument is passed argument, du will list usage for each sub folder in that hierarchy. If no file is specified, the current folder (hierarchy) is displayed.

Syntax
      du [-H | -L | -P] 
            [-a | -s | -d depth] [-c]
               [-h | -k | -m | -g]
                  [-x] [-I mask]
                     [file ...]

Options
   -H    Symbolic links on the command line are followed, symbolic links
         in file hierarchies are not followed.

   -L    Symbolic links on the command line and in file hierarchies are followed.

   -P    No symbolic links are followed (default)

   -a    Display an entry for each file in a file hierarchy.

   -s    Display an entry for each specified file.  (Equivalent to -d 0)

   -d depth
         Display an entry for all files and folders depth folders deep.

   -h   "Human-readable" output.  Display size with a non-standard suffix as follows:
         B=Byte, K=kilobyte, M=megabyte, G=gigabyte, T=teraByte and P=petabyte.
         All numbers are rounded down. Cannot be used to sort by size.

   -k    KB Display block counts in 1024-byte (1-Kbyte) blocks.
   -m    MB Display block counts in 1048576-byte (1-Mbyte) blocks.
   -g    GB Display block counts in 1073741824-byte (1-Gbyte) blocks.

   -r    Generate any read error messages, on by default, this option
         exists solely for conformance with X/Open Portability Guide 4

   -c    Display a grand total.

   -x    File system mount points are not traversed.

   -I mask
         Ignore files and folders matching the specified mask.

The du utility counts the storage used by symbolic links and not the files they reference unless the -H or -L option is specified.
If either the -H or -L options are specified, storage used by any symbolic links which are followed is not counted or displayed.

Files having multiple hard links are counted (and displayed) a single time per du execution.

If the -k flag is specified, the number of 1024-byte blocks used by the file is displayed, otherwise getbsize(3) is used to determine the preferred block size. Partial numbers of blocks are rounded up.

Revision files

In OSX Lion and greater, folders under /.DocumentRevisions-V100 are used to store previous versions of auto-saved documents.
This can be turned off for each app (defaults write -app 'ApplicationNametoDisable' ApplePersistence -bool no)
Most current mac applications do manage this sensibly and delete older version files automatically.
Old version files can be deleted in bulk with OnyX (Cleaning>Misc>Delete 'Automatically saved versions of Documents').

Environment

If the environment variable BLOCKSIZE is set, and the -k option is not specified, the block counts will be displayed in units of that size block. If BLOCKSIZE is not set, and the -k option is not specified, the block counts will be displayed in 512-byte blocks.

Examples

List files and folders - totalling the size to include subfolders:

du -sk * | sort -nr

List folders and hidden (system folders) - totalling the size to include subfolders:

du -d 1 . | sort -nr

List the 10 largest subdirectories in the current directory:

du -hs */ | sort | head

Display all files, excluding mount points, show "Human-readable" output and traverse to a depth of 2 levels down, starting from the home directory (~):

$ du -cxhd 2 ~

Display a grand total of files on this disk, show "Human-readable" output and traverse to a depth of 1 level down, starting from / the root directory:

$ sudo du -cxhd 1 /

List the size of every directory on the whole system, with each line prefixed by the disk usage in KiB. This is useful for finding crash logs and other files that may be using a lot of disk space:

sudo du -k / | sort -rn > ~/diskuse.txt

List the size of all /.DocumentRevisions-V100/... folders:

sudo du -sh /.DocumentRevisions-V100

“Never go to a doctor whose office plants have died” ~ Erma Bombeck

Related macOS commands

df - Display free disk space.
ln - Make links between files (hard links, symbolic links).
fs_usage - Filesystem usage (process/pathname).
quota - Display disk usage and limits.
open - open a file or folder.
fts(3), compat(5), symlink(7), quot(8)


 
Copyright © 1999-2024 SS64.com
Some rights reserved