DEV Community

Rodolfo Mendes
Rodolfo Mendes

Posted on

5 CLI Tools Every Developer Must Learn

If you are a beginner developer, this is a good starting point for your studies. If you are a senior already and you are not familiar with these tools, would be a good moment to step back a while and improve some fundamentals.

1 - Linux terminal

You don't necessarily need to create a dual boot on your computer to learn Linux terminal. MacOS and Linux have similar terminal commands and for Windows users there are alternatives like Git bash or WLS. But as developer, you need to be familiar with Linux terminal commands, at least, the basic ones like navigating the file system, listing processes, creating links, creating and listing environment variables, setting permissions and executing files. Standard input and output redirection and processes pipelining would be a good catch too.

2 - man pages

Linux man (man stands for MANual) pages could be part of the topic 1 but deserves a special place. Back to 1970s, when UNIX was created, computer operators needed a way to check how a command worked. And because they could not memorize everything and there was no Google nor Stackoverflow, the command man was created. So, it's a quite simple command that returns the documentation of the referenced command on the terminal. Creating the habit of reading the man pages leads you to quickly master using the Linux terminal

3 - ssh

Most of time we develop in network environments, and we need to do it securely. So, you need to know how to create an encrypted connection to another computer over a network so you can operate it via terminal.

4 - git

Although most of IDEs have Git tooling integrated, I believe that going through CLI at least during your learning process can get you deeper on how the Git versioning process works. Also, code checkout is the first step during CI/CD pipelines, so you will need to understand how the CLI works to build that automation.

5 - bash/ksh/powershell

Finally, some basic knowledge of the scripting language of your favorite OS can help put all this together and then you'll be able to automate some daily tasks and be more productive.

Top comments (0)