Skip Navigation

How to help a person who has bad times remembering commands when using Linux.

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.

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

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

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

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

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

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

  • 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
  • history | grep command you're searching for

    That will return all commands you've typed that contain that keyword. Helps if you remember part of a command, but can't remember the specific flags or the proper format.

    If there are common commands that you use over and over, turn them into a Bash script and name the script something descriptive.

    I do that for long commands that I don't want to type out, like my whole system update workflow: sudo apt update -y && sudo apt upgrade -y && sudo flatpak update -y

    I saved that as a Bash script and called it "update.sh" then I saved it in my home directory. Now whenever I want to do a full system update, I just type ./update.sh and it asks me for my password, then updates my whole system without me having to do anything else. I do this with several different tasks like my remote Ansible server updates.

    Other than that, you can buy/make a linux command cheat sheet with the most common commands. Keep it with you or next to your computer. Look at it whenever you need a refresh.

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

  • I have around 10 "linux extract tar archive" online searches last year alone.

    • 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

  • How often do you need commands you cant remember? The ones i use are typically memorized via regular use, or i just look it up for the one off ones. You can use some distros without ever touching the terminal too if thats what you prefer.

  • Practice.

    Practice.

    Practice.

    That's really the best I can give you. The more you use the commands the easier they come to you.

    Even novices can struggle with the command line. Don't be afraid to search online for answers. I still need to look up arguments for things that I don't use daily and I've been using Linux for almost 20 years now. Duck duck go and man are your friends.

    One thing that I have found nice is using a shell that remembers what you have typed in the past because sometimes I will remember part of a command but not the whole thing, for example fish shell remembers commands and will start to auto fill commands that are typed as long as I have the beginning of the command correct and as long as I have typed the command in the past, which works wonders when you're doing similar commands but with different file names or you are trying to remember the more advanced portions of git

    A side note that I want to add regarding alternative shells be aware that every shell has its own strengths and weaknesses, for example fish shell is amazing for auto completion and plug in support, but it's downside is it's not compatible with standard bash Scripts and scripting as a whole on it is pretty mediocre

  • I'm also not a text first person. There are a lot of us about. I have found GUI applications to do most commands I need. Most IT users don't know them, as they've never searched for them. I pin the apps as Favourites in the launcher, to help remember my processes. The apps typically keep the last used values, making them quite productive.

  • Hi,

    I’m a Windows user of all life

    I was a Mac user for 35+ years (still am, partly). It took me a little while to get used to new names/commands in Linux but that's to be expected. And it is not much an issue anymore ;)

    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 kind of commands exactly? I mean, I don't know that 'commands' are different from one distro to the other' as they all use the same apps. So, beside the name of a few specific ones (like, maybe the app installer).

    What would be your recommendations to help me. Are there tools to help this issue ?

    My two sole advice:

    • don't try to remember too many commands. Instead, focus on the ones you use daily or very often. After you get those memorized you can always decide to memorize more... or not memorize them at all. I don't bother remembering them, why would I when I can easily use Ctrl+F and instantly find them the moment I need them?

    How do I do? I keep a text files in which I store all the stuff I seldom use but still want to be able to find in case I need it someday. To make finding them easier, I put descriptive titles and comments with each command. And that's what I'm searching for, not the command name ;)

    • If you're talking about Terminal commands, learn to create your own aliases they will let you remember a short name instead of full commands. I have a few lengthy commands and some scripts (for example, to compress/convert images) that I I regularly use. I don't remember them. I've saved them in a .sh file that I can either call through a Terminal or simply by a right-click in my File Explorer (it's Nemo and they're called 'Actions', on Linux Mint)
  • 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.

89 comments