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.

  • @[email protected]
    link
    fedilink
    96 months ago

    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.

    • Diplomjodler
      link
      fedilink
      46 months 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.

    • annoyed-onion
      link
      fedilink
      46 months ago

      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

      • @[email protected]OP
        link
        fedilink
        English
        16 months ago

        I think I will try something like manjaro first see what it’s like and then move onto arch.

        • @[email protected]
          link
          fedilink
          16 months ago

          That was exactly how I did it some years ago. After 4 or 5 times fixing the X-server after an update (thanks nVidia!) I switched over to Arch. Installed Arch following the Wiki for about 2 hours… failed and started the process of installation again (in about 1.5 hours :P) and succeeded. By failing and trying again I’ve learned a ton. My advise for less frustration: go with Team Red. In my experience AMD graphics cards are much more linux-friendly.

    • @[email protected]
      link
      fedilink
      English
      26 months 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]
      link
      fedilink
      1
      edit-2
      6 months 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.

  • Snot Flickerman
    link
    fedilink
    English
    7
    edit-2
    6 months ago

    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.

    • @[email protected]
      link
      fedilink
      36 months ago

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

      For learning purposes, also try not to use aliases. Because using alias would undermine the learning process of knowing what and how its been done. I recommend (as you said) typing it out over and over again and use aliases on a later stage of your Linux learning only (maybe after weeks at least).

      • Snot Flickerman
        link
        fedilink
        English
        36 months ago

        Exactly, shortcuts like aliases or tab completion really should be saved for after you’ve familiarized yourself, so you’re less likely to make a mistake or tab complete to the wrong command etc.

  • @[email protected]
    link
    fedilink
    1
    edit-2
    6 months ago

    on the tailend of a convo in in a discord recently I added a command to the “customize chatgpt” section to allow chatgpt to have a custom “man” like command similar to linux, but that works for all code or commands.

    This makes chatgpt give me a Linux command or code snippet formated in a table explaining what each piece of the command does.

    when a prompt is givin beginning with the word man followed by code or commands please respond with a table following these rules and nothing else: skip title row, No backticks around command components, No unnecessary rows, column 1 should contain the command component, column 2 should contain a brief command description

  • @[email protected]
    link
    fedilink
    46 months ago

    Start running servers if you haven’t already. Use an old computer, or an SBC or VPS and setup some Linux servers. There’s lots of different ways to do it, so mess around and break shit over and over. You can’t help but learn that way, though I would highly suggest you take notes/documentation. This is a habit I’m trying to develop after too long :)

  • @[email protected]
    link
    fedilink
    English
    96 months ago

    Just use it and fix things when they break. There’s no magic bullet - just experience.

  • @[email protected]
    link
    fedilink
    English
    16 months ago

    Using tldr to learn commands. It gives you the information you are probably looking for in the man page but it’s not buried among lines and lines and lines of arcane stuff and it’s formatted in a readable way with helpful examples. Saved my sanity more than once.

    I’m not saying “don’t read the man pages”, they are great way to get a deeper understanding of commands. But when you are just wondering what a command does and how it’s commonly used, then a two lines summary + example is much more helpful than an essay going in minute details over everything.

    Since it takes a lot less time than hunting the same info in the man page, you can run it before every command you are not familiar with, without too much hassle. Then if you want more info you can check the man page.

  • @[email protected]
    link
    fedilink
    16 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.

  • Libb
    link
    fedilink
    English
    206 months ago

    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?

    You learn by doing and by failing. Like we learned to walk, to write, to drive, to kiss, to speak a foreign language, or even to lace our shoes (and, yep, even that was a heavy trial and error process for toddler-us back then).

    • Install Arch (in a VM, maybe) and while doing so read the Arch Wiki to understand each step, each action and the role of each app you’re asked to install. The Arch Wiki is an impressively well done documentation.
    • Be fine knowing that it will take time to learn anything new (not just Arch, anything), you won’t get good at it the first time. Don’t rush it, take your time.
    • Be fine knowing that you will face issues and will most likely fail at some point, be it to instal Arch or in doing whatever new. There is no other way to learn, for all of us, than by failing and then trying again, over and over. Once again like we learned to walk (by falling on our butt), to lace our shoes (by making a mess) or to kiss (by not doing it great at first).

    Learning takes time and efforts. Perseverance, and humility. There is no shortcut to learning anything that is worth learning, not just Arch. But the reward is also so much worth it. Einstein had to learn calculus, Da Vinci had to learn how to hold a paint brush, and Tolstoy like Flaubert had to learn to write and I’m willing to bet they all made mistakes while they were learning their respective craft.

    Even without referring to geniuses: the first time I tried to install Arch I ran away screaming and swearing I would never touch that thing again. The second time, I had already managed to read a good chunk of the relevant part of the wiki and used it constantly at each step of the process. I still failed at it but at least I understood why I failed and I felt incredibly more… in charge, despite me failing. The third time, I managed to have it running, and to install most the packages I wanted. That was great. There was no fourth time as, as much as I love Arch (which is a lot), I quickly realized using it that constant updates were not what I wanted from my OS and apps (I’m an old-ish user with very basic needs, I’m not even that much of a geek to be honest). So, I switched to the complete opposite of Arch (Debian, another great love of mine I must say). Still, learning and using Arch taught me a lot about Linux in general and about… myself.

    • @[email protected]
      link
      fedilink
      16 months ago

      I ran Gentoo for several years. It wasn’t Linux From Scratch but it did required a lot of manual work. It also had great documentation. It forced you to learn all of the pieces encompassing the entire OS.

      Arch seems to be the modern equivalent.

    • Strit
      link
      fedilink
      86 months ago

      This is really good advise and it all boils down to one attribute. Patience.

      Don’t get disheartened when something does not work the first time. Take a step back. Look at what went wrong and then try again, hopefully without doing the same mistake again.

      Learn the basic tools of Linux and Bash/Posix. cd, ls, cp, mv and rm are some very basic tools, but it is what we use 80% of the time.

      • Libb
        link
        fedilink
        4
        edit-2
        6 months ago

        This is really good advise and it all boils down to one attribute. Patience.

        Thx. Yes, patience is key. As is the ability to

        Take a step back.

        Failing is fine because it’s not about us, it’s not personal. It never is. It’s about learning something and about the process.