CLI is an acronym for Command Line Interface or Command Language Interpreter. The command line is one of the most powerful ways to control your system/computer.
In Unix like systems, CLI is the interface by which a user can type commands for the system to execute. The CLI is very powerful, but is not very error-tolerant.
The CLI allows you to do manipulations with your system’s internals and with code in a much more fine-tuned way. It offers greater flexibility and control than a GUI regardless of what OS is used. Many programs that you might want to use in your software that are hosted on say Github also require running some commands on the CLI in order to get them running.
My favorite tools
screen - free terminal multiplexer, I can start a session and My terminals will be saved even when you connection is lost, so you can resume later or from home
ssh - the most valuable over-all command to learn, I can use it to do some amazing things:
- mount a file system over the internet with
- forward commands: runs against a
rsync server with no
rsync deamon by starting one itself via ssh
- run in batch files: I can redirect the output from the remote command and use it within local batch file
vi/vim - is the most popular and powerful text editor, it's universal, it's work very fast, even on large files
bash-completion - contains a number of predefined completion rules for shell
Tips & Hacks
- searches the command history with
CTRL + R
popd/pushd and other shell builtins which allow you manipulate the directory stack
- editing keyboard shortcuts like a
CTRL + U,
CTRL + E
- combinations will be auto-expanded:
!* - all arguments of last command
!! - the whole of last command
!ssh - last command starting with ssh