#disk #scanning #path #sensitivity

app findex

A file scanning tool for Linux system disks

5 releases

Uses new Rust 2024

new 0.1.4 Apr 27, 2025
0.1.3 Apr 24, 2025
0.1.2 Apr 17, 2025
0.1.1 Apr 13, 2025
0.1.0 Apr 10, 2025

#242 in Command line utilities

Download history 221/week @ 2025-04-09 172/week @ 2025-04-16 237/week @ 2025-04-23

630 downloads per month

MIT license

51KB
525 lines

A file scanning tool for Linux system disks

Binary download

you can download pre-build static binary file from here

usage

fdx -- A file scanning tool for Linux system disks

Version: 0.1.4
Authors: sharkLoc <mmtinfo@163.com>
Source code: https://github.com/sharkLoc/findex.git

Usage:   fdx [OPTIONS] [path]

Arguments:
  [path]  The root directory path to be searched, default "."

Options:
  -a, --all                   If specified, show all iterm in output, including file type, size, created time, file name and path
  -d, --deepth <Number>       Set the maximum search depth. Defaults to unlimited depth (`usize::MAX`) [default: 18446744073709551615]
  -t, --type                  If specified, show file type in output
  -s, --size                  If specified, show file size in output
  -b, --byte <String>         Display file size in a human-readable format. Use with `-s`. 
                              Supported units: `k` (KB), `m` (MB), `g` (GB). Defaults to `b` (bytes) [default: b]
  -c, --ctime                 If specified, show file created time in output
  -i, --hidden                If specified, show hidden files in output
  -p, --full-path             If specified, show full path in output
  -n, --name                  If specified, show file name in output
  -D, --depth-first           Perform a depth-first search instead of the default breadth-first search
  -l, --link                  If specified, show sub-item in symbolink dir
  -e, --ext <String>          Filter files by extension (e.g., `gz`, `csv`, `txt`). Do not include the dot (`.`) in the extension
  -r, --regex <Regex>         Apply a regular expression filter to file paths 
                              The regex is matched against the full file path (not just the file name) 
                              For example: 
                                   - To match files ending with `.gz`: `-r "\.gz$"` 
                                   - To match files containing "log" in their path: `-r "log"` 
                                   Supports standard regex syntax. Use with `-I` to ignore case sensitivity
  -I, --ignore-case           Ignore case when filtering with the `-r` regex option
      --max-size <Number>     Filter file size larger than the specified size (in bytes) 
                              Examples: 
                                   - Exclude files larger than 1 MB: `--max-size 1048576` 
                                   - Exclude files larger than 500 KB: `--max-size 512000`
      --min-size <Number>     Filter files smaller than the specified size (in bytes) 
                              Examples: 
                                   - Exclude files smaller than 1 KB: `--min-size 1024` 
                                   - Exclude files smaller than 10 MB: `--min-size 10485760`
  -H, --no-header             Omit the header row in the output
  -T, --filter-type <String>  Filter by file type: `f` (file), `d` (directory), `l` (symlink) 
                              Examples: 
                                   - Only files: `-T f` 
                                   - Only directories: `-T d`
  -o, --out <File>            Write the output to a file instead of stdout
  -h, --help                  Prints help information
  -V, --version               Prints version information



example:

img

TODO

  • ansi style in tty output
  • support regex filter
  • add logger

Dependencies

~5–13MB
~143K SLoC