kmdr-cli
The CLI tool for learning commands from your terminal
kmdr
provides command explanations for hundreds of programs including git
, docker
, kubectl
,npm
, go
and more straight forward programs such as those built into bash
. See the full list at
https://app.kmdr.sh/program.
Installation
You will need to install the kmdr program and sign-in to begin using kmdr on the CLI.
Requirements
- Node.js v8.x and above
-
A package manager like
npm
oryarn
npm
With npm install kmdr --global
yarn
With yarn global add kmdr
Check installation
Run the command kmdr
to check if it was correctly installed on your system.
$ kmdr Usage: kmdr [options] [command] The CLI tool for learning commands from your terminal Learn more at https://kmdr.sh/ Options: -v, --version output the version number -h, --help output usage information Commands: explain|e Explain a shell command info|i Display system-wide information login|l [email] Log in to kmdr logout Log out from kmdr settings|s Adjust options and preferences version|v Print current version and check for newer release
Troubleshooting installation
Command not found: kmdr
Add the line below to your .bashrc
or .zshrc
if using zsh
export PATH="$(yarn global bin):$PATH"
Sign In
- Log in on the kmdr CLI tool
kmdr login
- Enter your email when prompted
- Check your inbox and click on the link provided in the email.
Usage
Explain a command
Once kmdr-cli
is installed on your system, enter kmdr explain
to return a prompt for entering the command you would like explained.
When the Enter your command:
prompt is returned, enter the command you would like explained and hit the Enter
key.
kmdr
will return syntax highlighting to assist you in differentiating parts of the command followed by the explanation of each of these parts.
An example explanation of git commit -am "Initial commit"
can be seen below.
$ kmdr explain ✔ Enter your command · git commit -am "Initial Commit" git commit -am "Initial Commit" DEFINITIONS git The stupid content tracker commit Record changes to the repository -a, --all Tell the command to automatically stage files that have been modified and deleted -m, --message "Initial Commit" Use the given <msg> as the commit message
Examples
Explaining commands with subcommands
$ kmdr explain ? Enter your command: npm install kmdr@latest --global npm install kmdr@latest --global DEFINITIONS npm Package manager for the Node JavaScript platform install Install a package kmdr@latest The CLI tool for learning commands from your terminal -g, --global Install the package globally rather than locally
Explanining commands with grouped options
$ kmdr explain ? Enter your command: rsync -anv file1 file2 rsync -anv file1 file2 DEFINITIONS rsync A fast, versatile, remote (and local) file-copying tool -a, --archive This is equivalent to -rlptgoD. -n, --dry-run This makes rsync perform a trial run that doesn’t make any changes (and produces mostly the same output as a real run). -v, --verbose This option increases the amount of information you are given during the transfer.
Explaining commands with redireciton
$ kmdr explain ? Enter your command: ls -alh > contents.txt ls -alh > contents.txt DEFINITIONS ls List directory contents -a, --all Do not ignore entries starting with . -l Use a long listing format -h, --human-readable With -l and/or -s, print human readable sizes (e.g., 1K 234M 2G) > contents.txt Redirect stdout to contents.txt.
Explaining list of commands
$ kmdr explain ? Enter your command: dmesg | grep 'usb' > output.log 2>error.log dmesg | grep 'usb' > output.log 2> error.log DEFINITIONS dmesg Print or control the kernel ring buffer | A pipe serves the sdout of the previous command as input (stdin) to the next one grep Print lines matching a pattern > output.log Redirect stdout to output.log. 2> error.log Redirect stderr to error.log.
So what is the reason for signing in? why should it be included in CLI readme?
Supported programs
We add new programs every day! See the full list here: https://app.kmdr.sh/program.
Stay tuned for more updates
- Visit our website https://kmdr.sh/
- Follow us on twitter http://twitter.com/kmdr_sh