1 unstable release
new 0.1.3 | Nov 17, 2024 |
---|
#9 in #multi-threaded
740KB
737 lines
๐งน VolScan
__ __ _ ____
\ \ / / ___ | |/ ___| ___ __ _ _ __
\ \ / / / _ \ | |\___ \ / __| / _` || '_ \
\ V / | (_) || | ___) || (__ | (_| || | | |
\_/ \___/ |_||____/ \___| \__,_||_| |_|
๐ VolScan: High-speed, multi-threaded disk scanner providing detailed directory summaries with JSON/CSV output support.
โจ Features
- โก High Performance: Scans large disks at lightning speed, outperforming traditional tools like
du
,find
, andtree
. - ๐ Detailed Directory Summaries: Provides per-directory stats, including:
- Number of files
- Total size
- Latest creation, access, and modification times
- ๐ Flexible Output Formats: Outputs results in easy-to-analyze JSON or CSV formats.
- ๐ Streaming Output: Streams results directly to output files, maintaining low and consistent memory usage regardless of disk size.
- ๐ ๏ธ Customizable Threads: Configurable multi-threading support to maximize performance based on your system's resources.
- ๐ Network Disk Support: Optimized for inspecting both local and network-mounted disks.
- ๐๏ธ Built-in Viewer: Includes a lightweight viewer to analyze JSON/CSV outputs directly.
- ๐ Precision Scanning: Handles enormous filesystems while ensuring accuracy and reliability.
Perfect for professionals dealing with massive storage systems or anyone seeking deep insights into disk contents!
๐ Installation
To install volscan, simply clone the repository and follow the instructions below:
git clone git@github.com:trinhminhtriet/volscan.git
cd volscan
cargo build --release
cp ./target/release/volscan /usr/local/bin/
Running the below command will globally install the volscan
binary.
cargo install volscan
Optionally, you can add ~/.cargo/bin
to your PATH if it's not already there
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
๐ก Usage
USAGE:
volscan <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
help Prints this message or the help of the given subcommand(s)
parse Parse results files
scan Scan a directory
stream Stream file paths to stdout from a given set of directories
๐๏ธ Uninstallation
Running the below command will globally uninstall the volscan
binary.
cargo uninstall volscan
Remove the project repo
rm -rf /path/to/git/clone/volscan
๐ค How to contribute
We welcome contributions!
- Fork this repository;
- Create a branch with your feature:
git checkout -b my-feature
; - Commit your changes:
git commit -m "feat: my new feature"
; - Push to your branch:
git push origin my-feature
.
Once your pull request has been merged, you can delete your branch.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
Dependencies
~10โ20MB
~262K SLoC