I’m a Windows user of all life. But I love Linux. And these last two years after so many time I started learning it in deep . But one thing is bugging me is that I am those persons that has bad times remembering names, words… imagine commands… Even after using it so much I remember some basics but I’m struggling a lot and I have to go back to notes constantly to do some basic operations. Even worst after trying multiple distro from from different upstreams that commands are … Different. What would be your recommendations to help me. Are there tools to help this issue ? My guess is that A LOT of people happens the same. And it’s one of the reasons Linux has such a slow adption . Because is excellent and full of capabilities.

  • blue_potato@lemm.ee
    link
    fedilink
    English
    arrow-up
    8
    ·
    2 days ago

    It happens to you, to me and to every UNIX user since the 70s. Your system is (or should be) full of docs and tools to get help. One thing that I noted over the years, when we have new people at work, is that they don’t known how to get help from programs or they don’t known how to get help from their systems and when they struggle with anything, doesn’t matter how basic, they go to the web for help. I always show them this: apropos man help

    What was that command to compress files? apropos compress Oh! it was gzip

    What was that command to do whatever with the GRUB? apropos grub Oh yeah! update-grub

    What about that command to download files? apropos download Oh! it’s wget

    The next tip should be learn how to use and navigate in the man pages, man have it’s own man page; man man

    There are different sections, section 1 is the default, you don’t need to specify, so you can just; man bash

    But if you want to get help from configuration files you should type; man 5 sysctl.conf

    Also, almost every program have a built in help compiled with the program code, you usually call it with --help or -h, sometimes just help and other times just call the program without parameters and it should print it.

    Other people already suggest the cheat sheets, very useful especially for programas like vim or emacs, some of them come like a template to create a cube, so you print it and then craft it (like an origami) and you can have it in your physical desktop.

    Last thing; be patience, your are in the rigth path, there’s always more than one way to do things, you just need to find your own way.

  • jjffnn@feddit.dk
    link
    fedilink
    arrow-up
    10
    ·
    3 days ago

    I use a snippet manager called keep.
    It runs in the terminal, and helps remember commands. I use it for remembering commands with lots of flags and parameters that i don’t use often. But it can be used to remember any command you need.
    You can also add comments to each command to remind you what it does.
    I add the command i need to remember with
    keep new
    And when i forget it i can run
    keep list
    To get a list of commands.
    It can do more, but i’ve only ever used those two functions.

  • Azzu@lemm.ee
    link
    fedilink
    arrow-up
    30
    ·
    edit-2
    4 days ago

    Use GUIs for all the things.

    Linux users are obsessed with the command line because it’s faster if you can type fast and remember everything. If you can’t, GUIs are actually much much faster because you are visually guided towards what you’re looking for and have to spend little time looking for the correct commands and syntax and everything.

    • utopiah@lemmy.ml
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      3 days ago

      because it’s faster if you can type fast and remember everything.

      No. That’s just wrong. You only need to type ONCE and you don’t have to remember it all, that’s why reverse-i-search (aka Ctrl-r) is so powerful. It allows you to search within your command history so you only need to remember few letters of the command (which you can annotate, e.g. commandname parameter #it does this) and can even edit after, e.g. changing parameters.

      But, more fundamentally, that is NOT the point of the command line!

      The whole point of the command line is… to be able to repeat things, namely to script actions that can be customizes and combined to YOUR unique needs. So it’s absolutely not about typing speed or memory. In fact, once I do have a good command, what do I do? I save it as a script precisely so that I do NOT have to type it again. Think of commands as Lego bricks that can be combined to together, build on top of. That is basically impractical with GUIs. Sure there are some tools to automate the click on GUIs but it’s unreliable, nor can it be easily shared.

      PS: I’m not saying anyone should use the command line over GUIs. I’m not being prescriptive. I’m only trying to clarify what the point of the CLI is.

      TL;DR: command line is about combining tools to your unique needs, repetitively and reliably.

      • Azzu@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        3 days ago

        True of course. If you look at my comment though, I haven’t said that speed is the point of the command line. Just that Linux users are obsessed with it. For most users most of the time, the repetition/automation is not the point and ability to write scripts is not the most important thing. And you can combine tools with GUIs as well, it’s just slower. Same with reliability, GUIs don’t have to be and usually aren’t unreliable, so command line only has the automation and speed going for it.

        you only need to remember few letters of the command

        I believe that is exactly the problem in this thread. The command history only works if you remember in the first place.

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

          For most users most of the time, the repetition/automation is not the point and ability to write scripts is not the most important thing.

          Well if that’s the case then it’d be like somebody buying a bike, removing the wheels, and complaining that truly it’s not as fast as a car or as convenient as walking. Sure, it’s true but… if one is missing the point of a tool then they can’t really complain about how “bad” it is.

          Honestly I do not know how the CLI is most popularly used. I do have usage data for that (and I’m not sure who might, maybe Ubuntu?) but again, if people are using it to “type fast” then they are wrong.

          Regarding memorizing and the problem of this thread, yes it IS a problem but that’s precisely why I also commented https://lemmy.ml/post/24395107/15908795 before, namely that someone learning the CLI (namely … ALL of us, even people like me who have been using it for decade, at home and professionally) should actually admit they are learning and thus rely on tools as they otherwise normally would.

    • HumanPenguin@feddit.uk
      link
      fedilink
      English
      arrow-up
      12
      ·
      4 days ago

      This is so true.

      I have been using Linux since the mid 90s. Exclusively since about 2005.

      I am obviously getting old now. But my willingness to remember the structure of rarly used commands/options. Has always been limited. If its not something I do often. It generally involves looking up man pages. And more often then not a GUI is just faster.

      GUI has improved hugly in the time I have been using Linux. To the point that now it really is quicker if I’m not already in the terminal.

      But as soon as things get to the multiple command level. Or complex enough that looking up is needed anyway. Typeing is just faster. Being all in one window makes a huge difference. But also once things get to the need to look up point. Command lines are just easy and quick to share online etc. So it tends to be the easy way for forums etc to share guidelines etc.

      For all GUI has improved. Text is still one of the easiest ways to share data. It allows things to be organised and jumped around from point to point.

      I am teaching an ex GF to use a new Linux PC for the first time. (Put it together as a wedding gift)

      I tend to tell her to switch between GUI and command line as best suits her. As long as you understand the goals of each step write or wrong is whatever seems easiest for the user.

      But it is important t to become comfortable with the terminal. Because this is how others will share info. And she will need to be able to understand what they are telling her to do.

      Online trolls still exist. So understanding things like

      sudo rm -rf /

      Is essential before typing it.

    • absGeekNZ@lemmy.nz
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      3 days ago

      Hybrid is best.

      I use the GUI quite a lot.

      But some things are just easier in CLI, especially if you have to do that thing often.

      The other reason to use the command line is automation, it is very easy to write a bash script and run it as often as needed, if every day at midday you want to update something CLI is much easier.

      e.g everyday at 2am, my rsync script runs to backup my important files.
      e.g 2, I have a small script to combine all the pdf’s in the current directory into a single file using pdftk. It is so much faster than any graphical way.

      • Azzu@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        3 days ago

        Of course, I didn’t make some kind of point about the general use of GUIs and CLIs, I just said that GUIs are much faster if you can’t remember commands, which is the problem in this thread.

  • verdigris@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    2 days ago

    Find a cheat sheet. There are hundreds out there – you probably want one for basic terminal commands, and one for whatever package manager you’re currently using.

    The history command is also great if it’s something you do fairly often, but not often enough to remember clearly.

  • Alphonse@sh.itjust.works
    link
    fedilink
    arrow-up
    6
    ·
    3 days ago

    I suggest having a GNU command cheatsheet set as your wallpaper or getting a Linux cheatsheet deskmat.

    Repetition is key and eventually you will get the hang of it.

    • shai_hulud@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      3 days ago

      This. If you do a search for Linux command wallpaper, you’ll find a version I used to get myself going.

      My old team was a small windows team and a large *nix team. I was always scrounging for work, and I had been playing with Linux and bsd/Mac for a awhile. My manager added me to the patching team with a shadow. I was good within a few months for most things.

      It’s best if you have a goal in mind, like with programming.

  • x00z@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    3 days ago

    I have around 10 “linux extract tar archive” online searches last year alone.

    • Pika@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      2 days ago

      I default to tar -xvf and if that fails I google

      I remember it due to the trinity on the keyboard, x skip a letter v then force the tip with f

      eXtract Verbosely File just never really caught on for me

  • SayCyberOnceMore@feddit.uk
    link
    fedilink
    English
    arrow-up
    3
    ·
    3 days ago

    I think 90% of the comments here are “write your own notes“ - which is possibly over simplistic.

    Everyone’s different but IMHO:

    The brain is better for imagination than long term storage. So if you’re stuck trying to remember some obscure command(s), it’s just better to use something else to store that on.

    But when the brain understands the core concepts well enough, the details come together as habits (where repetition comes in).

    So, if you’re unable to recall something, take some time to think / remind yourself about the underlying concepts and why that’s the command - next time it’ll be easier, eventually it’ll be effortless.

    I had to learn some strange concepts for work during a deep technical troubleshooting session on a client’s system and the commands were like just facemashing the keyboard… I’ve no idea what those commands are now (written down), but I can recall what / why I was doing them and that was the key… for me.

    (Using computers since '80s)

    • geography082@lemm.eeOP
      link
      fedilink
      arrow-up
      2
      ·
      2 days ago

      But when the brain understands the core concepts well enough, the details come together as habits (where repetition comes in). This is the way. Understanding core subjects then is easier to connect and recall stuff.

  • The Bard in Green@lemmy.starlightkel.xyz
    link
    fedilink
    arrow-up
    38
    ·
    edit-2
    4 days ago

    Idea 1:

    Print out some of the various CLI cheat sheets and pin them to your wall by where you work on your computer.

    Maybe this one:

    Then, print a page with commands you commonly use, either with more complex syntax or that aren’t on the sheet. (Like, “ls” is on there, but “ls -s -h” is not, for example.

    Idea 2:

    Write bash scripts to automate some of your commonly used tasks. Comment them. Imagine someone else is going to have to use them, even if you’re the only one who’s ever going to look at them. Not only will this help you learn lots of commands and force you to describe what they do (which will help you retain the information), it will be there as a record of how it works that you can go back and look at months or years later, to remind yourself how to do something.

    • some_guy@lemmy.sdf.org
      link
      fedilink
      arrow-up
      12
      ·
      4 days ago

      Yes, write automation. This will lead you to learning new commands that solve problems as you go. Debugging until they work correctly also helps make them more familiar. This is the best way to learn for sure. At least in my own experience, could be different for you, but I strongly suspect this’ll work well.

  • BeigeAgenda@lemmy.ca
    link
    fedilink
    arrow-up
    19
    ·
    4 days ago

    My solutions are:

    • Just arrow up until you find the command from last.
    • Learn to use CTRL-r and search for old commands.
    • Bash completion helps with arguments
    • Save stuff in shell scripts
  • utopiah@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    3 days ago

    First of all, we are ALL in the same boat. Newcomers from whatever OS to professionals alike, we all struggle to remember commands and their idiosyncratic syntax.

    Now that this is out of the way, namely that you are not “special” in having difficulties there, a little challenge. How do YOU normally do when you are learning something new? Typically when people do that, e.g. at school or while doing a professional training, they take notes. Are you doing that? I know it might sound “strange” but learning Linux is… well fundamentally learning so yes you can use whatever tools and techniques for that too. So… here are MY notes https://fabien.benetou.fr/Tools/Shell which will probably be rather pointless to you but at least prove that I’m not suggesting something I didn’t try first.

    TL;DR: yes, use all the tools & tricks recommended here (IMHO with reverse-i-search first) but don’t forget to actually take notes!

    • geography082@lemm.eeOP
      link
      fedilink
      arrow-up
      1
      ·
      2 days ago

      Thank you! i will check them. Yep im a long time user of Obsidian and i have notes everywhere. But going to them , when i dont have much free time to spend, it also feels like a tool would be amazing to simplify the get into complex command.

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

        It’s a balance, namely you are probably wasting time if you jolt down literally everything… but also what you don’t write down and forget, have no way to backtrack, will also waste time.

        IMHO it’s the process itself that matters, namely that by taking the time to write down, organize, lookup, you gradually have to do it less and less because you are more conscious about what you know, what you don’t, and adapt accordingly.

        If you do find a better way, based on a tool or not, please do share back!

  • Integrate777@discuss.online
    link
    fedilink
    arrow-up
    3
    ·
    3 days ago

    I remember the basic filesystem commands like ls, cp, mv, rm, cat etc, but I generally don’t remember much more than that. Even so, I still use the GUI file manager/software center pretty often, there’s no reason why I have to force myself to use the terminal all the time.

    I have an app on my phone to search for commands that I barely use and don’t remember. Don’t worry that much about it if you aren’t a professional system administrator or other such jobs.