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.
On that front: to developers-
Please make sure you include bash completions for your tools
Hehe, I’m doing this all the time now ! 3 years ago when I started my linux/self-hosted server journey with debian: CLI only !
Was difficult at times and had a few breakdowns (most got fixed the next day… Sleep/taking some time off really helps !!!)
One thing I’m still bad at… Is taking notes. Haven’t found a good way take IT notes. And I tried sooo many different approaches…
Breakdowns are inevitable; a good night’s sleep is often the most elegant solution. :) I utilize Zim (for note management) as plain text remains a perfectly serviceable option, imo.
Practice I guess. Especially using cli for specific tasks that is done more efficiently on there than the gui.
Moving files using regex for example is useful. Or finding files with specific phrases in them. Stuff like that
Have someone on Google doing the thing I need to do.
Knowing:
- pwd, ls, cd, cat/less, cp, mv, rm, rmdir, rm -rf, ls -lah
- command --help
- man command | grep thing I care about
- bonus points if you have tldr command installed
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.
Good cushions
Breaking things.
I’ve done this. It had the opposite effect.
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.
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.
“Command: sido not found…”
When you aren’t in a rush try to do stuff in command instead, looking for a file? , try to find it in command. Need to copy and move a folder? Don’t use your file manager, use the command line instead.
Eventually you will piece together the bits you learn and it starts to make sense, and then you feel like a God. Lol.
I 100% agree. I’m still relatively new but this helped me become much more confident.
For me it was self hosting, aka not having a choice but to learn. I’ll be dead before using remote desktop for that.
Also, self hosting gives you real motivation, because you actually need to do things, carry tasks, not just learning for the sake of it. Your efforts get immediately rewarded with functioning things.
What helps me is to understand what commands acronym means. For instance cp for copy, mkdir for make directory, blkid for block id, ls for list (not too sure about actual meaning for s) and so on!
Nice tips about ctrl+r to search in command history. Was not aware it existed!
Working in a remote environment
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.
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!
I am a Linux noob as far as the desktop goes. But I’m quite comfortable in the terminal because for years I’ve maintained a home server running Debian. After I install the OS, I unplug the keyboard and monitor and the only way to talk to that box is through SSH.