Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ossobv/dutree
dutree (python lib/cli) helps quickly find which files/dirs are taking up space. Compare it with a summary of ncdu.
https://github.com/ossobv/dutree
cli disk-usage library
Last synced: about 2 months ago
JSON representation
dutree (python lib/cli) helps quickly find which files/dirs are taking up space. Compare it with a summary of ncdu.
- Host: GitHub
- URL: https://github.com/ossobv/dutree
- Owner: ossobv
- License: gpl-3.0
- Created: 2017-12-21T09:01:34.000Z (about 7 years ago)
- Default Branch: develop
- Last Pushed: 2024-04-18T15:41:45.000Z (9 months ago)
- Last Synced: 2024-04-24T03:42:24.811Z (9 months ago)
- Topics: cli, disk-usage, library
- Language: Python
- Homepage:
- Size: 118 KB
- Stars: 10
- Watchers: 6
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
dutree :: Disk usage summary
============================*dutree* shows a summary of the directories/files which take up the most
space.Instead of showing *only the root of the files* with sizes, or the
details of *every file*, it shows *only the paths taking up the most
space*.Example usage::
$ dutree /srv --apparent-size
Annotated output, where only paths of >5% of the total size are shown
(which is about 4GB for this dataset)::12.1 G /srv/data/audiofiles/
^-- audiofiles contains files/dirs with a total of 12.1G
but it does NOT contain a single dir or file larger
than 4G.
4.3 G /srv/data/callrecordings/unmatched/
4.5 G /srv/data/fax/
17.5 G /srv/data/playlists/
34.4 G /srv/data/twinfield_invoices/1/
7.8 G /srv/data/*
^-- data contains more files/directories than shown above
but those that don't total above 4G are merged into
this "leftover" node. that includes everything in
/twinfield_invoices/ except for the /1/ subdirectory
which has its individual listing above.
32 B /srv/*
^-- only /data/ is in /srv/, but the directory itself also
takes up a tiny bit of space
-----
80.6 G TOTAL (86558511658)**NOTE**: The directories do not count the size of themselves, only of
their contents. This explains any discrepancies with ``du -sb`` output.Library usage::
>>> from dutree import Scanner
>>> scanner = Scanner('/srv')
>>> tree = scanner.scan(use_apparent_size=True)
>>> tree.app_size()
86558511658>>> len(tree.get_leaves())
7>>> leaf0 = tree.get_leaves()[0]
>>> leaf0.name()
'/srv/data/audiofiles/'>>> leaf0.app_size() / (1024.0 * 1024 * 1024)
12.092280263081193Development:
- Please run the python2 and python3 tests after developing::
python2 dutree/test_dutree.py
python3 dutree/test_dutree.pyHistory
-------* v1.8
- **Add experimental feature to do scanning from a file instead of the
filesystem.**
See commit bbebcf98 for details.
Original code by Seppe Lucas.* v1.7
- **Skip /proc and /sys filesystems by default.**
- **Use --xdev to stay on the same filesystem.**
- **Uses --count-blocks by default; use --apparent-size to negate.*** v1.6
- **Fix so the tests work with Python 3 as well.**
- **Fix grave bugs with real size.**
The real size calculation was wrong sometimes, it could raise
assertions or the leaf count could be off.* v1.5
- **Add apparent vs. real size.**
Deprecates ``node.size()``. Use ``node.app_size()`` instead.
Get the real used size using ``node.use_size()``.
Group by real used size by passing ``use_apparent_size=False`` to
``scan()``.
- **Don't die if we cannot enter directories.**