DEV Community

William Lake
William Lake

Posted on • Edited on

Create a linux alias to list all available commands

Infomercial-style qualifier: These instructions were created on Ubuntu 18.04. Your mileage may vary.

I find myself constantly Googling Linux commands and then promptly forgetting them. This morning I decided to find a better way, and after creating my own process I thought I'd share. Hopefully it's useful to someone in the future.

Bonus: Found something useful along the way: https://www.commandlinefu.com/commands/browse


How To

Create an alias named allcomm and save it in your .bashrc.
echo "alias allcomm=\"compgen -A function -abck\"" >> ~/.bashrc

Reload your .bashrc so the changes will take effect.
source ~/.bashrc

Usage

Searching results:
allcomm search_string_here

E.g.

allcomm zip zip zipnote zipcloak zipgrep zipinfo zipsplit zipdetails 
Enter fullscreen mode Exit fullscreen mode

Searching via grep:
allcomm | grep search_string_here

E.g.

allcomm | grep zip zip preunzip unzip zipnote unzipsfx zipcloak zipgrep zipinfo funzip prezip-bin mzip zipsplit zipdetails gpg-zip prezip bzip2recover bunzip2 gunzip gzip bzip2 
Enter fullscreen mode Exit fullscreen mode

Source: https://stackoverflow.com/a/949006

Top comments (3)

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

Combine with the too long didn't read tool

tldr.sh/

Because man pages are only useful as a reference, not as tutorials for common use cases

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

How to do this with zsh?

Collapse
 
moopet profile image
Ben Sinclair

Zsh supports bash completion, if you tell it to:

autoload bashcompinit && bashcompinit 

will tell it to load the compatibility "built-ins" which include compgen. It's not 100% compatible, but that should get you started.