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.

  • ReakDuck@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    28 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
        28 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
          ·
          27 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
            27 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
          ·
          27 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.

  • verdigris@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    27 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.

  • DeuxChevaux@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    28 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.

  • z3rOR0ne@lemmy.ml
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    28 days ago

    Anything you have trouble remembering, or just find yourself doing often, create an alias (or bash script if it constitutes a multi line command). Name the alias something you can easily remember that also lets you know what that command does.

    Then, and here’s he trick, don’t rely on the alias. Use it when you can’t remember, say “aww, damn it I had to use the alias again”, and then use which followed by the alias name to see what the command was again. Do this over and over and eventually some commands will stick.

    Ones that you don’t care about or are just super long, just keep using the alias and don’t worry about remembering them. Use aliases as both commands and notes.

  • SayCyberOnceMore@feddit.uk
    link
    fedilink
    English
    arrow-up
    5
    ·
    27 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
      ·
      27 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.

  • Atemu@lemmy.ml
    link
    fedilink
    arrow-up
    8
    ·
    28 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
      ·
      28 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
        ·
        28 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
          ·
          28 days ago

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

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

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

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      6
      ·
      28 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

  • Integrate777@discuss.online
    link
    fedilink
    arrow-up
    3
    ·
    27 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.

  • BeigeAgenda@lemmy.ca
    link
    fedilink
    arrow-up
    19
    ·
    28 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
  • Commiunism@beehaw.org
    link
    fedilink
    arrow-up
    7
    ·
    28 days ago

    you don’t need to remember anything, except commands you use the most often but even then it becomes muscle memory after a while. If you ever need some specific command to use, just look it up online.

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

        You can download StackOverflow, Wikipedia, etc very conveniently, cf https://kiwix.org/

        I have a local copy that I bring on travels with me and I keep it relatively up to date. Very convenient thanks to having a single file per source and tools to read it (Web server, GUI, etc).

      • thingsiplay@beehaw.org
        link
        fedilink
        arrow-up
        3
        ·
        28 days ago

        Then use the commands help or read the local man document. In example for grep it would be grep --help and man grep. You don’t need an online connection for this.

          • thingsiplay@beehaw.org
            link
            fedilink
            arrow-up
            3
            ·
            28 days ago

            Discovering tools is not what the question and solution presented here was. But for that question, I recommend downloading a book about Linux as a reference or something like that. Or a basic tutorial series to read and remember basics about Linux.

            You can also just list the ls /usr/bin directory to see what programs are there.

            There is actually a command to search the man pages for terms, to list the commands: apropos

            $ apropos -s 1 search
            apropos (1)          - search the manual page names and descriptions
            find (1)             - search for files in a directory hierarchy
            flatpak-search (1)   - Search for applications and runtimes
            gamemodelist (1)     - search for processes running with gamemode
            rg (1)               - recursively search the current directory for lines matching a pattern
            zipgrep (1)          - search files in a ZIP archive for lines matching a pattern
            

            Note: I cut some parts out in the output to make it shorter. The option -s 1 means, it will list man pages from section 1 only.

        • jimbolauski@lemm.ee
          link
          fedilink
          arrow-up
          2
          ·
          28 days ago

          Containers become problematic, some don’t have man pages or other common commands installed. Debugging applications on them requires a wide knowledge of all sorts of primitive commands and workarounds to achieve common tasks. My biggest fear is a container without grep.

      • Commiunism@beehaw.org
        link
        fedilink
        arrow-up
        6
        ·
        28 days ago

        use your phone to look up the commands on how to get internet working again

        alternatively, connect computer to your router via cable

  • serenissi@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    27 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.

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

    Use ctrl-r a lot (navigate up/down with ctrl-p and ctrl-n) and try to “fuzzy-match” previously used commands. There is a very useful command called fzf which, while only a search program at heart, can be configured to complement this nicely.