Having used Linux for over 20 years, I confess that my command line skills are limited. I have probably digressed really as 15 years ago, I was actually compiling kernels and such on the old Mandrake Linux. Over the years I have switched distros and of course new tools and methods (SystemMD) have come along so commands I used to know are no longer relevant. Time and time again, if I post a question on the forums for an issue I am having, someone throws out a “do this command” and I’m like “wow, that’s awesome, didn’t know it even existed!”. I use the command once then promptly forget it.
I know there are some good tools like TLDR (To Long Didn’t Read) that is fantastic. Problem with this tool is that you have to remember the command in the first place. The internet of course is a fantastic resource but there have been times when I’m stuck only on a command line and have no internet access to troubleshoot.
What I am looking for is a menu driven command line tool that I can start from the command line that will have a list of commands organized by activity (say like adding or modifying a user account, or troubleshooting and looking at log files) that has a brief description of what it does along with the command itself. Then I can scroll through and select whatever is appropriate for what I think I need to do but can’t remember. When selected, it will pull the TLDR page for that command so then I can look at some examples and go my way. This would make it way easier to learn commands I think because it gives me the ability to “see” what is available to try.
Does such a thing exist? If it doesn’t, I am considering hiring someone to develop just such a tool as I think it would be very beneficial for people like me (if you are interested in such a project, contact me).
Thank you for the suggestions and these are quite good. However, I think they are still missing the mark a bit from what I was hoping for and am willing to pay to have developed if necessary. The info command is actually fantastic but there are 3000 entries of which 99.9% are not relevant for a casual user like myself. The info is good, it’s just way to much to try to filter through to find what I need. The other commands again depend on me knowing what command to use or search for. Lastly I’m looking for a tool that I can pull up in a command line environment where I have no internet access.
I’m think of something like this:
A simple menu driven interface with the most used commands (and possibly the ability to add and organize your own commands) so that I can quickly scroll through the different categories and find what I am looking for. Selecting that item will then pull from TLDR to give me a description of the command and examples.
Like I said, I am willing to pay to have this script developed, I just don’t want to go down this path if there is something already in existence.
These specific tasks (useradd, passwd, usermod, groups, groupadd, etc…) while they important to be aware of, are quite rarely used. One does not configure users and groups every day, especially not on a personal computer. The journalctl command is only used when stuff breaks. The ip command is slightly more often used, typically when you want to connect to a computer within the local network.
There are many use cases which I consider much more common, at least in my case. The terminal is a very efficient user interface (the most efficient one) and it can be useful on a daily basis.
These are my most common use cases:
File management (I rarely use a file manager like Dolphin, the terminal is faster):
1.1. Copying, moving, creating, deleting files and directories
1.2. Searching for files and contents of files
Launching and running applications (I don’t use a GUI menu to launch programs):
2.1. Using the shell as an application launcher, either to start GUI applications or to open files in them
2.2. Using TUI applications
2.3. Using command line utilities like compilers, converting and editing images with imagemagick and videos with ffmpeg
2.4. Downloading files from the internet, using programs like wget, curl, yt-dlp
Package management with pacman and yay (updating, installing, and removing packages).
Reading the man pages (especially when it comes to programming in C, as this is very well documented on POSIX systems).
Since the best way to become comfortable with the terminal is to use it, the my typical use cases are those I’m the most familiar with. I do use the terminal for system maintenance, but as I mentioned above, that is quite rare, and I don’t bother remembering all of it, since I can either look into my notes on how to do these things, read the man pages or look it up online.
pacman -Ss arch-wiki
Pages from Arch Wiki optimized for offline browsing
The wiki without html. 1/9 as big, easily searched and viewable on conso
I think I know exactly what you mean, because I did the same thing myself using a bash script. You need a mixed solution that includes some documentation and you can paste the command or template immediately.
Warning, I’m not a programmer so I can’t do better than this, but it’s good enough for me. https://gist.github.com/Piqlet/02f8bcdd74e9c5e1f45112704901e975