My bachelor’s in software engineering starts in quite a few months

I am thinking of downloading Linux and learning the Linux terminal using the Linux bible.

then learning video, photo, and vector editing.

After that finishing the rest of the cs50 except the scratch one.

Lastly, becoming extremely good at Python

How does it all sound?

Sorry if this is the wrong community to post

  • @deong
    link
    5
    edit-2
    1 year ago

    Mostly good advice. I disagree on the headless server part though. Most people who are interesting in learning "Linux” have a much less reductive idea of what that means than you do, I think. Specifically, I think becoming a comfortable, fluent speaker of a typical Unix/Linux environment and userland is probably the most important thing. I think the best way to start doing that is to just live in Linux, and you’re not going to do that on a headless server. Learning the GUI that your distribution uses to add users isn’t important, but having a GUI where you can run standard browsers and photo editors and such is important, because otherwise, you’ll spend all your time in Windows and never have the chance to develop fluency in all the stuff that is actually important.

    Limiting yourself to only using command line stuff I suspect does more harm than good, unless you’re hyper-motivated to learn fast. For most people, the smoother path is probably more gradual. Start with Gnome or whatever and just use the computer. Over many years, you’ll learn a lot of piecemeal things just by becoming frustrated with some problem and learning how to solve it. I do think it’s good advice to do as much from a shell as you can from day one. Instead of using the GUI to copy files, learn to do it from a shell. Just don’t feel like you aren’t allowed to use Firefox to browse the web.

    • jsveiga
      link
      fedilink
      31 year ago

      I agree; I mentioned headless server because that would be a more “pure” and general Linux administration - learning how to administer a SUSE Linux using the graphical yast tool won’t translate as well to general Linux admin as if you learn and understand how to fo it in the command line and config files.

      And absolutely; one can use Firefox, LibreOffice and any other tool on Linux, but I don’t consider that as “learning” or “knowing” Linux. My wife uses exclusively Linux for 20+ years (because when she left her job where they still had Windows 95, that’s what the desktop at home ran; kubuntu). She does text editing, internet banking, shopping, browsing, printing, everything there (even updates sw through the gui package manager), but she doesn’t “know Linux”.

      You can setup a Linux system for a computer illiterate, and they may happily learn how to use it for their social media and streaming consuming, and whatever endusers do in their computers, without ever knowing that’s “Linux”.

      Strictly speaking, that already happens. How many Android users know they are running on a Linux kernel?

      That’s why when OP said “learn Linux”, I prioritized the admin on command line; as you don’t need to really “learn Linux” to interact with it through automated/graphical admin tools (no shame on doing it, they’re sometimes quicker and more practical than command line).

      What I mean is that learning how to use cPanel or Yast is useful, but you’re learning how to administer as system through a tool, which in theory could even be adapted to administer a non-Linux system.

      • @deong
        link
        11 year ago

        Certainly it’s possible to be a Linux user without learning the things that we would say mean you “know Linux”, but I think the most effective way to learn them also requires being a “user”. Using Firefox on Ubuntu instead of Windows doesn’t teach you Linux, but If you don’t have X11/Wayland and a browser and you can’t do your online banking and social media and Youtube, then you won’t actually learn the “real” stuff, because you’ll spend all of your time in Windows and Linux will feel like homework. Instead, get a full Linux desktop experience that you can do all the things you want to do with, and as you’re doing those things, also seek out opportunities to learn the shell and userland utilities, etc.