Why Linux CLI is the spearpoint blade of your SRE/DevOps/ITOps swiss army knife.
Kaushik Banerjee ( He/Him/His )
SVP| Autonomous & Accountable DevOps, APAC SRE Head for Trading Tech| Execution, Empathy & Unleashing Team's Potential| I help Organizations reduce TOIL ,MTTR & MTTD while Improving Resiliency & Reliability
Why Linux CLI is the spearpoint blade of your SRE/DevOps/ITOps swiss army knife.
Trying something on Docker got me musing that the Docker CLI is (almost) the same as Linux CLI. I am guessing that's by design.
That further got me thinking along the lines that Linux CLI should be the most important tool in an SRE/DevOps/ITOps person's arsenal.
I Googled around for the top 10 most important tools for SRE/DevOps/ITOps. The results were all full of new age ( and decidedly useful/awesome ) suspects.
In my opinion, all the Dockers, Grafanas, Gits, Ansibles, AWS, Azures, PagerDuties etc are all great but Linux CLI is the most important, the most used, and the most underrated tool in our toolkit.
( Image grab from awwmemes.com. Please contact me for credits, if you are the owner of the image )
Let me try to make the case.
Linux CLI is ubiquitous. There are (mainly ) two operating system families. Windows Family and the MUCH bigger Linux Family (Mac OS X, Android, Chrome OS, PS4 OS are all from the Linux family). Even Windows has now introduced the WSL, Windows Subsystem for Linux to run Linux compatible cmds/libraries from your Windows Desktop.
There is an EXCELLENT Visualization at https://eylenburg.github.io/os_familytree.htm ( click on the embedded link below )
( As an aside Linux is technically a Kernel and not an OS, but for most intent and purposes it's treated as an OS, especially for the scope of this article ).
(Image credit unknown. Please contact me for credits, if you are the owner of the image )
Windows OS is great for desktop use. But anything on the enterprise/server-side is likely to be Linux-based. As such you will need a good grasp of Linux CLI to be able to do anything worthwhile in SRE/DevOps/ITOps.
Learning Linux CLI or Bash/ksh makes you able to do things at scale.
领英推荐
Churning through logs looking for clues ( find/grep/awk etc ), transforming that info into something else ( sed/awk ), deploying 100s of server instances or containers from your Docker Images ( shell scripts or even a CLI cmd line like "for I in `some list`; do something; done").
As per the latest StackOverflow Survey ( https://insights.stackoverflow.com/survey/2021#programming-scripting-and-markup-languages ) Linux commands are still one of the top 10 most used languages ( ahead of the C++ and C and just behind Python ) and one of the top 15 best paying.
Unix-like shells being ubiquitous, Linux CLI skills are transferrable whereas specific UI skills are (mostly) limited to that particular UI.
FunFact : Did you know the Containers as made famous by Docker are based on Linux Container technology ( LXC ). Docker is based on the LXC containerization technology but it has really made it a mass movement by making it very user-friendly and building tools on top of it.
I can go on, but I believe I have made my point. :)
If you want to use/practice Linux CLI on your Desktop then I would suggest downloading Windows WSL and changing the default shell to Ubuntu ( from PowerShell ).
The lovable Penguin being the Original open-source tech has tons of excellent free books to read.
I would recommend :
Linux for Beginners by Jason Cannon ( I couldn't find a reliable free download link )
The Linux Command Line by William Shotts ( https://linuxcommand.org/tlcl.php )