5 releases
new 0.1.5 | Mar 10, 2025 |
---|---|
0.1.3 | Mar 6, 2025 |
0.1.2 | Mar 6, 2025 |
0.1.1 | Mar 6, 2025 |
0.1.0 | Mar 5, 2025 |
#631 in Filesystem
483 downloads per month
77KB
1.5K
SLoC
fdf - Fast Directory Finder
LINUX ONLY!!!!!!!!!!!!! (should work on openbsd?)
A high-performance file search utility for Linux systems, designed to quickly traverse and filter your filesystem.
PLEASE NOTE
THIS PROJECT IS MEANT TO BE USED AS A COMMIT TO FD AND IS NOWHERE NEAR COMPLETION.
Features
- Ultra-fast multi-threaded directory traversal
- Powerful regex pattern matching (with glob support via
-g
) - Extension filtering (
-E jpg,png
) - Hidden file toggle (default: excluded)
- Case sensitivity control (
-s
for case-sensitive) - File type filtering (files, directories via
-t
) - Thread configuration for performance tuning (
-j 8
) - Max results limit (
-d 100
) - Full path matching (
-p
) - Fixed-string search (non-regex via
-F
)
Requirements
- Linux only: Optimized for Linux filesystems
- Rust 1.74+ (recommended for building from source)
Installation
# Clone & build
git clone https://github.com/alexcu2718/fdf.git
cd fdf
cargo build --release
# Optional system install
cp target/release/fdf ~/.local/bin/
Usage
Arguments
PATTERN: Regular expression pattern to search for
PATH: Directory to search (defaults to root /)
Basic Examples
# Find all files containing "config" in the current directory and subdirectories (case-insensitive and excluding directories+hidden files)
fdf config -c
# Find all JPG files in the home directory (excluding hidden files)
fdf . ~ -E jpg
# Find all Python files in /usr/local (including hidden files)
fdf . /usr/local -E py -H
## Options
-c, --current-directory Uses the current directory instead of the default path
-E, --extension <EXT> Filters results by file extension
-H, --hidden Shows hidden files (those starting with .)
-s, --case-sensitive Enables case-sensitive pattern matching
-j, --threads <NUM> Sets the number of threads to use (default: system available)
-I, --include-dirs Includes directories in results
-g, --glob Treats the pattern as a glob pattern
-d, --max-depth <NUM> Limits results to first N matches
-t, --type <TYPE>... Filters by file type (can be used multiple times)
-p, --full-path Matches against full file paths rather than just names
-F, --fixed-strings Treats pattern as a fixed string, not a regex
-h, --help Displays help information
-V, --version Displays version information
Dependencies
~5.5–8MB
~140K SLoC