• dragospirvu75@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    4 hours ago

    2 things got me comfortable on command line: 1) A great cheat sheet (one from Ubuntu: https://ubuntu.com/download/server/thank-you); 2) Practice all the commands from the cheat list regularly. Last page is something for Pro version, but first 2 pages are great for a begginer. There is a typo at a command (or it was in a past cheat sheet): “Sudo change <username>” instead of “sudo chage <username>”. It helped me most to get comfortable with terminal. Enjoy!

  • spv.sh@lemmy.spv.sh
    link
    fedilink
    arrow-up
    1
    ·
    6 days ago

    in my experience, practice, practice, and more practice. but “just git gud m8” isn’t really helpful advice. if you don’t have half a decade on hand, i can make a few more practical recommendations.

    a shell that can do argument autocomplete is your best friend. personally, i use zsh + ohmyzsh + fzf + fzf-tab, but i’m sure there are other configs, and i’ve heard ohmyzsh is a bit of a nightmare, though i haven’t had too many issues.

    so let’s say you’re running the one rsync command this month, and you forgot the args, just tab-tab and you can search through the arguments with fzf.

    fuzzy search of autocompleted command arguments

  • Fizz@lemmy.nz
    link
    fedilink
    arrow-up
    1
    ·
    6 days ago

    Doing hackthebox or other CTF challenges, Using CLI software, writing bash scripts.

  • Termight@lemmy.ml
    link
    fedilink
    English
    arrow-up
    37
    ·
    edit-2
    9 days ago

    Mastering the command line? A few observations. First, consult and take notes (yes, even seasoned terminal veterans forget syntax.) Secondly, embrace tab completion. It’s your friend, and a surprisingly effective substitute for remembering every single command. Third, the true test: procure a VPS or remote server and exclusively use the command line. No GUI crutches allowed. It’s a digital wilderness, and you’ll learn to navigate it.

    Lastly, and this is non-negotiable: keep a terminal window permanently resident on your desktop. Consider it a vital organ, deserving of its space. It’s a constant reminder of the power you wield, and a readily available portal to a world beyond the pretty buttons.

    • WalnutLum@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      8 days ago

      On that front: to developers-

      Please make sure you include bash completions for your tools

    • N0x0n@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      9 days ago

      Hehe, I’m doing this all the time now ! 3 years ago when I started my linux/self-hosted server journey with debian: CLI only !

      Was difficult at times and had a few breakdowns (most got fixed the next day… Sleep/taking some time off really helps !!!)

      One thing I’m still bad at… Is taking notes. Haven’t found a good way take IT notes. And I tried sooo many different approaches…

  • Snot Flickerman@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    28
    arrow-down
    1
    ·
    edit-2
    10 days ago

    In my experience repetition helped. Not memorization, but more like muscle memory.

    Also, ensuring to never copy and paste commands but to type them in manually yourself. It’s hard to enforce this on yourself, but worth it.

    I appreciate that this article started with “ways to reduce risk” because that’s an extremely valid concern and tied to why you shouldn’t ever copy and paste. The one time in my early Linux forays where I copied and pasted I wiped the wrong drive. It definitely taught me to always manually type it in and not get too lazy, because what you copied might not match what you want to do exactly.

    • remotedev@lemmy.ca
      link
      fedilink
      arrow-up
      16
      ·
      10 days ago

      Also, ensuring to never copy and paste commands but to type them in manually yourself. It’s hard to enforce this on yourself, but worth it.

      “Command: sido not found…”

  • Matth78@lemm.ee
    link
    fedilink
    arrow-up
    24
    ·
    10 days ago

    What helps me is to understand what commands acronym means. For instance cp for copy, mkdir for make directory, blkid for block id, ls for list (not too sure about actual meaning for s) and so on!

    Nice tips about ctrl+r to search in command history. Was not aware it existed!

  • A_norny_mousse@feddit.org
    link
    fedilink
    arrow-up
    22
    arrow-down
    1
    ·
    9 days ago

    Colors. And a nice, readable font. Make your terminal pretty so you feel good every time you interact with it. Think about window dimensions (I personally always find the standard 80x24 too small), maybe set up some manual tiling so you can have two terminal windows fill your screen. Use the keyboard to move around your desktops.

    But mostly, colors.

  • 33manat33@feddit.org
    link
    fedilink
    arrow-up
    18
    ·
    10 days ago

    Okay, this is not Linux-specific, but it’s about a transferable skill:

    What helped me get comfortable and learn a lot of basics was setting up NetBSD. The basic install throws you into a basic command line, with no graphical interface installed and not even the internet configured. But the online guide for setting the system up is incredibly well-written and teaches you all the concepts you need to know.

    After doing this, I was familiar with a larger set of terminal commands, knew how to use vi, had a bunch of practice setting up config files in CLI and even finally learned how pipes work. It’s a very enjoyable experience, the guide is so good I didn’t feel overwhelmed once and anything you have to look up is tied to a problem you’re solving (like cursor movement in vi).

    It also teaches you how NetBSD is structured. It’s not Linux, but similar enough to understand a lot of how and why things are done in Linux systems

  • southsamurai@sh.itjust.works
    link
    fedilink
    arrow-up
    13
    ·
    10 days ago

    Really specific here, but font control.

    Us folks with dyslexia in its various expressions have trouble with command line. If you can’t read a specific command, good luck ever getting comfortable with it. You can’t error check yourself, so until you build up memory, you’re kinda screwed if you can’t use the fonts that are available.

  • lordnikon@lemmy.world
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    10 days ago

    To things that helps no mater your skill level the tab key is your best friend and man pages are great but if those are overwhelming install the package tldr then you can use the command tldr and the command you are trying to run to give you helpful examples of how to use that command.

    Also old users don’t remember long commands if we use a command more than once. You save it to your bash alias file to create your own commands.

    • N0x0n@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      9 days ago

      Also old users don’t remember long commands if we use a command more than once. You save it to your bash alias file to create your own commands.

      A good example for this is docker compose -f when you work alot if compose files ! Having an alias for docker compose -f as dcf saves hours a month xD

  • /home/pineapplelover@lemm.ee
    link
    fedilink
    arrow-up
    10
    ·
    8 days ago

    Practice I guess. Especially using cli for specific tasks that is done more efficiently on there than the gui.

    Moving files using regex for example is useful. Or finding files with specific phrases in them. Stuff like that

  • josefo@leminal.space
    link
    fedilink
    arrow-up
    10
    arrow-down
    1
    ·
    9 days ago

    For me it was self hosting, aka not having a choice but to learn. I’ll be dead before using remote desktop for that.

    Also, self hosting gives you real motivation, because you actually need to do things, carry tasks, not just learning for the sake of it. Your efforts get immediately rewarded with functioning things.

    • utopiah@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      9 days ago

      real motivation, because you actually need to do things, carry tasks, not just learning for the sake of it. Your efforts get immediately rewarded with functioning things.

      Yes indeed, and that’s true for any challenging skill to hone.

  • applemao@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    9 days ago

    I think just doing it more, and thinking it’s cool to interact more directly. At least that helps me. I do feel bad for dyslexic peiple though, it’s a lot harder for them to use CLI.

    • Random Dent@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 days ago

      Yeah that was it for me. Just keep regular backups and bear in mind that you’ll probably break stuff at first. But once you get the hang of it, it’s like a whole other level of control over your system.

      Also I’m not dyslexic but would things like tab completion and aliases help maybe? I sometimes shorten often-used commands with aliases just for convenience (as an example, I use rsync a lot, particularly the command rsync --ignore-existing -ravwhich I just shorten to rs to save time) so maybe that could also be used to avoid mis-spelling?

      • applemao@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        9 days ago

        Thats a good idea, i have not made any aliases yet. Also remembering all of those aliases is another challenge ha. I keep a text file named commands on my desktop with a whole bunch of commands I forget.

        • Random Dent@lemmy.ml
          link
          fedilink
          English
          arrow-up
          2
          ·
          8 days ago

          I have some mapped to super simple aliases too like e1 to reboot, e2 to shutdown etc. I don’t remember why I started doing that, but that way I only have to remember which number does what lol.