TodayTools

Explain shell command

Paste a terminal command and see what every part does, in plain words.

PrivateNo uploadsRuns in your browser

Donate

In short

  1. 1Find, errors are hidden.

Each part of the command

Tap any part of the command to light up its box.

find ~ -type f -size +500M -mtime -90 -exec ls -lh {} \; 2>/dev/null
  1. findCommand

    Loading the command list.

  2. ~Argument

    An argument given to find.

    • ~ is your home folder.
  3. -typeOptionNot in our list yet

    An option for find.

  4. fArgument

    An argument given to find.

  5. -sizeOptionNot in our list yet

    An option for find.

  6. +500MArgument

    An argument given to find.

  7. -mtimeOptionNot in our list yet

    An option for find.

  8. -90Argument

    An argument given to find.

  9. -execOptionNot in our list yet

    An option for find.

  10. lsArgument

    An argument given to find.

  11. -lhOptionNot in our list yet

    An option for find.

  12. {}Argument

    An argument given to find.

  13. \;Argument

    An argument given to find.

  14. 2>/dev/null2>Redirect

    Hides error messages by throwing them away.

    • 2 means stream 2, the error messages.
PrivateNo uploadsInstant

Real commands to try

How to read a shell command

  1. Paste the command

    Paste or type any terminal command, or pick a real-life example. It is explained as you type, up to 2,000 characters.

  2. Point at a part

    Hover or tap any part of the command to see its explanation box light up. Each part has its own colour, and combined flags like -xzvf are split letter by letter.

  3. Check the warnings, then copy

    Commands that can delete data or run code from the internet get an amber warning that says why. Copy the explanation as text or Markdown, or share a link.

Good to know

  • A command is a program name, then options (starting with - or --), then arguments such as file names. Options with one dash can be joined: -xzvf is -x -z -v -f.
  • | (pipe) passes the output of one program into the next. && runs the next part only if the last one worked; || only if it failed; ; always.
  • Quotes matter. Single quotes keep text exactly as written. Double quotes still fill in $variables but keep spaces together.
  • Before running a command that deletes things, swap the delete for a list: run find without -delete, rsync with --dry-run, git clean with -n.
  • Paste a crontab line such as 0 2 * * * /path/backup.sh and the schedule is explained too.
  • Ctrl+C (Cmd+C on a Mac) with nothing selected copies the whole explanation. Share link opens the same command for a friend.

Where people use it

  • Check before you paste

    Found a fix on a forum? See what each part does, and get a warning if it deletes files or runs a script from the web.

  • Learn the terminal

    Point at -xzvf or 2>&1 and read what it means in plain words, letter by letter.

  • Review a deploy script

    Paste an rsync, ssh or docker line from a script and check the paths and options before it touches a server.

  • Explain a command to a teammate

    Copy the explanation as Markdown for a ticket or a code review, or share a link.

  • Read a cron job

    Paste a crontab line to see when it runs. For schedules alone, the cron parser goes deeper.

    Cron expression parser and editor

Why this one

It reads the command the way the shell does: quotes, pipes, $( ) and here-documents, and the inside of bash -c and ssh commands too.

  • Every part of the command gets its own coloured box.
  • Combined flags like -xzvf are split letter by letter.
  • Amber warnings for commands that can wipe data.
  • Nothing is run or uploaded.

What you can change

  • Real-life example commands
  • Recent commands
  • Copy as text or Markdown
  • Share link

People find this page by searching

  • explain shell command
  • what does this command do
  • explain linux command
  • bash command explained
  • what does rm -rf do
  • tar xzvf meaning
  • what does 2>&1 mean
  • chmod 755 meaning
  • is this command safe
  • terminal command meaning
Cite this tool
  • APA
    sdev.in. (n.d.). Explain shell command [Web tool]. https://www.sdev.in/tools/explain-shell-command
  • MLA
    "Explain shell command." sdev.in, https://www.sdev.in/tools/explain-shell-command.
  • Chicago
    sdev.in. "Explain shell command." https://www.sdev.in/tools/explain-shell-command.
  • BibTeX
    @misc{sdev-explain-shell-command,
      title = {Explain shell command},
      author = {{sdev.in}},
      howpublished = {\url{https://www.sdev.in/tools/explain-shell-command}},
      note = {Web tool}
    }

Questions people ask

Does this run my command?

No. The command is only read and explained, right here in your browser. Nothing is run and nothing is uploaded, so it is safe to paste even a dangerous command to check it first.

What does 2>&1 mean?

Every program has two outputs: stream 1 for normal output and stream 2 for error messages. 2>&1 sends the errors to the same place as the normal output, so command > log.txt 2>&1 saves both into log.txt.

What is the difference between > and >>?

> replaces the file with the new output, so whatever was in it is gone. >> adds the output to the end and keeps what was there. A common mistake is sort file > file, which empties the file before sort can read it.

What do the numbers in chmod 755 mean?

Each digit is one group of people: owner, group, everyone else. Add 4 for read, 2 for write and 1 for run. So 7 is read, write and run, and 5 is read and run. 755 suits programs and folders, 644 suits normal files.

Why is curl piped into bash marked as risky?

The script is downloaded and run in one go, with your rights and often as root, before you can read it. If the site is hacked or the address is mistyped, so is your computer. Save it to a file, read it, then run it.

Which shells and systems does it cover?

Commands for bash, zsh and sh on Linux and Mac, with about 160 common programs and their usual options. Commands it does not know yet still get their structure explained: pipes, redirects, quotes and variables.

Donate