this post was submitted on 06 May 2025
111 points (97.4% liked)

Linux

54128 readers
603 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 11 points 6 days ago (1 children)

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.

[–] [email protected] 1 points 6 days ago

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.

Yes indeed, and that's true for any challenging skill to hone.

[–] [email protected] 10 points 6 days ago

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

[–] [email protected] 1 points 4 days ago

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.

fuzzy search of autocompleted command arguments

[–] [email protected] 4 points 5 days ago (1 children)
[–] [email protected] 2 points 5 days ago* (last edited 5 days ago)

I've done this. It had the opposite effect.

[–] [email protected] 5 points 6 days ago* (last edited 6 days ago)

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
[–] [email protected] 1 points 4 days ago

Doing hackthebox or other CTF challenges, Using CLI software, writing bash scripts.

[–] [email protected] 5 points 6 days ago

Have someone on Google doing the thing I need to do.

[–] [email protected] 4 points 6 days ago

Good cushions

[–] [email protected] 4 points 6 days ago (1 children)

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 😅

[–] [email protected] 3 points 6 days ago

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.

[–] skozzii 3 points 6 days ago (1 children)

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.

[–] [email protected] 2 points 5 days ago

I 100% agree. I'm still relatively new but this helped me become much more confident.

[–] [email protected] 1 points 5 days ago* (last edited 5 days ago)

C:[Enter]
###

[–] [email protected] 2 points 6 days ago

Well, it's easy... just be born in the early 80s and grow up with home micros!

[–] [email protected] 2 points 6 days ago

Knowing the commands

[–] [email protected] 1 points 6 days ago

I want a dropdown terminal la guake and yuake. Both options don't work on my Fedora. Because of this, I almost never use the terminal.

[–] [email protected] 1 points 6 days ago

if the avg enduser has to temper in a commandline, your program is ass.

[–] [email protected] 36 points 1 week ago* (last edited 1 week ago) (3 children)

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.

[–] [email protected] 6 points 6 days ago

On that front: to developers-

Please make sure you include bash completions for your tools

[–] [email protected] 3 points 6 days ago (1 children)

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...

[–] [email protected] 2 points 6 days ago* (last edited 6 days ago)

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.

load more comments (1 replies)
[–] [email protected] 27 points 1 week ago* (last edited 1 week ago) (1 children)

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.

[–] remotedev 16 points 1 week ago (1 children)

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..."

[–] [email protected] 8 points 1 week ago

As a fan of german rap this gave me a good chuckle. Thx.

[–] [email protected] 23 points 1 week ago (3 children)

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!

[–] [email protected] 1 points 6 days ago

works for common flags too, like in df -h, the h stands for human readable, I always find myself mumbling "human" while typing that one

[–] [email protected] 11 points 1 week ago (1 children)

pwd for password, man for mansplain, and dd for destroy disk

[–] [email protected] 7 points 1 week ago

Hey, the first two don't sound quite right

[–] Tlaloc_Temporal 10 points 1 week ago

'ls' is an abbreviation for 'list', not an acronym. Like copy -> cp, and the other keystroke saving abbreviations.

[–] [email protected] 21 points 1 week ago (3 children)

Colors. And a nice, readable font. Make your terminal pretty so you feel good every time you interact with it. Think about window dimensions (I personally always find the standard 80x24 too small), maybe set up some manual tiling so you can have two terminal windows fill your screen. Use the keyboard to move around your desktops.

But mostly, colors.

[–] [email protected] 6 points 1 week ago (1 children)

Colors and ASCII graphics.

It doesn't have to be complicated. Or fancy.

But breaking things up so it's readable helps massively.

load more comments (1 replies)
load more comments (2 replies)
[–] [email protected] 20 points 1 week ago

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.

[–] [email protected] 18 points 1 week ago

Okay, this is not Linux-specific, but it's about a transferable skill:

What helped me get comfortable and learn a lot of basics was setting up NetBSD. The basic install throws you into a basic command line, with no graphical interface installed and not even the internet configured. But the online guide for setting the system up is incredibly well-written and teaches you all the concepts you need to know.

After doing this, I was familiar with a larger set of terminal commands, knew how to use vi, had a bunch of practice setting up config files in CLI and even finally learned how pipes work. It's a very enjoyable experience, the guide is so good I didn't feel overwhelmed once and anything you have to look up is tied to a problem you're solving (like cursor movement in vi).

It also teaches you how NetBSD is structured. It's not Linux, but similar enough to understand a lot of how and why things are done in Linux systems

[–] [email protected] 17 points 1 week ago

Working in a remote environment

[–] [email protected] 13 points 1 week ago

Really specific here, but font control.

Us folks with dyslexia in its various expressions have trouble with command line. If you can't read a specific command, good luck ever getting comfortable with it. You can't error check yourself, so until you build up memory, you're kinda screwed if you can't use the fonts that are available.

[–] [email protected] 11 points 1 week ago* (last edited 1 week ago) (2 children)

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.

[–] [email protected] 1 points 6 days ago

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.

A good example for this is docker compose -f when you work alot if compose files ! Having an alias for docker compose -f as dcf saves hours a month xD

load more comments (1 replies)
[–] [email protected] 8 points 1 week ago (3 children)

I think just doing it more, and thinking it's cool to interact more directly. At least that helps me. I do feel bad for dyslexic peiple though, it's a lot harder for them to use CLI.

load more comments (3 replies)
[–] SplashJackson 7 points 1 week ago (2 children)

I set it so when I hit CTRL-Tilde it drops down from the top of the screen.

Quake-style, baby.

load more comments (2 replies)
[–] [email protected] 6 points 1 week ago (1 children)

Maybe controversial, but the fish shell. I know it's not strictly bash syntax, but the OOTB features are just so user-friendly. The most helpful features for learning: the autocomplete (with descriptions of subcommands and flags!) and the fuzzy history search.

I write bash scripts all the time, and am significantly more knowledgeable than anyone else on my team (admittedly frontend) because I got comfortable in fish.

load more comments (1 replies)
[–] [email protected] 6 points 1 week ago

Using computers since before GUI was available... Sometimes I think we ought to go back to it

[–] [email protected] 5 points 1 week ago (6 children)

For me, it was having a cool-looking and user-friendly terminal app.

load more comments (6 replies)
load more comments
view more: next ›