Repetition is key. If you do it enough you'll remember it.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
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.
You can make a cheatsheet and keep it on your desk
I just use guis
I made a text file using vim that contains all of the commands I use. I open it in a terminal window when I need a reference.
i made this for anyone struggling to remember vim commands and want a basic text-editor like experience
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.
Do you struggle to remember the names of commands or how to use them or how you have used them in the past?
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.
Online
Ok but what if my Wi-Fi isn't working
use your phone to look up the commands on how to get internet working again
alternatively, connect computer to your router via cable
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.
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.
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.
I recommend to installed starship, fish and ZSH. I just tried them recently with config files from a friend and am pleasantly surprised:
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.
Probably not very helpful in this case but a very nice resource for learning cli is:
Keep a "cheat sheet" of common commands printed out nearby-- either something from the internet and/or a custom one for your own commands.
Also, nobody can remember all the commands. We mostly just remember the ones we use most often. Otherwise, we have to look things up! It's not too bad since you know that the command exists and you just need to know the exact way to type it.
Find mnemonics to help remember certain things. For example if you want to decompress a .tar file, you remember "xtract zee file" or: tar -xzf
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.
Ctrl-r!
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
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.
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 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)
Up arrow
or
"history" if you're a psychopath
history | grep whatever
is quite useful when you just barely remember a command or the files you used it on.
I keep bash scripts on my desktop to do common things
If it's basic commands, there's games like Terminal Quest that can help gamify your learning. Helped me.
Around 2012-2014 it was common to have Conky print things like system information or keyboard shortcuts in the desktop.
I think Conky is still around although less popular now. You could look into that though.
This is just an example from an image search for Conky desktop, but it gives you an idea how information can be displayed https://live.staticflickr.com/4062/4543953032_e6d7473206.jpg
Just create aliases with words you'll remember. Fart, Fart2, ect.
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.
tealdeer and writing them down in a document
Fish
What does Fish that Bash does not, specifically to help the person remembering the program names and options??
It automatically suggests commands, you've run before, if you start typing the first letters, like so:
You can also press the Up-Arrow at any point to show other commands from your history which contain the text that you just typed.
So, it is similar to Ctrl+R in Bash, but easier to use and you don't have to actively think about it.
And, if you can't remember the options for commands, fish will offer you suggestions. So, if you type ls -
and press tab, fish will give you a list of all of the valid switches and a brief description.
That looks pretty tight, thanks
repetition...repetition...repetition...repetition...repetition...repetition...repetition...repetition...lol
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
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.
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.
Here is my personal approach to this.
-
I have set my bash history to a ridiculous 1000000 max length, so that I can use CTRL+R to search for commands that I have ran before
-
I write down a lot of commands in a searchable note text document
-
Ask chatGPT
-
Use the
tldr
command -
Added A LOT of verbose custom aliases and scripts. For example instead of
inotifywait -m -r --exclude "(/tmp.*|/var/cache.*|/dev/pts/|/var/log.*)" -e MOVED_TO -e CREATE -e CLOSE_WRITE -e DELETE -e MODIFY .
(nobody can remember that alphabet gibberish)
I just type watch_for_changes .
Since it is verbose, straight from my brain, I always remember it and it works with autocomplete. I have like ~30 such commands so far.
Rather than a text file, using a command snippet manager like pet might be more convenient.
That's an interesting little program. Not sure if it's for me - I'll either remember/lookup commands or create bash scripts for more complicated things - but it's good to know about.
Great concept, but I don't live in the terminal and prefer GUI text editor features (like jumping the cursor with a mouseclick).
The workflow on the git page looks extremely clunky compared to a good old textfile.