All Projects → KSXGitHub → parallel-disk-usage

KSXGitHub / parallel-disk-usage

Licence: Apache-2.0 License
Highly parallelized, blazing fast directory tree analyzer

Programming Languages

rust
11053 projects
typescript
32286 projects
shell
77523 projects
python
139335 projects - #7 most used programming language
powershell
5483 projects

Projects that are alternatives of or similar to parallel-disk-usage

Webpack Bundle Analyzer
Webpack plugin and CLI utility that represents bundle content as convenient interactive zoomable treemap
Stars: ✭ 11,472 (+7811.72%)
Mutual labels:  chart, size
Filesize.js
JavaScript library to generate a human readable String describing the file size
Stars: ✭ 997 (+587.59%)
Mutual labels:  filesystem, size
diskover-community
Diskover Community Edition - Open source file indexer, file search engine and data management and analytics powered by Elasticsearch
Stars: ✭ 1,257 (+766.9%)
Mutual labels:  filesystem, disk-usage
Nnn
n³ The unorthodox terminal file manager
Stars: ✭ 13,138 (+8960.69%)
Mutual labels:  filesystem, disk-usage
diskusage
FANTASTIC SPEED utility to find out top largest folders/files on the disk.
Stars: ✭ 64 (-55.86%)
Mutual labels:  size, disk-usage
anyfs
Portable file system for Node
Stars: ✭ 17 (-88.28%)
Mutual labels:  filesystem
aks-terraform-helm
Showcase for Azure, AKS, Terraform, Helm and Let's Encrypt
Stars: ✭ 23 (-84.14%)
Mutual labels:  chart
treemap-chart
A treemap interactive chart web component for visualizing hierarchical data
Stars: ✭ 27 (-81.38%)
Mutual labels:  chart
c3-rails
c3 for Rails
Stars: ✭ 15 (-89.66%)
Mutual labels:  chart
helm-charts
docs.renovatebot.com/helm-charts
Stars: ✭ 51 (-64.83%)
Mutual labels:  chart
GetSTFolderSize
Get folder sizes blazingly fast with PowerShell
Stars: ✭ 41 (-71.72%)
Mutual labels:  size
FireFiles
Powerful Android File Manager for everything that runs on Android OS (Android TV, Android Watch, Mobile, etc)
Stars: ✭ 37 (-74.48%)
Mutual labels:  filesystem
DepthChart
深度图
Stars: ✭ 28 (-80.69%)
Mutual labels:  chart
d3-dotmatrix
Open Source Javascript library to render Dot Matrix Charts
Stars: ✭ 14 (-90.34%)
Mutual labels:  chart
SharpPhysFS
Managed wrapper for the PhysFS library
Stars: ✭ 14 (-90.34%)
Mutual labels:  filesystem
HumanBytes
A library to convert byte sizes to a human readable form
Stars: ✭ 28 (-80.69%)
Mutual labels:  size
mwdust
Dust maps in the Milky Way
Stars: ✭ 21 (-85.52%)
Mutual labels:  dust
rc-charts
一个基于BizCharts的图表库
Stars: ✭ 22 (-84.83%)
Mutual labels:  chart
VisualFamilyTree
With this app you can create a family tree with extensive information and pictures about the individual family members.
Stars: ✭ 44 (-69.66%)
Mutual labels:  chart
moodle-tool objectfs
Object file storage system for Moodle
Stars: ✭ 61 (-57.93%)
Mutual labels:  filesystem

Parallel Disk Usage (pdu)

Test Benchmark Clippy Code formatting Lint dependency graph Crates.io Version

Highly parallelized, blazing fast directory tree analyzer.

Description

pdu is a CLI program that renders a graphical chart for disk usages of files and directories, it is an alternative to dust and dutree.

Benchmark

The benchmark was generated by a GitHub Workflow and uploaded to the release page.

Programs

benchmark results (lower is better)

(See more)

Demo

screenshot

asciicast of pdu command

asciicast of pdu command on /usr

Features

  • Fast.
  • Relative comparison of separate files.
  • Extensible via the library crate or JSON interface.
  • Optional progress report.
  • Customize tree depth.
  • Customize chart size.

Limitations

  • Ignorant of hard links: All hard links are counted as real files.
  • Do not follow symbolic links.
  • Do not differentiate filesystem: Mounted folders are counted as normal folders.
  • The runtime is optimized at the expense of binary size.

Development

Prerequisites

Test

./test.sh && ./test.sh --release
Environment Variables
name type default value description
FMT true or false true Whether to run cargo fmt
LINT true or false true Whether to run cargo clippy
DOC true or false false Whether to run cargo doc
BUILD true or false true Whether to run cargo build
TEST true or false true Whether to run cargo test
BUILD_FLAGS string (empty) Space-separated list of flags for cargo build
TEST_FLAGS string (empty) Space-separated list of flags for cargo test

Run

./run pdu "${arguments[@]}"
  • "${arguments[@]}": List of arguments to pass to pdu.

Build

Debug build

cargo build --bin pdu

The resulting executable is located at target/debug/pdu.

Release build

cargo build --bin pdu --release

The resulting executable is located at target/release/pdu.

Update shell completion files

./generate-completions.sh

Extending parallel-disk-usage

The parallel-disk-usage crate is both a binary crate and a library crate. If you desire features that pdu itself lacks (that is, after you have asked the maintainer(s) of pdu for the features but they refused), you may use the library crate to build a tool of your own. The documentation for the library crate can be found in docs.rs.

Alternatively, the pdu command provides --json-input flag and --json-output flag. The --json-output flag converts disk usage data into JSON and the --json-input flag turns said JSON into visualization. These 2 flags allow integration with other CLI tools (via pipe, as per the UNIX philosophy).

Beware that the structure of the JSON tree differs depends on the number of file/directory names that were provided (as CLI arguments):

  • If there are only 0 or 1 file/directory names, the name of the tree root would be a real path (either . or the provided name).
  • If there are 2 or more file/directory names, the name of the tree root would be (total) (which is not a real path), and the provided names would correspond to the children of the tree root.

Installation

Any Desktop OS

From GitHub

Go to the GitHub Release Page and download a binary.

From crates.io

Prerequisites:

cargo install parallel-disk-usage --bin pdu

Arch Linux

From the Arch User Repository

Prerequisites:

  • An AUR helper, such as paru
paru -S parallel-disk-usage-bin
paru -S parallel-disk-usage

From Khải's Pacman Repository

Follow the installation instruction then run the following command:

sudo pacman -S parallel-disk-usage

Distributions

Packaging Status

Similar programs

License

Apache 2.0 © Hoàng Văn Khải.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].