News

Learn How to Shell with Explain Shell

Published
Learn How to Shell with Explain Shell image

ExplainShell.com is an online tool built by Idan Kamara that visually explains each part of a Unix command by matching command-line arguments to their help text.

You can paste some code, and the site will break down each piece of the command. For example, take the following find command:

find . -type f -print0

The command will produce the following explanation that allows you to filter and navigate each part of the command:

Here’s the background of the material and technologies used to create explainshell.com:

This site contains 29761 parsed manpages from sections 1 and 8 found in Ubuntu’s manpage repository. A lot of heuristics were used to extract the arguments of each program, and there are errors here and there, especially in manpages that have a non-standard layout.

It is written in Python and uses bashlex, a bit of NLTK (to find the interesting parts of the manpage), a little d3.js (for the connecting lines graphic) and Flask. It is served with uwsgi and nginx. Source code is available on github.

You can try it out at explainshell.com. The source code is also available on GitHub.

Another manpage tool we’ve covered is the excellent TLDR Pages and accompanying command line tool.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
PayZephyr: One Payment API for Stripe, Paystack, and PayPal image

PayZephyr: One Payment API for Stripe, Paystack, and PayPal

Read article
Bifrost Turns One With AI Builds and New Workflows image

Bifrost Turns One With AI Builds and New Workflows

Read article
Preview Blade Templates in macOS Finder with Quick Blade image

Preview Blade Templates in macOS Finder with Quick Blade

Read article
Artisan Debugging Commands in Laravel Telescope 5.24.0 image

Artisan Debugging Commands in Laravel Telescope 5.24.0

Read article
Queue totalSize() and JobInterrupted Event in Laravel 13.31 image

Queue totalSize() and JobInterrupted Event in Laravel 13.31

Read article
Find Unexpected Test Inputs with Fuzz for Pest image

Find Unexpected Test Inputs with Fuzz for Pest

Read article