Back in 2016, I was introduced to OverTheWire which has a game called Bandit where you can do CTFs using the Command Line.
Capture the Flag (CTF) are exercises in Cybersecurity in which certain pieces of information (flags) are hidden in programs or websites. Finding these "flags" can be a good demonstration of ones hacking skills.
At that time my command line skills were limited to running npm
commands with some basic understanding of what to paste in there and what not to (we all learn early on not to rm -rf
our files)
I did not start playing this game to improve my command line skills but as I went through all the levels it made me feel extremely confident and also made me understand the power of the CLI.
Once you go through all the levels, you won't need a separate program to search files or rename them all. You will feel like you can do the same task much faster through CLI with more control and transparency of operations as compared to GUI
One of the main reasons I recommend this to every newbie is that it brings a great amount of satisfaction to finish each level. You are usually given just enough information, you need to read through a lot of docs and run the man
and help
command a bunch of times to finally build the logic.
The levels in it are well described and you never feel like you couldn't finish a level because it was vague.
What do you learn?
For people just getting into programming, this is a great starting place to learn how to read documentation, stick to a problem, and solve that problem.
The bonus is that you also get the satisfaction of solving something while learning how to use the command line to its full potential.
What do you get?
Bragging rights? Maybe.
There are some more difficult games on OverTheWire like Maze which you can definitely brag about in certain circles.
Add a skill to your resume? Absolutely.
By the time you finish all of the levels and play other games, you will have enough knowledge that you can say it on your resume.
Companies value these basic skills a lot and I can tell you from personal experience that having command line experience has saved me a lot of time at my work.
Learn something that will become the base for lifelong learning potential? YES!
Command line is used everywhere. Servers, Tooling, 20-year-old scripts that delete old files and upload new ones to the server to deploy a website. And you will come across these sooner or later.
It also gives you an edge whenever you are learning a new tool that utilizes CLI.
Want to learn AWS, GCP, or any other cloud platform? If you know your way around CLI you can easily start getting into the difficult parts and get out of any messy GUI.
Closing
I hope you learn something new and exciting from Bandit just as I did. Let me know your thoughts and comments and do share your progress with the game.