Mastering the command line? A few observations. First, consult and take notes (yes, even seasoned terminal veterans forget syntax.) Secondly, embrace tab completion. It’s your friend, and a surprisingly effective substitute for remembering every single command. Third, the true test: procure a VPS or remote server and exclusively use the command line. No GUI crutches allowed. It’s a digital wilderness, and you’ll learn to navigate it.
Lastly, and this is non-negotiable: keep a terminal window permanently resident on your desktop. Consider it a vital organ, deserving of its space. It’s a constant reminder of the power you wield, and a readily available portal to a world beyond the pretty buttons.
2 things got me comfortable on command line: 1) A great cheat sheet (one from Ubuntu: https://ubuntu.com/download/server/thank-you); 2) Practice all the commands from the cheat list regularly. Last page is something for Pro version, but first 2 pages are great for a begginer. There is a typo at a command (or it was in a past cheat sheet): “Sudo change <username>” instead of “sudo chage <username>”. It helped me most to get comfortable with terminal. Enjoy!
In my experience repetition helped. Not memorization, but more like muscle memory.
Also, ensuring to never copy and paste commands but to type them in manually yourself. It’s hard to enforce this on yourself, but worth it.
I appreciate that this article started with “ways to reduce risk” because that’s an extremely valid concern and tied to why you shouldn’t ever copy and paste. The one time in my early Linux forays where I copied and pasted I wiped the wrong drive. It definitely taught me to always manually type it in and not get too lazy, because what you copied might not match what you want to do exactly.
Stumbled across a game that teaches the command line as you play it. Seems like a good place to share https://gitlab.com/slackermedia/bashcrawl
personally, writing and saving simple scripts - IE project based learning - is how i got time in the saddle.
To things that helps no mater your skill level the tab key is your best friend and man pages are great but if those are overwhelming install the package tldr then you can use the command tldr and the command you are trying to run to give you helpful examples of how to use that command.
Also old users don’t remember long commands if we use a command more than once. You save it to your bash alias file to create your own commands.
in my experience, practice, practice, and more practice. but “just git gud m8” isn’t really helpful advice. if you don’t have half a decade on hand, i can make a few more practical recommendations.
a shell that can do argument autocomplete is your best friend. personally, i use zsh + ohmyzsh + fzf + fzf-tab, but i’m sure there are other configs, and i’ve heard ohmyzsh is a bit of a nightmare, though i haven’t had too many issues.
so let’s say you’re running the one rsync command this month, and you forgot the args, just tab-tab and you can search through the arguments with fzf.
Breaking things.
/
to search man pages was a gamechanger
using tldr instead of man 90% of the time to preserve your sanity
🎉 COLORS ! READABILITY ! CONCISION ! CONCRETE EXAMPLES ! 🎉
tldr is very useful
Also, knowing vim keys is useful because a lot of terminal programs use them.
I have no clue… I grew up on Windows 3.11 and I thought Windows was kinda lame while MS-DOS was the coolest thing ever because you typed things like magic spells 😅
This right here (more or less - first home PC was Win95, but it still relied pretty heavily on DOS, esp for games). I loved the RPGs where you typed in your actions, too.