Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
NCDU(1) 		     General Commands Manual			 NCDU(1)

NAME
     ncdu -- NCurses Disk Usage

SYNOPSIS
     ncdu [-f file] [-o file] [-e, --extended, --no-extended] [--ignore-config]
	  [-x, --one-file-system, --cross-file-system] [--exclude pattern]
	  [-X, --exclude-from file] [--include-caches, --exclude-caches]
	  [-L, --follow-symlinks, --no-follow-symlinks]
	  [--include-kernfs, --exclude-kernfs]
	  [--exclude-firmlinks, --follow-firmlinks] [-0, -1, -2]
	  [-q, --slow-ui-updates, --fast-ui-updates]
	  [--enable-shell, --disable-shell] [--enable-delete, --disable-delete]
	  [--enable-refresh, --disable-refresh] [-r] [--si, --no-si]
	  [--disk-usage, --apparent-size] [--show-hidden, --hide-hidden]
	  [--show-itemcount, --hide-itemcount] [--show-mtime, --hide-mtime]
	  [--show-graph, --hide-graph] [--show-percent, --hide-percent]
	  [--graph-style hash | half-block | eighth-block] [--sort column]
	  [--enable-natsort, --disable-natsort]
	  [--group-directories-first, --no-group-directories-first]
	  [--confirm-quit, --no-confirm-quit]
	  [--confirm-delete, --no-confirm-delete] [--color off | dark | dark-bg]
	  [path]
     ncdu [-h, --help]
     ncdu [-v, -V, --version]

DESCRIPTION
     ncdu  (NCurses  Disk  Usage)  is an interactive curses-based version of the
     well-known du(1), and provides a fast way to see what directories are using
     your disk space.

OPTIONS
   Mode Selection
     -h, --help
	     Print a short help message and quit.

     -v, -V, --version
	     Print version and quit.

     -f file
	     Load the given file, which has earlier been  created  with  the  -o
	     flag.  If file is equivalent to '-', the file is read from standard
	     input.

	     For  the sake of preventing a screw-up, the current version of ncdu
	     will assume that the directory information  in  the  imported  file
	     does  not	represent  the filesystem on which the file is being im-
	     ported.  That is, the refresh, file deletion and shell spawning op-
	     tions in the browser will be disabled.

     dir     Scan the given directory.

     -o file
	     Export all necessary information to file  instead	of  opening  the
	     browser interface.  If file is '-', the data is written to standard
	     output.  See the examples section below for some handy use cases.

	     Be  warned that the exported data may grow quite large when export-
	     ing a directory with many files.  10.000 files will get you an  ex-
	     port  in the order of 600 to 700 KiB uncompressed, or a little over
	     100 KiB when compressed with gzip.  This  scales  linearly,  so  be
	     prepared  to  handle a few tens of megabytes when dealing with mil-
	     lions of files.

     -e, --extended, --no-extended
	     Enable/disable extended information mode.	This will,  in	addition
	     to the usual file information, also read the ownership, permissions
	     and  last	modification  time  for  each file.  This will result in
	     higher memory usage (by roughly ~30%) and in a larger  output  file
	     when exporting.

	     When  using  the  file  export/import function, this flag should be
	     added both when exporting (to make sure the information is added to
	     the export) and when importing (to read this extra  information  in
	     memory).	This  flag  has no effect when importing a file that has
	     been exported without the extended information.

	     This enables viewing and sorting by the latest child mtime, or mod-
	     ified time, using 'm' and 'M', respectively.

     --ignore-config
	     Do not attempt to load any configuration files.

   Scan Options
     These options affect the scanning progress, they have no  effect  when  im-
     porting directory information from a file.

     -x, --one-file-system
	     Do  not  cross filesystem boundaries, i.e. only count files and di-
	     rectories on the same filesystem as the directory being scanned.

     --cross-file-system
	     Do cross filesystem boundaries.  This is the default,  but  can  be
	     specified to overrule a previously configured -x.

     --exclude pattern
	     Exclude files that match pattern.	The files are still displayed by
	     default,  but  are  not  counted towards the disk usage statistics.
	     This argument can be added multiple times to add more patterns.

     -X, --exclude-from file
	     Exclude files that match any pattern in file.  Patterns  should  be
	     separated by a newline.

     --include-caches, --exclude-caches
	     Include  (default)  or exclude directories containing CACHEDIR.TAG.
	     Excluded cache directories are still displayed, but their	contents
	     will  not	be scanned or counted towards the disk usage statistics.
	     https://bford.info/cachedir/

     -L, --follow-symlinks, --no-follow-symlinks
	     Follow (or not) symlinks and count the size of the file they  point
	     to.   This  option does not follow symlinks to directories and will
	     cause each symlinked file to count as a unique file.  This is  dif-
	     ferent  from how hard links are handled.  The exact counting behav-
	     ior of this flag is subject to change in the future.

     --include-kernfs, --exclude-kernfs
	     (Linux only) Include (default) or exclude Linux pseudo  filesystems
	     such as /proc (procfs) and /sys (sysfs).

	     The complete list of currently known pseudo filesystems is: binfmt,
	     bpf,  cgroup,  cgroup2,  debug,  devpts,  proc,  pstore,  security,
	     selinux, sys, trace.

     --exclude-firmlinks, --follow-firmlinks
	     (MacOS only) Exclude or follow firmlinks.

   Interface Options
     -0      Don't give any feedback while scanning a directory or  importing  a
	     file,  except  when a fatal error occurs.	Ncurses will not be ini-
	     tialized until the scan is complete.  When exporting the data  with
	     -o, ncurses will not be initialized at all.  This option is the de-
	     fault when exporting to standard output.

     -1      Write  progress information to the terminal, but don't open a full-
	     screen ncurses interface.	This option is the default when  export-
	     ing to a file.

	     In some cases, the ncurses browser interface which you'll see after
	     the  scan/import  is  complete may look garbled when using this op-
	     tion.  If you're not exporting to a file, -2 is  usually  a  better
	     choice.

     -2      Show  a full-screen ncurses interface while scanning a directory or
	     importing a file.	This is the only interface that  provides  feed-
	     back on any non-fatal errors while scanning.

     -q, --slow-ui-updates, --fast-ui-updates
	     Change  the  UI  update interval while scanning or importing.  ncdu
	     updates  the  screen  10  times   a   second   by	 default   (with
	     --fast-ui-updates	), this can be decreased to once every 2 seconds
	     with -q or --slow-ui-updates.  This option  can  be  used	to  save
	     bandwidth	over  remote  connections.  This option has no effect in
	     combination with -0.

     --enable-shell, --disable-shell
	     Enable or disable shell spawning from the file browser.  This  fea-
	     ture  is enabled by default when scanning a live directory and dis-
	     abled when importing from file.

     --enable-delete, --disable-delete
	     Enable or disable the built-in file deletion feature.  This feature
	     is enabled by default when scanning a live directory  and	disabled
	     when  importing  from file.  Explicitly disabling the deletion fea-
	     ture can work as a safeguard to prevent accidental data loss.

     --enable-refresh, --disable-refresh
	     Enable or disable directory refreshing from the file browser.  This
	     feature is enabled by default when scanning a  live  directory  and
	     disabled when importing from file.

     -r      Read-only	 mode.	  When	 given	 once,	this  is  an  alias  for
	     --disable-delete,	 when	given	twice	it   will    also    add
	     --disable-shell,  thus  ensuring that there is no way to modify the
	     file system from within ncdu.

     --si, --no-si
	     List sizes using base 10 prefixes, that is, powers of 1000 (kB, MB,
	     etc), as defined in the International System of Units (SI), instead
	     of the usual base 2 prefixes (KiB, MiB, etc).

     --disk-usage, --apparent-size
	     Select whether to display disk usage (default) or	apparent  sizes.
	     Can also be toggled in the file browser with the 'a' key.

     --show-hidden, --hide-hidden
	     Show  (default)  or  hide "hidden" and excluded files.  Can also be
	     toggled in the file browser with the 'e' key.

     --show-itemcount, --hide-itemcount
	     Show or hide (default) the item counts column.  Can also be toggled
	     in the file browser with the 'c' key.

     --show-mtime, --hide-mtime
	     Show or hide (default) the last modification time column.	Can also
	     be toggled in the file browser with the 'm' key.	This  option  is
	     ignored when not in extended mode, see -e.

     --show-graph, --hide-graph
	     Show  (default)  or hide the relative size bar column.  Can also be
	     toggled in the file browser with the 'g' key.

     --show-percent, --hide-percent
	     Show (default) or hide the relative size percent column.  Can  also
	     be toggled in the file browser with the 'g' key.

     --graph-style hash | half-block | eighth-block
	     Change  the way that the relative size bar column is drawn.  Recog-
	     nized values are hash to draw ASCII  '#'  characters  (default  and
	     most  portable), half-block to use half-block drawing characters or
	     eighth-block to use eighth-block drawing characters.   Eighth-block
	     characters are the most precise but may not render correctly in all
	     terminals.

     --sort column
	     Change  the  default  column  to  sort  on.   Accepted  values  are
	     disk-usage (the default), name, apparent-size, itemcount or  mtime.
	     The latter only makes sense in extended mode, see -e.

	     The  column  name	can be suffixed with -asc or -desc to change the
	     order to  ascending  or  descending,  respectively.   For	example,
	     --sort=name-desc to sort by name in descending order.

     --enable-natsort, --disable-natsort
	     Enable (default) or disable natural sort when sorting by file name.

     --group-directories-first, --no-group-directories-first
	     Sort (or not) directories before files.

     --confirm-quit, --no-confirm-quit
	     Require  a  confirmation before quitting ncdu.  Can be helpful when
	     you accidentally press 'q' during or after a very long scan.

     --confirm-delete, --no-confirm-delete
	     Require a confirmation before deleting a file  or	directory.   En-
	     abled by default, but can be disabled if you're absolutely sure you
	     won't accidentally press 'd'.

     --color off | dark | dark-bg
	     Set the color scheme.  The following schemes are recognized: off to
	     disable  colors,  dark  for  a color scheme intended for dark back-
	     grounds and dark-bg for a variation of the dark color  scheme  that
	     also works in terminals with a light background.

	     The default is off.

CONFIGURATION
     ncdu can be configured by placing command-line options in /etc/ncdu.conf or
     $HOME/.config/ncdu/config.   If  both files exist, the system configuration
     will be loaded before the user configuration, allowing  users  to	override
     options set in the system configuration.  Options given on the command line
     will  override  options set in the configuration files.  The files will not
     be read at all when --ignore-config is given on the command line.

     The configuration file format is simply one command line option  per  line.
     Lines  starting  with  '#' are ignored.  A line can be prefixed with '@' to
     suppress errors while parsing the option.	Example configuration file:

	   # Always enable extended mode
	   -e

	   # Disable file deletion
	   --disable-delete

	   # Exclude .git directories
	   --exclude .git

	   # Read excludes from ~/.ncduexcludes, ignore error if the file does not exist
	   @--exclude-from ~/.ncduexcludes

KEYS
     ?	     Open help + keys + about screen

     up, down, j, k
	     Cycle through the items

     right, enter, l
	     Open selected directory

     left, <, h
	     Go to parent directory

     n	     Order by filename (press again for descending order)

     s	     Order by filesize (press again for descending order)

     C	     Order by number of items (press again for descending order)

     a	     Toggle between showing disk usage and showing apparent size.

     M	     Order by latest child mtime, or modified time (press again for  de-
	     scending order).  Requires the -e flag.

     d	     Delete  the  selected  file or directory.	An error message will be
	     shown when the contents of the directory do not match or do not ex-
	     ist anymore on the filesystem.

     t	     Toggle dirs before files when sorting.

     g	     Toggle between showing percentage, graph, both, or none.	Percent-
	     age is relative to the size of the current directory, graph is rel-
	     ative to the largest item in the current directory.

     c	     Toggle display of child item counts.

     m	     Toggle  display  of latest child mtime, or modified time.	Requires
	     the -e flag.

     e	     Show/hide 'hidden' or 'excluded' files and directories.   Be  aware
	     that  even  if you can't see the hidden files and directories, they
	     are still there and they are still included in the directory sizes.
	     If you suspect that the totals shown at the bottom  of  the  screen
	     are not correct, make sure you haven't enabled this option.

     i	     Show information about the current selected item.

     r	     Refresh/recalculate the current directory.

     b	     Spawn shell in current directory.

	     ncdu  determines  your preferred shell from the NCDU_SHELL or SHELL
	     environment variable (in that order), or calls /bin/sh  if  neither
	     are  set.	 This allows you to also configure another command to be
	     run when he 'b' key is pressed.  For example, to spawn the  vifm(1)
	     file manager instead of a shell, run ncdu as follows:
		   NCDU_SHELL=vifm ncdu
	     The  NCDU_LEVEL  environment  variable is set or incremented before
	     spawning the shell, allowing you to detect if your shell is running
	     from within ncdu.	This can be useful to avoid nesting multiple in-
	     stances, although ncdu itself does not (currently)  warn  about  or
	     prevent this situation.

     q	     Quit

FILE FLAGS
     Entries  in  the browser interface may be prefixed by a one-character flag.
     These flags have the following meaning:

     !	     An error occurred while reading this directory.

     .	     An error occurred while reading a subdirectory,  so  the  indicated
	     size may not be correct.

     <	     File  or directory is excluded from the statistics by using exclude
	     patterns.

     >	     Directory is on another filesystem.

     ^	     Directory is excluded from the statistics	due  to  being	a  Linux
	     pseudo filesystem.

     @	     This is neither a file nor a folder (symlink, socket, ...).

     H	     Same file was already counted (hard link).

     e	     Empty directory.

EXAMPLES
     To  scan  and  browse  the directory you're currently in, all you need is a
     simple:
	   ncdu
     To scan a full filesystem, for example your root filesystem, you'll want to
     use -x:
	   ncdu -x /

     Since scanning a large directory may take a while, you can scan a directory
     and export the results for later viewing:

	   ncdu -1xo- / | gzip >export.gz
	   # ...some time later:
	   zcat export.gz | ncdu -f-
     To export from a cron job, make sure to replace -1 with -0 to suppress  un-
     necessary progress output.

     You can also export a directory and browse it once scanning is done:
	   ncdu -o- | tee export.file | ./ncdu -f-
     The same is possible with gzip compression, but is a bit kludgey:
	   ncdu -o- | gzip | tee export.gz | gunzip | ./ncdu -f-

     To scan a system remotely, but browse through the files locally:
	   ssh -C user@system ncdu -o- / | ./ncdu -f-
     The  -C  option  to ssh enables compression, which will be very useful over
     slow links.  Remote scanning and local viewing  has  two  major  advantages
     when compared to running ncdu directly on the remote system: You can browse
     through  the  scanned directory on the local system without any network la-
     tency, and ncdu does not keep the entire directory structure in memory when
     exporting, so this won't consume much memory on the remote system.

SEE ALSO
     du(1), tree(1).

     ncdu has a website: https://dev.yorhel.nl/ncdu

AUTHORS
     Written by Yorhel <projects@yorhel.nl>

BUGS
     Directory hard links are not supported.  They are	not  detected  as  being
     hard links, and will thus get scanned and counted multiple times.

     Some  minor  glitches  may  appear  when  displaying filenames that contain
     multibyte or multicolumn characters.

     All sizes are internally represented as a signed  64bit  integer.	 If  you
     have  a directory larger than 8 EiB minus one byte, ncdu will clip its size
     to 8 EiB minus one byte.  When deleting or refreshing items in a  directory
     with  a  clipped  size, the resulting sizes will be incorrect.  Item counts
     are stored in a 32-bit integer without overflow detection.  If you  have  a
     directory with more than 2 billion files, quite literally anything can hap-
     pen.

     On  macOS	10.15  and  later,  running  ncdu  on the root directory without
     --exclude-firmlinks may cause directories to be scanned and counted  multi-
     ple  times.  Firmlink cycles are not detected, so it may also cause ncdu to
     get stuck in an infinite loop and eventually run out of memory.

     Please report any other bugs you may find at the bug tracker, which can  be
     found on the web site at https://dev.yorhel.nl/ncdu

FreeBSD ports 15.quarterly	  March 5, 2025 			 NCDU(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ncdu&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help