This is the best list I've seen in this genre, because it excludes a lot of commands that you don't need and probably won't want to use in a modern mostly-GUI workflow, and even gives the appropriate scary warning for rm.<p>If you need something like dd, or any of the "real programming" stuff like if statements and xargs, you probably really love it all and will find it yourself. If you just do a few things in shell and use Python and GUI for the rest, these Are the main ones.<p>Slightly less common ones I'd add:<p>kill and killall<p>ps -aux | grep APPNAME<p>(Technically not a single command, but it's 90% of my use of ps or grep, so it might as well be it's own command)<p>cowsay, fortune, neofetch, and lolcat, sl<p>Not actually included in shell but people should know about them anyway.<p>It's said that Arch users are legally required to stare at the output of neofetch once per hour at minimum.<p>Various systemctl commands:<p>start, stop, status, enable, disable, mask<p>systemd-analyze critical-chain<p>nmtui
(Not sure which distros include this by default and which don't)<p>dmesg<p>journalctl, dmesg<p>sudo reboot now<p>sudo shutdown now<p>units
(Usually not included, gotta install it)<p>ping, ip a<p>Also, this would be fantastic to include in educational material or even add directly to a distro. Does it have a license?
Thank goodness for Linux. Where would UNIX and BSD be without the most important Linux commands? I kid. No Linux commands listed, only shell commands. I'd like to initiate a cutesy repeatable Ghostbuster's themed meme: <i>There is no Linux. There is only shell.</i> Maybe if it is popular enough, the zealots will stop insisting GNU/Linux is the center of the cosmos, but I doubt it.
As a start to using shell I recommend learning (roughly in order):<p>man<p>grep<p>sed<p>find<p>piping and redirect<p>xargs<p>looping<p>Knowing the basics of those unlocks a lot of the power of the shell. You can you them to brute force your way through most problems as you learn more.
I would tweak the redirect info to have “xxx &> file” in there since that’s one that is often confusing to people early on that want to output stdout and stderr to a file and are confused about how to do that. But yea the list of stuff here is a nice starter list for sure.
I know that people like to use ctrl-R to search backwards through history, but I am very zealous about using the up-arrow to search through your history instead (in your .bashrc):<p>bindkey "^[[a" history-beginning-search-backward<p>bindkey "^[[B" history-beginning-search-forward
Pedantic note about ctrl+d: it doesn’t mean logout. It sends and EOF character.<p>Said EOF is honoured by your TTY, which closes the FD this ending the session.<p>You can see this by typing `cat -` and ending it with ctrl+d. The windows equivalent is ctrl+z.
The content is useful, and familiar to any experienced Unix/Linux user,
but formatting that content as a table with many heavily folded lines
nearly ruins the content for any really new user.