How to help a person who has bad times remembering commands when using Linux.
from geography082@lemm.ee to linux@lemmy.ml on 04 Jan 00:19
https://lemm.ee/post/51615713

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.

#linux

threaded - newest

Kidplayer_666@lemm.ee on 04 Jan 00:25 next collapse

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

BorisBoreUs@lemmy.world on 04 Jan 00:52 collapse

You know atuin is legit because the demo gif on their site is using GruvBox, the most bestest color scheme.

Xiisadaddy@lemmygrad.ml on 04 Jan 00:28 next collapse

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.

Deckweiss@lemmy.world on 04 Jan 00:30 next collapse

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.

[deleted] on 04 Jan 02:19 next collapse

.

chrisbit@leminal.space on 04 Jan 02:43 collapse

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

Deckweiss@lemmy.world on 04 Jan 08:55 next collapse

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.

atzanteol@sh.itjust.works on 04 Jan 16:51 collapse

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.

thebardingreen@lemmy.starlightkel.xyz on 04 Jan 00:34 next collapse

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: <img alt="" src="https://lemmy.starlightkel.xyz/pictrs/image/b336b5ec-2117-4acc-ba54-3457ad98f22d.jpeg">

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.

some_guy@lemmy.sdf.org on 04 Jan 03:13 collapse

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.

IndieSpren@lemmy.blahaj.zone on 04 Jan 00:41 next collapse

tldr.sh

taiidan@slrpnk.net on 04 Jan 01:03 next collapse

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

thingsiplay@beehaw.org on 04 Jan 09:44 collapse

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

snekerpimp@lemmy.world on 04 Jan 01:04 next collapse

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.

brbposting@sh.itjust.works on 04 Jan 02:42 collapse

That looks pretty tight, thanks

ada@lemmy.blahaj.zone on 04 Jan 01:50 next collapse

Fish

thingsiplay@beehaw.org on 04 Jan 09:43 collapse

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

Ephera@lemmy.ml on 04 Jan 10:01 collapse

It automatically suggests commands, you’ve run before, if you start typing the first letters, like so:

<img alt="" src="https://lemmy.ml/api/v3/image_proxy?url=https%3A%2F%2Ffishshell.com%2Fassets%2Fimg%2Fscreenshots%2Fautosuggestion.png">

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.

ada@lemmy.blahaj.zone on 04 Jan 10:38 collapse

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.

Nomecks@lemmy.ca on 04 Jan 02:58 next collapse

Install Thefuck to help when you screw up commands.

Jumuta@sh.itjust.works on 04 Jan 03:10 next collapse

tealdeer and writing them down in a document

catloaf@lemm.ee on 04 Jan 03:42 next collapse

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.

GrumpyDuckling@sh.itjust.works on 04 Jan 03:58 next collapse

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

BlueSquid0741@lemmy.sdf.org on 04 Jan 04:31 next collapse

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 live.staticflickr.com/…/4543953032_e6d7473206.jpg

Telorand@reddthat.com on 04 Jan 04:33 next collapse

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

chicken@lemmy.dbzer0.com on 04 Jan 04:34 next collapse

I keep bash scripts on my desktop to do common things

lol_idk@lemmy.ml on 04 Jan 06:06 next collapse

Up arrow

or

“history” if you’re a psychopath

MummifiedClient5000@feddit.dk on 04 Jan 17:49 collapse

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

olafurp@lemmy.world on 05 Jan 07:28 collapse

Also use alias for it like “hist” then do “hist stuff”

Libb@jlai.lu on 04 Jan 06:41 next collapse

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)
z3rOR0ne@lemmy.ml on 04 Jan 06:52 next collapse

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.

BeigeAgenda@lemmy.ca on 04 Jan 06:55 next collapse

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
Lettuceeatlettuce@lemmy.ml on 04 Jan 07:21 next collapse

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.

jlow@beehaw.org on 04 Jan 07:32 collapse

Ctrl-r!

electric_nan@lemmy.ml on 04 Jan 07:30 next collapse

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

jlow@beehaw.org on 04 Jan 07:34 next collapse

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

explainshell.com

DeuxChevaux@lemmy.world on 04 Jan 08:20 next collapse

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.

Petter1@lemm.ee on 04 Jan 08:33 next collapse

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

github.com/A5t4t1ne/arch_config/tree/main

ian@feddit.uk on 04 Jan 08:52 next collapse

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.

Commiunism@beehaw.org on 04 Jan 09:01 next collapse

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.

sexual_tomato@lemmy.dbzer0.com on 04 Jan 09:40 collapse

Online

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

thingsiplay@beehaw.org on 04 Jan 09:47 next collapse

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.

jimbolauski@lemm.ee on 04 Jan 14:08 next collapse

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.

sexual_tomato@lemmy.dbzer0.com on 04 Jan 20:29 collapse

How do I remember what the command even is? Like how would I discover the grep tool without using the Internet?

thingsiplay@beehaw.org on 04 Jan 21:20 collapse

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.

Commiunism@beehaw.org on 04 Jan 09:50 next collapse

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

alternatively, connect computer to your router via cable

utopiah@lemmy.ml on 05 Jan 06:13 collapse

You can download StackOverflow, Wikipedia, etc very conveniently, cf 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).

jbrains@sh.itjust.works on 04 Jan 12:13 next collapse

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

Azzu@lemm.ee on 04 Jan 12:16 next collapse

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.

HumanPenguin@feddit.uk on 04 Jan 13:38 next collapse

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.

NaevaTheRat@vegantheoryclub.org on 05 Jan 04:22 collapse

teaching an ex GF to use a new Linux PC for the first time. (Put it together as a wedding gift)

very cunning revenge!

HumanPenguin@feddit.uk on 05 Jan 10:23 collapse

Grins.

Nah. If i wanted revenge id put windows on it.

They just need an internet PC with Libreoffice.

absGeekNZ@lemmy.nz on 05 Jan 04:55 next collapse

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.

Azzu@lemm.ee on 05 Jan 12:40 collapse

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.

utopiah@lemmy.ml on 05 Jan 06:18 collapse

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.

Azzu@lemm.ee on 05 Jan 12:38 collapse

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.

utopiah@lemmy.ml on 05 Jan 15:30 collapse

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.

Well if that’s the case then it’d be like somebody buying a bike, removing the wheels, and complaining that truly it’s not as fast as a car or as convenient as walking. Sure, it’s true but… if one is missing the point of a tool then they can’t really complain about how “bad” it is.

Honestly I do not know how the CLI is most popularly used. I do have usage data for that (and I’m not sure who might, maybe Ubuntu?) but again, if people are using it to “type fast” then they are wrong.

Regarding memorizing and the problem of this thread, yes it IS a problem but that’s precisely why I also commented lemmy.ml/post/24395107/15908795 before, namely that someone learning the CLI (namely … ALL of us, even people like me who have been using it for decade, at home and professionally) should actually admit they are learning and thus rely on tools as they otherwise normally would.

TheTimeKnife@lemmy.world on 04 Jan 13:32 next collapse

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.

dharmik@linuxusers.in on 04 Jan 18:13 collapse

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: @geography082@lemm.ee

ILikeBoobies@lemmy.ca on 04 Jan 13:46 next collapse

You can make a cheatsheet and keep it on your desk

I just use guis

Atemu@lemmy.ml on 04 Jan 17:56 next collapse

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 on 05 Jan 02:13 collapse

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 on 05 Jan 02:33 collapse

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 on 05 Jan 02:34 collapse

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

JTskulk@lemmy.world on 04 Jan 18:27 next collapse

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

mbw@lemmy.ml on 04 Jan 21:25 next collapse

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.

ReakDuck@lemmy.ml on 04 Jan 22:12 next collapse

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

nichtburningturtle@feddit.org on 04 Jan 22:33 collapse

Same with fish.

ReakDuck@lemmy.ml on 05 Jan 04:03 collapse

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 on 05 Jan 18:08 next collapse

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 on 06 Jan 01:14 collapse

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

Maybe start with “oh-my-bash”?

prole@lemmy.blahaj.zone on 05 Jan 19:36 collapse

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.

nichtburningturtle@feddit.org on 04 Jan 22:34 next collapse

tldr is good for remembering how to use a command, once you find it.

Svengarlic@lemmy.world on 05 Jan 03:25 next collapse

The gorilla bash llm thing has been immensely helpful.

gorilla.cs.berkeley.edu

geography082@lemm.ee on 06 Jan 01:41 collapse

Amazing, thank you

kittenzrulz123@lemmy.blahaj.zone on 05 Jan 04:49 next collapse

Use Fish (very good autocomplete) and aliases

utopiah@lemmy.ml on 05 Jan 06:10 next collapse

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 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.ee on 06 Jan 01:25 collapse

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 on 06 Jan 06:11 collapse

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!

AlbaHD@sh.itjust.works on 05 Jan 08:15 next collapse

I suggest having a GNU command cheatsheet set as your wallpaper or getting a Linux cheatsheet deskmat.

Repetition is key and eventually you will get the hang of it.

shai_hulud@lemmy.world on 05 Jan 16:14 collapse

This. If you do a search for Linux command wallpaper, you’ll find a version I used to get myself going.

My old team was a small windows team and a large *nix team. I was always scrounging for work, and I had been playing with Linux and bsd/Mac for a awhile. My manager added me to the patching team with a shadow. I was good within a few months for most things.

It’s best if you have a goal in mind, like with programming.

Integrate777@discuss.online on 05 Jan 10:12 next collapse

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.

Thcdenton@lemmy.world on 05 Jan 10:53 next collapse

Use fzf to complete commands, use cmd line helpers like ‘tldr’

jjffnn@feddit.dk on 05 Jan 10:59 next collapse

I use a snippet manager called keep.
It runs in the terminal, and helps remember commands. I use it for remembering commands with lots of flags and parameters that i don’t use often. But it can be used to remember any command you need.
You can also add comments to each command to remind you what it does.
I add the command i need to remember with
keep new
And when i forget it i can run
keep list
To get a list of commands.
It can do more, but i’ve only ever used those two functions.

ouch@lemmy.world on 05 Jan 11:12 next collapse

Stick to one distribution. Using notes is fine. Make aliases if necessary. You will learn with repetition.

Cyber@feddit.uk on 05 Jan 15:06 next collapse

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.ee on 06 Jan 01:18 collapse

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.

x00z@lemmy.world on 05 Jan 15:47 next collapse

I have around 10 “linux extract tar archive” online searches last year alone.

Pika@sh.itjust.works on 05 Jan 17:36 next collapse

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

geography082@lemm.ee on 06 Jan 01:13 collapse

Exactly!

Pika@sh.itjust.works on 05 Jan 17:51 next collapse

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

verdigris@lemmy.ml on 05 Jan 18:36 next collapse

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.

serenissi@lemmy.world on 05 Jan 19:01 next collapse

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.

blue_potato@lemm.ee on 05 Jan 19:50 next collapse

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 on 05 Jan 20:13 next collapse

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 on 05 Jan 22:29 collapse

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 on 06 Jan 01:52 collapse

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.

geography082@lemm.ee on 06 Jan 01:10 collapse

Thank you!

LovableSidekick@lemmy.world on 05 Jan 20:02 next collapse

Back in the ancient pre-Internet days I worked for many years with a system called VMS made by Digital Equipment Corp (aka DEC), now long gone. VMS was a dream to use - every command and option was an actual word, and you could abbreviate commands and options any way you wanted, As long as you were unambiguous, it would figure out what you meant. So easy to learn, and felt so natural. Based on that alone I thought VMS would become more popular than Unix, with its cryptic commands, and those single-letter options that are sometimes the first letter of something obvious and other times seem totally random. But internally VMS wasn’t structured as well - for example, piping output from one command to another was possible, but it wasn’t geared for that like Unix is. There was also no free version of VMS, and it only ran on DEC hardware, so not that many people even knew about it. The dawn of Linux for PCs was essentially the nail in the coffin for VMS. But I do miss that CLI.

Presi300@lemmy.world on 08 Jan 07:50 next collapse

fishshell.com

Who needs to remember commands when the shell can type them out for you :)

(Genuinely recommend it, it’s been my daily driver for years)

dino@discuss.tchncs.de on 08 Jan 12:36 collapse

strg + r