this post was submitted on 29 Dec 2024
160 points (98.2% liked)

Linux

55962 readers
1032 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
 

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 2) 50 comments
sorted by: hot top controversial new old
[–] nous@programming.dev 3 points 6 months ago

And how did you, advanced Linux user, get to the stage your at now?

Incrementally over time by reading the documentation and/or manuals of the commands I need to run and looking up how others solve the problems that I need to get other ideas about things (even, periodically, for things that I already know how to do to see if anyone has found a better way to do it or if a new tool has come out that helps). And trying things out/experimenting with different ways of doing things to find out what works well or not.

[–] glans@hexbear.net 3 points 6 months ago

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

https://tldr.sh/

[–] rimu@piefed.social 3 points 6 months ago
[–] AnnaFrankfurter@lemmy.ml 2 points 6 months ago (1 children)

Switch to rolling distro, it will break so many things with each update you'll learn stuff by fixing it. Also you can check https://overthewire.org/wargames/bandit/

[–] pineapple@lemmy.ml 2 points 6 months ago (1 children)

I thought rolling releases were still pretty stable to things really break that often?

[–] TheFadingOne@feddit.org 3 points 6 months ago* (last edited 6 months ago)

They can be really stable. I think your milage severely varies on how much you know what you're doing and how careful you are in respect to certain things.

Personally I've been using Arch for 5 years and I haven't really had any problems with things breaking on updates.

[–] PanArab@lemm.ee 2 points 6 months ago (2 children)

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.

Why? I have been using Linux for nearly two decades and I am perfectly content with a low-config distro and desktop environment. You don’t have to use Arch but if you insist get a Steam Deck.

load more comments (2 replies)
[–] oscardejarjayes@hexbear.net 2 points 6 months ago (1 children)

Attempt an Arch install entirely from memory. You might want to try this in a VM, in case something goes wrong, but just do it. If you can't quite remember what to do, man and ls /bin are your friends.

[–] pineapple@lemmy.ml 2 points 6 months ago* (last edited 6 months ago) (1 children)

Sorry man I said I was a beginner I have never installed arch before that was more like an end goal I am not there yet I should have said i'm just running bazzite atm.

[–] oscardejarjayes@hexbear.net 2 points 6 months ago

Sure, maybe I was a little ambitious. But my point is mistakes can bring learning, so it might be worth it to try something "hard". Trying things in a virtual machine is also often a good idea.

[–] BillibusMaximus@sh.itjust.works 2 points 6 months 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."

[–] berryjam@lemmy.world 2 points 6 months ago
[–] Matriks404@lemmy.world 2 points 6 months ago
  1. Learn FreeBSD.

  2. Learn Linux.

/s

[–] electricyarn@lemmy.world 2 points 6 months ago

When you are doing stuff in the terminal write it down somewhere else also, on a piece of real life paper or in a simple text document or whatever works for you.

In general I found taking notes while trying to do things in the terminal helped me learn.

[–] bishoponarope@lemmy.world 2 points 6 months ago
[–] Palacegalleryratio@hexbear.net 2 points 6 months ago

My advice would be look up The Missing Semester it’s a free online MIT course on how to use the terminal and it will govern you a better understanding of how to use it and Linux more generally. Really helpful to find your way around and give you an intuitive sense of what you’re trying to achieve.

Then beyond that installing arch is easy with archinstall but it’s probably more helpful to learn about the components of desktop Linux and what they do so that you actually know what you’re doing.

[–] Sunny@slrpnk.net 2 points 6 months ago

If you're in the position to take certificates then that's a another way of learning a lot. At least it has worked for me. I've over the last half year taken RHCSA and RHCE from RedHat - though paid by work. Theses in specific are expensive, but I'm sure there are other ones that are cheaper. This would also allow you to 'show off' your skills in an official way should you need to, for applying for certain jobs etc..

I at least find this way to be helpful as you have to motivate yourself to learn and pass an exam to get the certificate. It might not be for everyone though.

With arch, I'd recommend just jumping in the deep and and installing it, looking things up on the wiki when something goes wrong. Just do it in a virtual machine or on an old laptop or something to start with. I broke my previous distro (mint) by doing some really stupid stuff, and I decided to just go fuck it and install arch. I don't think I've ever learned as much about linux as that weekend.

I suppose that I was already pretty comfortable with the terminal since I was studying computer science at the time so I had a lot of reason to use it. I think the best way to use the terminal is to force yourself to use it, programming is great for this but you can try e.g. sorting your photos or mp3 files or something as practice too.

[–] underisk@hexbear.net 1 points 6 months ago (1 children)

For getting better at terminal I would suggest looking into alternative shells. Bash is fine, but it’s not exactly user friendly by default. Something with more robust auto completion like zsh or saner defaults like fish could make the learning experience easier. You can always come back to bash later.

For understanding how the OS works I would start by reading about the file system layout, then look into the init process.

I got to the point I am at through a series of projects of increasing complexity. First I ran a web server on my machine to copy files over the network. Then I used a spare PC to make a simple SMB server. Later I made it into a HTPC pirate box, for streaming stuff downloaded off Usenet to my Xbox. At some point I ran a minecraft server (before docker came along and trivialized this), and got into a bunch of sysadmin and programming stuff and that’s pretty much it.

[–] N0x0n@lemmy.ml 2 points 6 months ago (1 children)

Just out of curiosity, do bash script work in zsh? Or are they totally different things and are not cross compatible?

[–] underisk@hexbear.net 2 points 6 months ago* (last edited 6 months ago)

Depends on what it is. If it’s meant to be mainly used in the shell I will usually use whatever language the shell uses. Anything that’s run automatically usually gets done in bash for compatibility, and stuff more complicated than a few loops and some piping gets done in something easier to work with like python.

[–] Croquette@sh.itjust.works 1 points 6 months ago

Here is a bunch of random tips to become more comfortable with the terminal.

Do absolutely everything that you can on the terminal.

When you install something, enable the verbose if possible and snoop around the logs to see what is happening.

If an app or an install fails, look at the logs to see what is the issue, and try to fix it by actually resolving the error itself first instead of finding the commands on the internet to fix your issue.

Instead of googling for your command options, use the help menu from the application and try to figure out how to use the command from there.

load more comments
view more: ‹ prev next ›