peek is a modern, customizable, and extensible ls replacement written in Rust. It supports file listing, tree view, size formatting, filtering, and more — with beautiful color output.
- 📁 Basic file listing (like
ls) - 🎨 Colored output with custom folder color (hex)
- 📦 File size display (
--sizeor-s) - 🧾 Long format listing (
--longor-l) with permissions, size, UID, GID, and modified time - 🌲 Tree view (
--treeor-t) with optional--depth N - 👻 Show hidden files (
--allor-a) - 🔍 Glob pattern filtering (
--patternor-p) - 🧠 Persistent color configuration saved in
~/.peekconfig
peekpeek --size
peek -speek --long
peek -lpeek --tree
peek -tpeek -t --depth 2Show hidden files
peek --all
peek -apeek --dir-color FF00FF
peek --dir-color "#00FFFF"(This is saved persistently in ~/.peekconfig)
peek -p "*.rs" # match all .rs files in current dir
peek -t -p "**/*.rs" # match recursively all .rs files
peek -a -p "*lib*" # match files with 'lib' in the name-
Make sure you have Rust installed:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Clone and build:
git clone https://github.com/yourname/peek.git cd peek cargo build --release -
Optionally copy the binary to your bin directory:
cp target/release/peek ~/.local/bin/
Configuration is stored in a JSON file at:
~/.peekconfig
Example content:
{
"dir_color": "FF00FF"
}- Recursive search (
--recursive) - Output to JSON format
- Sort by size/date/name
MIT