fd is a filesystem walker, a modern find replacement: scans on demand, respects .gitignore by default, takes regex or glob patterns, executes per result.
fd config ~/.config
fd . ~/projects | fzf
plocate is a database-backed filename indexer, compatible with locate: queries a prebuilt index, never touches the disk.
plocate firefox
Trade-off: freshness for speed. fd sees the disk now — current, slow on large trees; plocate is near-instant but knows only what updatedb last indexed, usually via a systemd timer or cron.
| fd | plocate | |
|---|---|---|
| Source | live filesystem | prebuilt index |
| Speed | slower, scales with tree size | near-instant |
| Freshness | always current | stale until updatedb |
| Pipeline-friendly | yes | weaker |
| Scope | a directory you name | whole system |
Pick by question: plocate nvim to find where something lives on the machine, then fd init.lua ~/.config/nvim to search from there.
Easy to confuse: find is the classic recursive walk; ripgrep searches file contents; fzf is an interactive filter over any list; mlocate is the older locate implementation.