dbusev.c + ncdu 1.9 release
This commit is contained in:
parent
fa28f26d69
commit
8341fb9341
9 changed files with 265 additions and 98 deletions
18
dat/dump
18
dat/dump
|
|
@ -1,8 +1,8 @@
|
|||
=pod
|
||||
|
||||
Most of the things I write are simple perl/shell scripts or programs that only
|
||||
serve the purpose of learning something new. This page is a listing of those I
|
||||
thought might be of interest to others as well.
|
||||
I write a lot of miscellaneous little perl/shell scripts and micro-libraries
|
||||
for the purpose of getting something done. This page is a listing of those I
|
||||
thought might be of useful to others as well.
|
||||
|
||||
=head2 bbcode.c
|
||||
|
||||
|
|
@ -64,3 +64,15 @@ L<Example output|http://s.blicky.net/2012/ncdc-share-report.html>.
|
|||
Download: L<0.3|http://p.blicky.net/h25z8>
|
||||
(L<0.2|http://p.blicky.net/6yx2d>, L<0.1|http://p.blicky.net/ab4lm>).
|
||||
|
||||
=head2 dbusev.c
|
||||
|
||||
September 2012. This is a small C library to use
|
||||
L<libdbus|http://www.freedesktop.org/wiki/Software/dbus> with
|
||||
L<libev|http://software.schmorp.de/pkg/libev.html>. It will register IO
|
||||
watchers, timeout handlers, a dispatch function and a wakeup function on behalf
|
||||
of libdbus. You may have to ensure that the right headers are being included in
|
||||
dbusev.c, in my case the "global.h" does that.
|
||||
|
||||
Download: L<dbusev.c|http://g.blicky.net/neoglobster.git/tree/src/dbusev.c> and
|
||||
L<dbusev.h|http://g.blicky.net/neoglobster.git/tree/src/dbusev.h>.
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ In theory, the following instructions should work everywhere:
|
|||
|
||||
=over
|
||||
|
||||
=item * Install the required dependencies: ncurses, bzip2, sqlite3, glib2 and gnutls,
|
||||
=item * Install the required dependencies: ncurses, bzip2, zlib, sqlite3, glib2 and gnutls,
|
||||
|
||||
=item * Download and extract the source tarball from the L<homepage|http://dev.yorhel.nl/ncdc>,
|
||||
|
||||
|
|
|
|||
2
dat/ncdu
2
dat/ncdu
|
|
@ -14,7 +14,7 @@ to run in any minimal POSIX-like environment with ncurses installed.
|
|||
|
||||
=item Latest version
|
||||
|
||||
1.8 ([dllink ncdu-1.8.tar.gz download]
|
||||
1.9 ([dllink ncdu-1.9.tar.gz download]
|
||||
- L<changes|http://dev.yorhel.nl/ncdu/changes>
|
||||
- L<mirror|https://sourceforge.net/projects/ncdu/files/ncdu/>)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,96 +1,120 @@
|
|||
1.9 - 2012-09-27
|
||||
- Added option to dump scanned directory information to a file (-o)
|
||||
- Added option to load scanned directory information from a file (-f)
|
||||
- Added multiple scan and load interfaces (-0,-1,-2)
|
||||
- Fit loading and error windows to the terminal width (#13)
|
||||
- Fix symlink resolving bug (#18)
|
||||
- Fix path display when scanning an empty directory (#15)
|
||||
- Fix hang when terminal is resized to a too small size while loading
|
||||
- Use top-level automake build
|
||||
- Remove useless AUTHORS, INSTALL and NEWS files
|
||||
- ncdu.1 now uses POD as source format
|
||||
|
||||
1.8 - 2011-11-03
|
||||
- Use hash table to speed up hard link detection
|
||||
- Added read-only option (-r)
|
||||
- Use KiB instead of kiB (#3399279)
|
||||
- Use hash table to speed up hard link detection
|
||||
- Added read-only option (-r)
|
||||
- Use KiB instead of kiB (#3399279)
|
||||
|
||||
1.7 - 2010-08-13
|
||||
- List the detected hard links in file info window
|
||||
- Count the size of a hard linked file once for each directory it appears in
|
||||
- Fixed crash on browsing dirs with a small window size (#2991787)
|
||||
- Fixed buffer overflow when some directories can't be scanned (#2981704)
|
||||
- Fixed segfault when launched on a nonexistant directory (#3012787)
|
||||
- Fixed segfault when root dir only contains hidden files
|
||||
- Improved browsing performance
|
||||
- More intuitive multi-page browsing
|
||||
- Display size graph by default
|
||||
- Various minor fixes
|
||||
- List the detected hard links in file info window
|
||||
- Count the size of a hard linked file once for each directory it appears in
|
||||
- Fixed crash on browsing dirs with a small window size (#2991787)
|
||||
- Fixed buffer overflow when some directories can't be scanned (#2981704)
|
||||
- Fixed segfault when launched on a nonexistant directory (#3012787)
|
||||
- Fixed segfault when root dir only contains hidden files
|
||||
- Improved browsing performance
|
||||
- More intuitive multi-page browsing
|
||||
- Display size graph by default
|
||||
- Various minor fixes
|
||||
|
||||
1.6 - 2009-10-23
|
||||
- Implemented hard link detection
|
||||
- Properly select the next item after deletion
|
||||
- Removed reliance of dirfd()
|
||||
- Fixed non-void return in void delete_process()
|
||||
- Fixed several tiny memory leaks
|
||||
- Return to previously opened directory on failed recalculation
|
||||
- Properly display MiB units instead of MB (IEEE 1541 - bug #2831412)
|
||||
- Link to ncursesw when available
|
||||
- Improved support for non-ASCII characters
|
||||
- VIM keybindings for browsing through the tree (#2788249, #1880622)
|
||||
- Implemented hard link detection
|
||||
- Properly select the next item after deletion
|
||||
- Removed reliance of dirfd()
|
||||
- Fixed non-void return in void delete_process()
|
||||
- Fixed several tiny memory leaks
|
||||
- Return to previously opened directory on failed recalculation
|
||||
- Properly display MiB units instead of MB (IEEE 1541 - bug #2831412)
|
||||
- Link to ncursesw when available
|
||||
- Improved support for non-ASCII characters
|
||||
- VIM keybindings for browsing through the tree (#2788249, #1880622)
|
||||
|
||||
1.5 - 2009-05-02
|
||||
- Fixed incorrect apparent size on directory refresh
|
||||
- Browsing keys now work while file info window is displayed
|
||||
- Current directory is assumed when no directory is specified
|
||||
- Size graph uses the apparent size if that is displayed
|
||||
- Items are ordered by displayed size rather than disk usage
|
||||
- Removed switching between powers of 1000/1024
|
||||
- Don't rely on the availability of suseconds_t
|
||||
- Correctly handle paths longer than PATH_MAX
|
||||
- Fixed various bugs related to rpath()
|
||||
- Major code rewrite
|
||||
- Fixed line width when displaying 100%
|
||||
- Fixed incorrect apparent size on directory refresh
|
||||
- Browsing keys now work while file info window is displayed
|
||||
- Current directory is assumed when no directory is specified
|
||||
- Size graph uses the apparent size if that is displayed
|
||||
- Items are ordered by displayed size rather than disk usage
|
||||
- Removed switching between powers of 1000/1024
|
||||
- Don't rely on the availability of suseconds_t
|
||||
- Correctly handle paths longer than PATH_MAX
|
||||
- Fixed various bugs related to rpath()
|
||||
- Major code rewrite
|
||||
- Fixed line width when displaying 100%
|
||||
|
||||
1.4 - 2008-09-10
|
||||
- Removed the startup window
|
||||
- Filenames ending with a tidle (~) will now also be hidden with the 'h'-key
|
||||
- Fixed buffer overflow when supplying a path longer than PATH_MAX (patch by Tobias Stoeckmann)
|
||||
- Used S_BLKSIZE instead of a hardcoded block size of 512
|
||||
- Fixed display of disk usage and apparent sizes
|
||||
- Updated ncdu -h
|
||||
- Included patches for Cygwin
|
||||
- Cursor now follows the selected item
|
||||
- Added spaces around path (debian #472194)
|
||||
- Fixed segfault on empty directory (debian #472294)
|
||||
- A few code rewrites and improvements
|
||||
- Removed the startup window
|
||||
- Filenames ending with a tidle (~) will now also
|
||||
be hidden with the 'h'-key
|
||||
- Fixed buffer overflow when supplying a path longer
|
||||
than PATH_MAX (patch by Tobias Stoeckmann)
|
||||
- Used S_BLKSIZE instead of a hardcoded block size of 512
|
||||
- Fixed display of disk usage and apparent sizes
|
||||
- Updated ncdu -h
|
||||
- Included patches for Cygwin
|
||||
- Cursor now follows the selected item
|
||||
- Added spaces around path (debian #472194)
|
||||
- Fixed segfault on empty directory (debian #472294)
|
||||
- A few code rewrites and improvements
|
||||
|
||||
1.3 - 2007-08-05
|
||||
- Added 'r'-key to refresh the current directory
|
||||
- Removed option to calculate apparent size: both the disk usage and the apparent size are calculated.
|
||||
- Added 'a'-key to switch between showing apparent size and disk usage.
|
||||
- Added 'i'-key to display information about the selected item.
|
||||
- Small performance improvements
|
||||
- configure checks for ncurses.h (bug #1764304)
|
||||
- Added 'r'-key to refresh the current directory
|
||||
- Removed option to calculate apparent size: both
|
||||
the disk usage and the apparent size are calculated.
|
||||
- Added 'a'-key to switch between showing apparent
|
||||
size and disk usage.
|
||||
- Added 'i'-key to display information about the
|
||||
selected item.
|
||||
- Small performance improvements
|
||||
- configure checks for ncurses.h (bug #1764304)
|
||||
|
||||
1.2 - 2007-07-24
|
||||
- Fixed some bugs on cygwin
|
||||
- Added du-like exclude patterns
|
||||
- Fixed bug #1758403: large directories work fine now
|
||||
- Rewrote a large part of the code
|
||||
- Fixed a bug with wide characters
|
||||
- Performance improvements when browsing large dir
|
||||
- Fixed some bugs on cygwin
|
||||
- Added du-like exclude patterns
|
||||
- Fixed bug #1758403: large directories work fine now
|
||||
- Rewrote a large part of the code
|
||||
- Fixed a bug with wide characters
|
||||
- Performance improvements when browsing large dirs
|
||||
|
||||
1.1 - 2007-04-30
|
||||
- Deleting files and directories is now possible from within ncdu.
|
||||
- The key for sorting directories between files has changed to 't' instead of 'd'.
|
||||
The 'd'-key is now used for deleting files.
|
||||
- Deleting files and directories is now possible from
|
||||
within ncdu.
|
||||
- The key for sorting directories between files has
|
||||
changed to 't' instead of 'd'. The 'd'-key is now
|
||||
used for deleting files.
|
||||
|
||||
1.0 - 2007-04-06
|
||||
- First stable release
|
||||
- Small code cleanup
|
||||
- Added a key to toggle between sorting dirs before files and dirs between files
|
||||
- Added graphs and percentages to the directory browser (can be enabled or disabled with the 'g'-key)
|
||||
- First stable release
|
||||
- Small code cleanup
|
||||
- Added a key to toggle between sorting dirs before
|
||||
files and dirs between files
|
||||
- Added graphs and percentages to the directory
|
||||
browser (can be enabled or disabled with the 'g'-key)
|
||||
|
||||
0.3 - 2007-03-04
|
||||
- When browsing back to the previous directory, the directory you're getting
|
||||
back from will be selected.
|
||||
- Added directory scanning in quiet mode to save bandwidth on remote connections.
|
||||
- When browsing back to the previous directory, the
|
||||
directory you're getting back from will be selected.
|
||||
- Added directory scanning in quiet mode to save
|
||||
bandwidth on remote connections.
|
||||
|
||||
0.2 - 2007-02-26
|
||||
- Fixed compliance with some operating systems: replaced realpath() with with my own
|
||||
implementation, and gettimeofday() is not required anymore (but still highly recommended)
|
||||
- Added a warning for terminals smaller than 60x16
|
||||
- Mountpoints (or any other directory pointing to another filesystem) are now considered to be
|
||||
directories rather than files.
|
||||
- Fixed POSIX compliance: replaced realpath() with my
|
||||
own implementation, and gettimeofday() is not
|
||||
required anymore (but highly recommended)
|
||||
- Added a warning for terminals smaller than 60x16
|
||||
- Mountpoints (or any other directory pointing to
|
||||
another filesystem) are now considered to be
|
||||
directories rather than files.
|
||||
|
||||
0.1 - 2007-02-21
|
||||
- Initial version
|
||||
- Initial version
|
||||
|
|
|
|||
146
dat/ncdu-man
146
dat/ncdu-man
|
|
@ -1,5 +1,3 @@
|
|||
.TH ncdu 1 "Nov 3, 2011" "ncdu-1.8" "ncdu manual"
|
||||
|
||||
=head1 NAME
|
||||
|
||||
B<ncdu> - NCurses Disk Usage
|
||||
|
|
@ -18,35 +16,106 @@ provides a fast way to see what directories are using your disk space.
|
|||
|
||||
=head1 OPTIONS
|
||||
|
||||
=head2 Mode Selection
|
||||
|
||||
=over
|
||||
|
||||
=item -h
|
||||
|
||||
Print a short help message.
|
||||
|
||||
=item -q
|
||||
|
||||
Quiet mode. While calculating disk space, ncdu will update the screen 10 times
|
||||
a second by default, this will be decreased to once every 2 seconds in quiet
|
||||
mode. Use this feature to save bandwidth over remote connections.
|
||||
|
||||
=item -r
|
||||
|
||||
Read-only mode. This will disable the built-in file deletion feature.
|
||||
Print a short help message and quit.
|
||||
|
||||
=item -v
|
||||
|
||||
Print version.
|
||||
Print ncdu version and quit.
|
||||
|
||||
=item -f I<FILE>
|
||||
|
||||
Load the given file, which has earlier been created with the C<-o> option. If
|
||||
I<FILE> is equivalent to C<->, 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 imported. That is, the refresh and file
|
||||
deletion options in the browser will be disabled.
|
||||
|
||||
=item I<dir>
|
||||
|
||||
Scan the given directory.
|
||||
|
||||
=item -o I<FILE>
|
||||
|
||||
Export all necessary information to I<FILE> instead of opening the browser
|
||||
interface. If I<FILE> is C<->, 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 exporting 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.
|
||||
|
||||
=back
|
||||
|
||||
=head2 Interface options
|
||||
|
||||
=over
|
||||
|
||||
=item -0
|
||||
|
||||
Don't give any feedback while scanning a directory or importing a file, other
|
||||
than when a fatal error occurs. Ncurses will not be initialized until the scan
|
||||
is complete. When exporting the data with C<-o>, ncurses will not be
|
||||
initialized at all. This option is the default when exporting to standard
|
||||
output.
|
||||
|
||||
=item -1
|
||||
|
||||
Similar to C<-0>, but does give feedback on the scanning progress with a single
|
||||
line of output. 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, C<-2> is probably a better choice.
|
||||
|
||||
=item -2
|
||||
|
||||
Provide 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.
|
||||
|
||||
=item -q
|
||||
|
||||
Quiet mode. While scanning or importing the directory, ncdu will update the
|
||||
screen 10 times a second by default, this will be decreased to once every 2
|
||||
seconds in quiet mode. Use this feature to save bandwidth over remote
|
||||
connections. This option has no effect when C<-0> is used.
|
||||
|
||||
=item -r
|
||||
|
||||
Read-only mode. This will disable the built-in file deletion feature. This
|
||||
option has no effect when C<-o> is used, because there will not be a browser
|
||||
interface in that case. It has no effect when C<-f> is used, either, because
|
||||
the deletion feature is disabled in that case anyway.
|
||||
|
||||
=back
|
||||
|
||||
=head2 Scan Options
|
||||
|
||||
These options affect the scanning progress, and have no effect when importing
|
||||
directory information from a file.
|
||||
|
||||
=over
|
||||
|
||||
=item -x
|
||||
|
||||
Only count files and directories on the same filesystem as the specified
|
||||
I<dir>.
|
||||
Do not cross filesystem boundaries, i.e. only count files and directories on
|
||||
the same filesystem as the directory being scanned.
|
||||
|
||||
=item --exclude I<PATTERN>
|
||||
|
||||
Exclude files that match I<PATTERN>. This argument can be added multiple times
|
||||
to add more patterns.
|
||||
Exclude files that match I<PATTERN>. The files will still be displayed by
|
||||
default, but are not counted towards the disk usage statistics. This argument
|
||||
can be added multiple times to add more patterns.
|
||||
|
||||
=item -X I<FILE>, --exclude-from I<FILE>
|
||||
|
||||
|
|
@ -127,6 +196,47 @@ Quit
|
|||
=back
|
||||
|
||||
|
||||
=head1 EXAMPLES
|
||||
|
||||
To scan and browse the directory you're currently in, all you need is a simple:
|
||||
|
||||
ncdu
|
||||
|
||||
If you want to scan a full filesystem, your root filesystem, for example, then
|
||||
you'll want to use C<-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 C<-1> with C<-0> to suppress
|
||||
any unnecessary 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<-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 latency, and ncdu
|
||||
does not keep the entire directory structure in memory when exporting, so you
|
||||
won't consume much memory on the remote system.
|
||||
|
||||
|
||||
=head1 HARD LINKS
|
||||
|
||||
Every disk usage analysis utility has its own way of (not) counting hard links.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue