this post was submitted on 04 Jan 2025
119 points (98.4% liked)

Linux

48921 readers
951 users here now

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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

(page 2) 50 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 5 days ago

Repetition is key. If you do it enough you'll remember it.

[–] [email protected] 8 points 5 days ago (3 children)

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.

load more comments (3 replies)
[–] [email protected] 13 points 5 days ago

You can make a cheatsheet and keep it on your desk

I just use guis

[–] [email protected] 2 points 5 days ago (1 children)

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.

[–] [email protected] 2 points 5 days ago

i made this for anyone struggling to remember vim commands and want a basic text-editor like experience

https://git.sr.ht//~dharmik/hello-vim

CC: @[email protected]

[–] [email protected] 29 points 6 days ago* (last edited 6 days ago) (6 children)

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.

[–] [email protected] 12 points 5 days ago (2 children)

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.

load more comments (2 replies)
load more comments (5 replies)
[–] [email protected] 2 points 6 days ago

Do you struggle to remember the names of commands or how to use them or how you have used them in the past?

[–] [email protected] 7 points 6 days ago (1 children)

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.

[–] [email protected] 2 points 6 days ago (3 children)

Online

Ok but what if my Wi-Fi isn't working

[–] [email protected] 6 points 6 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

[–] [email protected] 3 points 6 days ago (3 children)

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.

[–] [email protected] 2 points 5 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.

load more comments (2 replies)
load more comments (1 replies)
[–] [email protected] 2 points 6 days ago

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.

[–] [email protected] 8 points 6 days ago

I recommend to installed starship, fish and ZSH. I just tried them recently with config files from a friend and am pleasantly surprised:

https://github.com/A5t4t1ne/arch_config/tree/main

[–] [email protected] 2 points 6 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.

[–] [email protected] 5 points 6 days ago

Probably not very helpful in this case but a very nice resource for learning cli is:

https://explainshell.com/

[–] [email protected] 7 points 6 days ago* (last edited 5 days ago)

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

[–] [email protected] 13 points 6 days ago* (last edited 6 days ago) (1 children)

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.

[–] [email protected] 6 points 6 days ago
[–] [email protected] 19 points 6 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
[–] [email protected] -1 points 6 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.

[–] [email protected] 2 points 6 days ago* (last edited 6 days ago)

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)
[–] [email protected] 3 points 6 days ago (1 children)

Up arrow

or

"history" if you're a psychopath

[–] [email protected] 3 points 5 days ago (1 children)

history | grep whatever is quite useful when you just barely remember a command or the files you used it on.

load more comments (1 replies)
[–] [email protected] 7 points 6 days ago

I keep bash scripts on my desktop to do common things

[–] [email protected] 7 points 6 days ago

If it's basic commands, there's games like Terminal Quest that can help gamify your learning. Helped me.

[–] [email protected] 3 points 6 days ago

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

[–] [email protected] 4 points 6 days ago

Just create aliases with words you'll remember. Fart, Fart2, ect.

[–] [email protected] 7 points 6 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.

[–] [email protected] 2 points 6 days ago

tealdeer and writing them down in a document

[–] [email protected] 4 points 6 days ago

Install Thefuck to help when you screw up commands.

[–] [email protected] -1 points 6 days ago* (last edited 6 days ago)
[–] [email protected] 4 points 6 days ago (1 children)
[–] [email protected] 2 points 6 days ago (1 children)

What does Fish that Bash does not, specifically to help the person remembering the program names and options??

[–] [email protected] 3 points 6 days ago (1 children)

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.

[–] [email protected] 3 points 6 days ago

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.

[–] [email protected] 2 points 6 days ago (1 children)

I currently use Bytestash. Used to use Obsidian, but the fact that all I have to do is pull up a webpage to copy and paste a command I need made ByteStash a better fit for me.

[–] [email protected] 1 points 6 days ago

That looks pretty tight, thanks

[–] [email protected] 14 points 6 days ago (1 children)

repetition...repetition...repetition...repetition...repetition...repetition...repetition...repetition...lol

[–] [email protected] 6 points 6 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

[–] [email protected] 14 points 6 days ago
[–] [email protected] 39 points 6 days ago* (last edited 6 days ago) (1 children)

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.

[–] [email protected] 12 points 6 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.

[–] [email protected] 16 points 6 days ago* (last edited 6 days ago) (2 children)

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.

[–] [email protected] 7 points 6 days ago* (last edited 6 days ago) (2 children)

Rather than a text file, using a command snippet manager like pet might be more convenient.

[–] [email protected] 3 points 5 days ago

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.

[–] [email protected] 2 points 6 days ago* (last edited 6 days ago)

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.

load more comments
view more: ‹ prev next ›