Skip to content
shellmap

About shellmap

shellmap maps every common shell command to its equivalent in Bash, Zsh, Fish, PowerShell, cmd.exe. One canonical URL per command, one canonical answer per shell, no signup, no fluff.

Why this exists

The internet's answer to "what's the PowerShell equivalent of grep?" is currently a stack of half-written blog posts, signup-walled converter SaaS, and one or two ageing single-page references. None of them treat each command as a thing with its own page that loads in 100ms, shows every shell side-by-side, and stays out of your way.

shellmap is that page. 227 command pages, 17 shell-vs-shell comparisons, 176 task-oriented one-liners, and a live regex translator with 204+ rules — all of it static, all of it free.

How the content is built

  • Per-command pages (227total) give the canonical Unix form, then the equivalents in zsh, fish, PowerShell, and cmd.exe. Each shell's answer includes worked examples with copy-to-clipboard buttons plus the gotchas that silently trip up cross-platform users (mtime vs ctime, recursive globbing differences, object pipelines vs text streams).
  • Per-task pages (176total) cover the intent-shaped queries — "find files modified today", "count lines in a file", "replace text recursively" — and answer each in every shell.
  • Shell-vs-shell comparisons (17 total) lay out the headline differences between any two shells so you can port scripts in either direction.
  • The translator at /translate is regex-based, not LLM-backed — predictable, deterministic, runs entirely in your browser, and honestly says "no clean equivalent" when there isn't one (instead of inventing a fake rewrite).

Accuracy & gotchas

Shell semantics aren't one-to-one. Bash pipes bytes; PowerShell pipes typed objects. fish has its own quoting rules. cmd.exe has its own quoting rules and they're different. We surface those friction points in the "gotchas" section of every command page rather than papering over them with a confident-but-wrong equivalent. If you spot a case where shellmap's suggested equivalent silently changes behaviour, that's a bug worth fixing — please flag it.

Examples use meaningful values (app.log, node_modules, RECIPIENT-KEY-ID) instead of the usual foo / bar noise, so a paste-and-tweak workflow stays viable.

Embed shellmap

Writing a blog post or tutorial that touches a shell command? Drop a shellmap card next to your prose with one line of HTML — see /embed-demo for the snippet and a live preview. Renders inside a shadow DOM so host-page CSS can't bleed in. Free, no signup, no analytics.

How the site is built

shellmap is a Next.js App Router site, fully statically generated (every page is a flat HTML file at the edge), deployed on Coolify behind Cloudflare. There is no database, no login, no server-side rendering on content pages, and no analytics scripts. Pages typically weigh under 35KB over the wire and first-byte from a cold edge cache lands in well under 200ms.

Privacy

shellmap doesn't collect personal information. The only thing we store is your dark/light theme choice, in your browser's localStorage. The full breakdown is in the privacy policy.