this post was submitted on 29 Dec 2024
155 points (98.1% liked)

Linux

49007 readers
1233 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 5 years ago
MODERATORS
 

I am a Linux beginner/amateur and I have sort of had enough of copy and pasting commands I find on the internet without having a good understanding of how they actually work.

I guess my end goal is to be able to comfortably install and use arch Linux with my own customization's and be able to fix it when things go wrong.

What tips/ideas do you have for getting better at navigating the terminal, and getting a better understanding of how the os works. What is a good roadmap to follow? And how did you, advanced Linux user, get to the stage your at now?

Edit: my current distro is bazzite just in case you were interested and thanks for all the replies you are all really helpful.

(page 3) 16 comments
sorted by: hot top controversial new old
[–] [email protected] 8 points 2 weeks ago* (last edited 2 weeks ago)

I have been using Linux since the early 90s. I don't know it all. I read man pages. I use -h or --help. I read the arch wiki. I read docs. I read source files and examples. Lots of reading. You will never know it all. There is too much information.

You need to know how to find information. It can be tricky. Knowing how to ask the right questions often requires you to know a bit of the answer.

Stumbling about trying to find answers is training the skills you need.

I think it helps if you have a programming background and IT support experience. Not just because you will understand more concepts and terms but because you have already developed some of those skills but some people come from other backgrounds and pick things up really quickly because they have well developed research skills.

[–] [email protected] 1 points 2 weeks ago

I learned a lot by using a less common distro (solus). When I would have a problem, the solutions I could find on forums or arch wiki wouldn't apply to my distro directly, and I would have to look into the solution for long enough to understand what needed to change in order for the solution to work.

You can probably do this on any distro, just by not using commands you find online until you understand what they're doing and why that might fix your problem. Arch wiki is a great resource for any distro, even though it won't always be accurate for the distro you're on.

[–] [email protected] 5 points 2 weeks ago (2 children)

If you’re not already, use it as your main system. Don’t dual boot. Stop using windows and mac. When you run into something you need to do, figure out how to do it on linux. It will be slow going at first, but after a few months you will pick up more productivity than you had before.

Another commenter recommended the fish shell, but I disagree because fish is not posix compliant. Almost all of the shell script examples that you will find assume posix compatibility and will usually have to be modified to run with fish. Once you get comfortable with a posix-compliant shell, then maybe consider fish or another “modern” shell.

On the topic of shells, read the bash manual. It’s long and informative. You don’t have to memorize it, but be aware of the different concepts there, and refer to it when you need to. It’s pretty horrible as a programming language, but it’s what glues most of Linux together.

load more comments (2 replies)
[–] [email protected] 3 points 2 weeks ago

Install TLDR pages from your package manager to get easy access to the most useful information

https://tldr.sh/

[–] [email protected] 27 points 2 weeks ago (7 children)

Command line cheat sheet (with bonus vim controls):

load more comments (7 replies)
[–] [email protected] 9 points 2 weeks ago

It sounds a bit nerdy, but dedicate some time just to learning a specific command once in a while. Start with something straightforward like ls. Read through the man pages and try out all the different options for it. After a while, you'll master quite a few commands and will be able to string them together to perform more complex tasks. It's definitely easier learning the system piece by piece like this. I used to learn by just jumping right in to a complex task, but I ended up with just a superficial understanding most of the time. Now days I try to be more deliberate about reading all the documentation and actually learning the tool/command/etc.

Also, Arch has the archinstall script that greatly simplifies the install process if you need it. You'll definitely learn more doing it manually though. I've been using Arch as my daily driver for a year now and I love it.

[–] [email protected] 27 points 2 weeks ago

Just don't copy paste the commands. Really! Just take the time to understand what the command does, read the manual, and rewrite it yourself instead of pasting it. That alone will help a fair bit and can start guessing what it should be.

After a while of doing that it stops being a "paste this command to make the service run" and becomes "ask systemd to enable and start the service". You start associating editing files in /etc with "will probably need to slap a sudo in front of that one", you start mentally replacing nano/vi/vim/emacs/nvim/sed with your preferred way of editing the file, because you absorb the concept of "this command edits a text file".

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

For one, stop copying and pasting commands and start learning about the basics of the shell.

Here's a basic tutorial from UC Berkeley: https://computing.stat.berkeley.edu/tutorial-using-bash/

Things you'll want to focus on:

  1. Delimiters
  2. Syntax (Bash by default, but the syntax for whatever your chosen shell is)
  3. Switches
  4. Path (absolute and relative)
  5. Operators (Pipe will become one of your most heavily used)

Then once you learn to do some basics, I would hammer repetition. Just force yourself to do things you would usually do via GUI by command line. I started with the basics of updating my system way back in the day with sudo apt-get update && upgrade

Just type type type type all those commands until remembering them is muscle memory.

load more comments (2 replies)
[–] [email protected] 3 points 2 weeks ago
[–] [email protected] 40 points 2 weeks ago* (last edited 2 weeks ago) (7 children)
  1. You can always use man command and just read through it. If you want less text, use curl cheat.sh/command (learn how to use aliases) or the tools tldr and cheat
  2. Install the fish shell, it makes using the terminal waaay easier, out of the box.
  3. Install Alpaca flatpak, and use tinyllama or bigger LLM models. Tinyllama is already very sufficient at explaining linux commands and more, and runs fine on my reasonably powerful and modern laptop. Other models may be slow as fuck.
  4. Use the terminal only. Log out, Ctrl+Alt+F2 and login, then use some tools.
$pwd
cd
echo
ls
cat
nano
less
more
chmod
chown
#your package manager
lsblk
dd #be careful!
udisksctl
lsusb
lspci
curl
wget
...

Note: use the man for these tools and often multiple tools do the same thing

  1. There is this online terminal game/quiz but I cant find its name.
load more comments (7 replies)
[–] [email protected] 2 points 2 weeks ago

I have sort of had enough of copy and pasting commands I find on the internet without having a good understanding of how they actually work.

One thing you could do is start trying to understand those commands.

Read the man pages or the documentation to figure out what the commands are actually doing. Once you have the "what" , you can dig deeper to get to the "why" if it isn't obvious by that point.

After enough of that, you'll go to copy/paste and already understand what it's doing without needing to look it up again.

Then from there, it's a matter of building the instinct to be able to say "I need to do X, so I'll use commands Y and Z."

[–] [email protected] 6 points 2 weeks ago (4 children)

Just install Arch, when You follow wiki it's not that hard. if You will make mistakes during the process, You will gain better understanding of how things works while fixing errors.

[–] [email protected] 2 points 2 weeks ago

+1. and yes use the wiki not the install script.

I think theres value to anyone with a genuine interest if they just have a go at an archinstall - I think they can setup most things of interest in a Qemu(vm), or a spare partition, or even a usb or something. Theres nothing to lose but time. I'd recommend the user knows enough about their disk setup and their incumbent boot manager so as not to screw up their main os. Though i'm very tempted to say that's a rite of passage.

Of course everyone already has a regular backup(s) which contains some sort of list or script for all the software, configs and tweaks they normally do. If not - well another rite of passage.

[–] [email protected] 1 points 2 weeks ago* (last edited 2 weeks ago)

+1 for installing Arch. If you have enough knowledge of Linux to understand what Arch is and why it is, comparatively, a more involved installation. Then you're probably ready to install it. As was mentioned in another content, long as you know the basics, it's not as hard as you might think. Also as suggested in another comment installing in a VM or spare hardware is good practice.

As for learning, take the time to understand the commands you're copy/pasting. Read the man page, see what the flags you're pasting in to. That might sound daunting at first, and you might not always be able to completely wrap you're head around it. But you'll learn more and more over time.

[–] [email protected] 3 points 2 weeks ago

Certainly a worthwhile endeavour. But I'd recommend doing it in a VM or a secondary machine before jumping right in on your main computer.

[–] [email protected] 4 points 2 weeks ago (4 children)

This. The arch wiki is a treasure trove of information. The more you do, the more you'll learn.

Also, don't blindly copy paste configs for editors or window managers. Just slowly build them up based on your own use. It'll be painful initially but worthwhile in the long run

load more comments (4 replies)
load more comments
view more: ‹ prev next ›