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.

  • DeuxChevaux@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    5 days ago

    Apart from fzf that helps me find recently used commands and also files and directories easily, I also use tldr that gives you a simple cheat sheet for every command and very often saves you trawling through endless man pages.

  • utopiah@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    4 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
      ·
      3 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
        ·
        3 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!

  • serenissi@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    3 days ago

    Unless you want to increase productivity in specific field (say some kinds of software development) you won’t even need to remember anything more than cat, ls etc. In those specific usecases you’ll become habituated to the command you use frequently, nobody becomes a grep ninja on day 0.

    Whenever I need something mildly complex with ffmpeg or imagemagick, the right command is just a web search away, I rarely remember syntax of these anyway. I find commands less obvious and harder to find for windows shell (technically powershell is cross platform btw), but maybe that’s because I’m not much familiar with windows-ism’

    Tip: whenever you encounter a useful command syntax/one liner, save it with brief description. I find konsole’s built in quick commands quite handy, some other terminals probably have such features too. Otherwise a simple markdown list is enough.

  • 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.

  • taiidan@slrpnk.net
    link
    fedilink
    arrow-up
    14
    ·
    5 days ago

    repetition…repetition…repetition…repetition…repetition…repetition…repetition…repetition…lol

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      6
      ·
      5 days ago

      I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times.

      ~ Bruce Lee

  • Kidplayer_666@lemm.ee
    link
    fedilink
    arrow-up
    6
    ·
    5 days ago

    Man is great to check quickly what something does. I use atuin as my shell history to make it a lot easier to search

  • blue_potato@lemm.ee
    link
    fedilink
    English
    arrow-up
    10
    ·
    3 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.

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

      I made a comment about how easy it was to learn VMS was (an 80s/90s OS). How do I print a file? I’ll try PRINT. Okay, that works. How do I make 6 copies? PRINT /COPIES=6. Great! But how do I print to a file? I’ll try PRINT /OUTPUT=filename. Well whaddya know!

      I loved that OS like a brother. Sadly it eventually went the way of every proprietary system.

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

        This reply made me smile. You are not going to believe me but I’m a millenian… and I worked with OpenVMS (yes, you guess rigth, in a bank). May I tell you? Yes, sorry;

        2012, first week as a SysAdmin in that hell bank, I made the mistake of saying “My fetish are old OS and computers” (this is true), “Well, we have this four VMS baremetal machines that nobody wants to touch and if they fail we fuck up all”. After learning to be quiet and don’t speak too much I found a VMS manual in TPB or some other site (I remebered downloading it as a torrent) and started using the pre ones (two of this machines where pre and two prod). I found that AWK was installed and a POSIX Korn Shell was sleeping there and nobody knew it, with only that I did a lot of stuff like Nagios custom monitoring (yes, this machines wasn’t in the monitoring system, if there is not a red dot isn’t broken) and automated things like the IPLs. I’m not going to say that VMS is a brother, but I feel comfortable with it even for a UNIX admin. The best part of this boring story is that, some months ago I was chatting with one old coworker that is stills in that bank, they still have this machines and they still use my shitty scripts for monitoring and getting data and statistics, can’t believe (and a little proud of) that a OS that was developed before I was born is still up and running my programs.

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

          Not a boring story at all, in fact it’s Awesome! It’s been so long since I touched VMS I would probably be lost now, but I wrote tons of apps and was a sysadmin for a couple years - which I really enjoyed, as 90% of that job was running backups and installing updates, leaving plenty of time to just play around. I missed writing apps, so I made a visual status monitor that let me look at running processes and pause, restart or kill them. My last exposure to VMS was when I worked at Fred Hutchinson Cancer Research Center in 2007 or 8 - a group there still had a VaxCluster running, but I never worked on it. Today there is still OpenVMS, mostly run on emulators by retro computing hobbyists I think.

  • catloaf@lemm.ee
    link
    fedilink
    English
    arrow-up
    7
    ·
    5 days ago

    There’s nothing wrong with notes. I keep a text file open permanently at work and home with all my notes in it. I have a bunch of commands in it to copy-paste. Or Ctrl+r and type to search the history.

    But if you want to memorize, I usually use flash cards.

  • ReakDuck@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    4 days ago

    I partly remember the first letter and press arrow up.

    I use ZSH shell with oh-my-zsh. It autofills the rest with history at the point you write. So arrow keys make you scroll through the history which is beginning with the thing you wrote

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

        Fish is even more advanced with this.

        But I still prefer ZSH because of shell language being incompatible with fish. I dislike learning that thing, when I have everywhere new Linux shells with bash

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

          This is my boat with fish shell at the moment, like I started learning how to make scripts with it, and I very quickly realized that it’s definitely a minority shell, and that it’s not worth it to make scripts for, it’s missing functionality that normal bash has and has zero functionality with existing Scripts so I’m finding myself having to switch to bash anyway for most scripting.

          I never really tried zsh, I might tinker with it if it does have that functionality as that’s the part I really like about fish

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

            I also heard that the same functions are also possible in bash with plugins.

            Maybe start with “oh-my-bash”?

        • prole@lemmy.blahaj.zone
          link
          fedilink
          arrow-up
          1
          ·
          3 days ago

          I’d never replace bash with fish, but it’s a great tool for when I don’t know or cannot remember a command of argument.

  • Atemu@lemmy.ml
    link
    fedilink
    arrow-up
    8
    ·
    4 days ago

    You could make aliases that are easier to remember for you.

    If you e.g. had trouble remembering that mv does a rename, you could alias rename=mv. Ideally just put whatever you would have googled in “linux command to x” as the alias.

    That’s the power of Linux; you can tweak everything to your preferences and needs.

    • hotspur@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      4 days ago

      Wild had no idea—this is so cool. If you do this, does the original command also still function (so like I could rename to something easier for me, but hopefully transition to the real deal at some point/ properly follow help forums or suggested pasted commands)

      • Atemu@lemmy.ml
        link
        fedilink
        arrow-up
        7
        ·
        4 days ago

        The originals remain untouched.

        It is possible to override existing commands with aliases though. This is useful for setting flags by default. I have alias ls='ls --color' for instance such that whenever I run ls, it actually runs ls --color, providing colourful output.

        Note that aliases are only a concept within your command line shell though. Any other program running ls internally won’t have the flag added and wouldn’t be able to use any of the other aliases either (not that it would know about them).

        It’s very easy to program your own “proper” commands though on Linux. If you had some procedure where you execute multiple commands in some order with some arguments that may depend on the outputs of previous commands, you could write all that as a shell script, give it some custom name, put it in your $PATH and run it like any other command.

        • hotspur@lemmy.ml
          link
          fedilink
          arrow-up
          3
          ·
          4 days ago

          Also very cool—the building in default modifiers to the command. Thanks for the great tips.