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

FreeBSD Manual Pages

  
 
  

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 be-
	       ing  imported.	That  is, the refresh, file deletion and shell
	       spawning	options	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 ex-
	       porting a directory with	many files.  10.000 files will get you
	       an export 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 millions of	files.

       -e, --extended, --no-extended
	       Enable/disable extended information mode.  This will, in	 addi-
	       tion  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 in-
	       formation 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
	       modified	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
       importing directory information from a file.

       -x, --one-file-system
	       Do  not	cross filesystem boundaries, i.e. only count files and
	       directories 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  dis-
	       played  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 different from how hard links are handled.   The	 exact
	       counting	 behavior of this flag is subject to change in the fu-
	       ture.

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

	       The complete list of currently  known  pseudo  filesystems  is:
	       binfmt,	bpf, cgroup, cgroup2, debug, devpts, proc, pstore, se-
	       curity, 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
	       initialized  until  the	scan  is complete.  When exporting the
	       data with -o, ncurses will not be initialized at	all.  This op-
	       tion is the default 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
	       exporting 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  option.  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
	       feedback	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 sec-
	       onds  with -q or	--slow-ui-updates.  This option	can be used to
	       save bandwidth over remote connections.	This option has	no ef-
	       fect in combination with	-0.

       --enable-shell, --disable-shell
	       Enable or disable shell spawning	from the file  browser.	  This
	       feature	is  enabled  by	default	when scanning a	live directory
	       and disabled 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  feature can work as a safeguard to prevent acci-
	       dental 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	direc-
	       tory 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 op-
	       tion 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.
	       Recognized  values  are	hash to	draw ASCII '#' characters (de-
	       fault and most portable), half-block to use half-block  drawing
	       characters  or eighth-block to use eighth-block drawing charac-
	       ters.  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 exam-
	       ple, --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.
	       Enabled 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  backgrounds 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,  al-
       lowing  users to	override options set in	the system configuration.  Op-
       tions given on the command line will override options set in  the  con-
       figuration   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 configu-
       ration 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
	       descending 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 exist anymore on the	filesystem.

       t       Toggle dirs before files	when sorting.

       g       Toggle  between showing percentage, graph, both,	or none.  Per-
	       centage is relative to the size of the current directory, graph
	       is relative 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.   Re-
	       quires 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  directo-
	       ries,  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 en-
	       abled 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 be-
	       fore spawning the shell,	allowing you to	detect if  your	 shell
	       is running from within ncdu.  This can be useful	to avoid nest-
	       ing  multiple  instances,  although  ncdu itself	does not (cur-
	       rently) 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 indi-
	       cated size may not be correct.

       <       File or directory is excluded from the statistics by using  ex-
	       clude 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 di-
       rectory 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
       unnecessary 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  ad-
       vantages	 when  compared	to running ncdu	directly on the	remote system:
       You can browse through the scanned directory on the local system	 with-
       out  any	 network  latency, 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 happen.

       On macOS	10.15 and later, running ncdu on the  root  directory  without
       --exclude-firmlinks  may	 cause	directories  to	be scanned and counted
       multiple	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 14.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+14.3.quarterly>

home | help