Hacker News new | ask | show | jobs
Most Important Linux Commands Cheatsheet (github.com)
55 points by r0f1 1613 days ago
8 comments

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.

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.

Slightly less common ones I'd add:

kill and killall

ps -aux | grep APPNAME

(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)

cowsay, fortune, neofetch, and lolcat, sl

Not actually included in shell but people should know about them anyway.

It's said that Arch users are legally required to stare at the output of neofetch once per hour at minimum.

Various systemctl commands:

start, stop, status, enable, disable, mask

systemd-analyze critical-chain

nmtui (Not sure which distros include this by default and which don't)

dmesg

journalctl, dmesg

sudo reboot now

sudo shutdown now

units (Usually not included, gotta install it)

ping, ip a

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: There is no Linux. There is only shell. Maybe if it is popular enough, the zealots will stop insisting GNU/Linux is the center of the cosmos, but I doubt it.
Everything you said is true but for absolute noobs who want to get started with Linux, this is useful
As a start to using shell I recommend learning (roughly in order):

man

grep

sed

find

piping and redirect

xargs

looping

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.

Seconded - especially the section on xargs & looping.
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.
Thanks, good idea. I will add that one.
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):

bindkey "^[[a" history-beginning-search-backward

bindkey "^[[B" history-beginning-search-forward

Pedantic note about ctrl+d: it doesn’t mean logout. It sends and EOF character.

Said EOF is honoured by your TTY, which closes the FD this ending the session.

You can see this by typing `cat -` and ending it with ctrl+d. The windows equivalent is ctrl+z.

Pedantic-er note: ^D isn’t necessarily the VEOF character — you can change it with tcsetattr() after modifying termiosp->c_cc[VINTR] or by using stty(1). And it doesn’t send an “EOF character” (EOF is a condition/convention more than a character). All it does is make read(2) return immediately with whatever data is currently in the line buffer. You can try it now:

    $ cat
    something^Dsomething^D
    $ cat
VEOF causes the tty driver (tty(4)) to send “something” to cat immediately; and cat echoes that back out to the terminal as intended.

If there’s nothing in the line-buffer (because you pressed VEOF at the start of the line) then read(2) returns 0, which is interpreted as an end-of-file condition by your libc in fread() and friends.

You can checkout OpenBSD’s termios(4) for a more detailed explanation :)

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.
OMG thank you for putting this together, OP.

I work with clients for whom this knowledge will be greatly useful. CTRL-R is a revelation, every time.