#multi-threading #tree #filesystem #file-path #command-line-tool

app nextree

Multithreaded cli tool similar in use to tree, with optional logging and CSV output

4 releases

0.1.3 Sep 7, 2022
0.1.2 Sep 7, 2022
0.1.1 Sep 7, 2022
0.1.0 Sep 7, 2022

#133 in #multi-threading

MIT license

10KB
128 lines

nextree

Rust Report Card Crates.io Rust Crates.io

Nextree is a multithreaded (leveraging parallel iterators and threadpool from the rayon crate) and cross-platform command-line utility similar in function to tree, with logging and CSV output. Presently it logs file paths, create, and modify times as reported by the filesyste

Installation

cargo install nextree

or clone this repository and run

cargo build --release && cp target/release/nextree <desired location e.g. /usr/local/bin>

Usage

Set the log level using the RUST_LOG environment variable, either by exporting it or by prepending it to the command. RUST_LOG=OFF or RUST_LOG=INFO are recommended for maximum performance, or RUST_LOG=debug for a more informative output.

USAGE:
    nextree [OPTIONS] --path <PATH>

OPTIONS:
    -h, --help                 Print help information
    -o, --outfile <OUTFILE>    CSV file to output to [default: out.csv]
    -p, --path <PATH>          Root path whose children (files and directories) we want to index

Example

RUST_LOG=INFO nextree -p /home -o ~/Documents/nextree_out.csv

Dependencies

~8.5MB
~145K SLoC