Quickly transform sh for a fast, elegant and smart working tool.
It is not surprising that certain people say that the terminal is not friendly, the large number of commands and their possibilities require a skill that is acquired over time. Tasks as simple as installing system updates are complicated in the eyes of a user who is migrating or simply wants to perform the same terminal task more easily.
These problems that some users have come from the fact that the Linux console pressing tab suggests relatively what command we should use, but the help may be insufficient when we need to know the parameters that we have to enter in the commands for its correct operation.
Zsh is an interactive console that was designed so that the user had a friendlier interface to enter the commands. Companies like Apple already incorporate this console in their devices.
The main ingredient of this tutorial requires the acquisition as zsh main user console, its installation is relatively simple.
If you use Arch:
sudo pacman -S zsh
If you use Debian derivatives:
sudo apt-get install zsh
If you have doubts about where you can find this console there is a very useful command to find executables in Linux:
$ whereis zsh
Once the routes are known in a single step you can replace your bash console (located in / bin / bash) with the zsh console (/ usr / bin / zsh).
In Linux, users are assigned a default terminal. This assignment is done in / etc / passwd, if you edit it with root permissions you can see a line similar to the following:
Replace the path / bin / bash with / usr / bin / zsh or the one you have obtained from the whois exit, save and log out to see the changes.
From that moment your terminal will have changed to:
You can see that zsh is a much more modern terminal and that it suggests certain commands in a different way, but we want to have a modern and intelligent terminal. This part is where Oh My ZSH comes in.
Its installation is relatively simple, you have two options (in case you don't have the curl or wget tools):
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
o (in two lines, download and installation):
curl -Lo install.sh https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh sh install.sh
A fully interactive console with menus in the suggestions, in the following screen you can see how without remembering which hash or checkout we want to replace git integrates with the console and ohmyzsh allows vertical and horizontal navigation with menus to obtain the command that we would not remember without looking with other tools: