Hey everyone, I’m relatively new to linux and was looking for some advice/direction. I have been using Mint Debian Edition for around 6mo or so, and want to learn to use the command line efficiently and proficiently.

I have set up EndeavourOS on a backup laptop I have and have been playing with it, reading the Arch Wiki and such, but I feel like I’m not necessarily learning why I’m doing things, just doing what has worked for others.

So here I am. I guess I’m looking for recommendations for books or articles (physical or online) that can help me to learn and understand the workings on linux, and especially the command line.

Thank you all so much.

  • UNY0N@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    6 months ago

    In addition to rhe other advice, I’d add what helped me the most: install arch from scratch.

    Use an older PC you have lying around, or just a VM. Use the installation guide on the arch wiki (or a video on feetube if you prefer to listen to a human explain stuff) and just learn as you go.

  • pelya@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    6 months ago
    • Ctrl-C will not do what you expect, use Ctrl-Shift-C, or click mouse wheel
    • There are many better terminal emulators that XTerm
    • If you accidentally press Ctrl-Alt-F1, you can press Alt-F7 to switch back to the graphical desktop
    • There are in fact many ways to exit vi, no need to reboot your PC
    • There’s no need to suffer through The True Commandline Experience For Real Fedora-Wearing Sysadmins⁽¹⁾, just install mc and get all the benefits without typing cd and ls every time you want to find a specific file

    ⁽¹⁾ Real Fedora-Wearing Sysadmins don’t use vi to edit files, they either write a sed script or use cat to copy the file to the terminal, then use cat again to copy the contents of the terminal back into the file by clicking the mouse wheel while typing manually the lines they need to change.

  • Presi300@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    6 months ago

    The best advice… Just use Linux more… It’s the only way to get familiar with it

    • fuckwit_mcbumcrumble@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      3
      ·
      6 months ago

      Yeah that’s the biggest cure for “learning something and not knowing why”. Instead of just reading to read, try doing things, and when you have a problem or question look it up.

      Want to install multiple programs at once? Google it. Want to search for a program, but it spits out 700 versions? Google how to filter outputs in the command line.

      Unless you just really like reading dry ass documentation then you kinda just have to do it. And when you run into an issue then figure out the fix.

  • Caveman@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    6 months ago

    Step one: Find terminal that’s convenient for you. For me it’s yakuake and some use a runner or whatever.

    Step 2: Find stuff that you do on a regular basis with your computer and do it with the terminal instead. (Open 3 programs, run a steam game or whatever)

    Step 3: Use a bashrc file to make an alias for it.

    Step 4: Find stuff a couple of actions you do the same way every time like open 3 work programs, start torrent + vpn or whatever and put them in a bash function inside bashrc.

    You might not need it though. The terminal is has mostly only two uses in my opinion. Automate stuff and/or do stuff you can’t do with the UI. I use the terminal heavily for work (programming) but hardly otherwise because the best way to break my OS is to change some OS config with terminal commands lol

    • EuroNutellaMan@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      6 months ago

      terminal is also useful as a cross-distro way of doing things and helps avoid cluttered, bad or ugly UIs. Of course the degree at which someone prefers the terminal over a GUI and for which applications is 95% subjective, the other 5% being when either a GUI is pretty much necessary (i.e. image editing) or viceversa (i.e. automation, looking like a l33t h4x0r to impress the ladies/boys/enbies, managing the 3PBs of monkey memes)

  • EuroNutellaMan@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    6 months ago

    best way: try to use it for daily tasks. Copying and moving files? terminal, moving around? terminal, editing text? vim. Etc etc. Eventually you will learn to use it.

    Also check out RobetrsElderSoftware’s “[command] is my favorite Linux command” shorts to find out new commands. Also install tldr (sudo apt install tldr on mint, sudo pacman -S tldr on Arch & derivatives) it’s very helpful when you want more (and better formatted) info than [command] --help but less than man [command]

  • Random Dent@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    6 months ago

    One of the biggest things that helped me was setting up virtual machines and installing different versions of Linux in them and just playing around. I found it super helpful because it makes you learn different things (for example you mentioned reading the Arch wiki which is a good resource, but not all of it will apply to Mint necessarily) and as an added bonus, it doesn’t matter if you break everything. You can just restore a backup, or better yet, reinstall from scratch so you get used to the process or better yet, keep breaking stuff until you come out the other side and get things working again!

  • just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    6 months ago

    The only way you’re REALLY going to learn is be actively using things. If everything is just working, GREAT! That’s all you need to know. Just keep enjoying it.

    If there something specific you are using this for, let us know and we might be able to help you out.

    That being said, one of the easiest to force yourself to learn where everything is, is by using the CLI instead of GUI wherever applicable. Install packages, do updates, change settings…etc.