Learning the Command Line, tricks, tips or tools to remember?

I’ve been using Linux since before 2000, starting with Mandriva, Gentoo and progressing my way through Suse, Ubuntu, Antergos and now Endeavour. For as long as I have used Linux I am continually frustrated by my inability to become very proficient on the command line. Some things I remember like running updates because I do it often enough but other things liking adding a user, changing their password or group access I just can’t remember for the life of me (I just don’t do it enough). I constantly have to Google “how to add a user in linux” so I can figure out what the right command is. Even something as simple as finding a log file I’m constantly scratching my head trying to figure out how to properly do it. Although I usually get to where I need to go, I always feel like I “cheated” a little to get there and wish I wouldn’t always have to reference websites.

Are there others in the community like me that have used Linux for years but struggle to remember even basic commands?. Are there any suggested resources or tools to help on the command line?

1 Like

As far as I’m concerned Google is a great gateway to reference material and how-tos. Before google I always had 6 or 7 reference manuals and a notebook full of cheatsheets on my desk. Besides there is usually more than one way to achieve the same result and Google searches many times provide alternatives. I don’t try to remember everything and Zim has become my new notebook. I record all system mods and many helpful hints/how-tos in Zim.

1 Like

Command line does have some nice tricks, like

  • bash command completion (assuming you use bash)
  • man pages
  • command history using arrow keys

and more.

For the user, command completion is about hitting the Tab while writing a command. Tab key can fill up many things, like the command name, options, file and directory names. So, less writing and correct names.

The man pages gives you detailed info about commands. For example,

    man man

shows info about the man command.

And when bash is properly configured, you can use up and down arrow keys to re-use a previous command. Simply write a few letters of a previous command, and hit up or down key to walk through all ”matching” previous commands.
Recent EndeavourOS installs should already have these arrow keys properly configured.

Hopefully this helps. It may not be exactly what you asked, but hopefully useful anyway.

2 Likes

This ist a free PDF/E-Book explaining the Linux command line “from the ground up”.
I know people learned the command line with this.

https://sourceforge.net/projects/linuxcommand/files/TLCL/17.10/TLCL-17.10.pdf/download

Newer version, thanks to @axt:
https://sourceforge.net/projects/linuxcommand/files/TLCL/19.01/

2 Likes

I thought this was an interesting article that provides additional tips for getting information efficiently from man pages (adding to what @manuel suggested above):

https://www.ostechnix.com/learn-use-man-pages-efficiently/

3 Likes

@Alpix, and why a such old version?

19.01a, 5th Internet edition

2 Likes

The package “tldr” should be useful for an hurry person.

yay -S tldr

This give you sample usage of the command :

$ tldr pacman                                                                                           
                                                                                                    
  Arch Linux package manager utility.                                                               
                                                                                                    
- Synchronize and update all packages:                                                              
                                                                                                    
  pacman -Syu                                                                                       
                                                                                                    
- Install a new package:                                                                            
                                                                                                    
  pacman -S package_name                                                                            
                                                                                                    
- Remove a package and its dependencies:                                                            
                                                                                                    
  pacman -Rs package_name                                                                           
                                                                                                    
- Search the package database for a regular expression or keyword:                                  
                                                                                                    
  pacman -Ss "search_pattern"                                                                       
                                                                                                    
- List installed packages and versions:                                                             
                                                                                                    
  pacman -Q                                                                                         
                                                                                                    
- List only the explicitly installed packages and versions:                                         
                                                                                                    
  pacman -Qe                                                                                        
                                                                                                    
- Find which package owns a certain file:                                                           
                                                                                                    
  pacman -Qo filename                                                                               
                                                                                                    
- Empty package cache to free up space:                                                             
                                                                                                    
  pacman -Scc                          
1 Like

@Alpix, and why a such old version?

Just bookmarked it in the past, never known that this was not the newest version (any more).

I’m aware of that. :wink: Well, when I link something, I always make sure that it is up-to-date. Or you can link one level above it, because at some point it will be out of date again.

I’m sure it’s a great book. Most of the time, however, you only need a handful of commands, knowledge about the FHS and of course a basic understanding of such things. Then maybe a cheatsheet will be enough for the first time. For German users I have often linked Linux auf einem Blatt (meanwhile already older, but nothing changes fundamentally).

The rest comes with time. Learning by doing.

1 Like

:smiley:

OK, I have installed it just for fun, but I don’t think, I’m gonna use it. tl;dr…I read everything. :wink:

Welcome to the forum!

Thank you for the responses! the TLDR app looks like something I could definitely use. I will also be looking over the links and other suggestions as well.

1 Like

I guess the TLDR is a good place to start. Then the other suggestions here really are worth looking at.

So I hope you a nice Endeavour here! :smile:

I know this is a bit of an old topic but I had a follow on question. I’ve started using TLDR as suggested and I like how it works. My follow up question is if there is a program that will list the various commands in some sort of menu driven / organized method? TLDR is great as long as I know the commnad but there are many commands that I just don’t use very often so I don’t remember them. I then have to go do a search on the Internet and try to find what I am looking for. It isn’t a huge problem but it would be nice to be able to list commands by category in the command line itself similar to how cheat sheets online are laid out.

Any suggestions?