I made a plain text Linux cheat sheet as a reference and for beginners.

https://cerium.cc/documents/linux_cheat_sheet.txt

If you have any suggestions or criticisms, feel free to comment them.

Being plain text, it's much easier to read on a wide screen, or on something without line wrapping.

443 points · 45 comments · view on lemmy.world

45 Comments

adam_y@lemmy.world · 28 pts · 2y (2 replies)
[ removed ]
asciiandarch@lemmy.ml · 18 pts · 2y (1 reply)

I added more information to the installing software section, updated section title to specify Arch Linux, and added another section for Debian and Derivatives.

adam_y@lemmy.world · 9 pts · 2y
[ removed ]
Pantherina@feddit.de · 18 pts · 2y (1 reply)

Interesting compilation, there is cheat.sh, tldr and others though

asciiandarch@lemmy.ml · 27 pts · 2y

I made this just as much for me as I did for others. Writing things down myself really helps me memorize them.

jjjalljs@ttrpg.network · 15 pts · 2y (1 reply)

Nice work.

My tiny nitpick is that "touch" will create the file you specify if it doesn't exist. I've seen this usage a lot, so your example may benefit from mentioning it.

tromars@feddit.de · 1 pts · 2y

TIL „touch“ has other uses than creating a file

asciiandarch@lemmy.ml · 12 pts · 2y

Thanks for all the feedback! I'm much happier with it now, and I'll probably continue to make small changes over time.

charles@lemmy.world · 11 pts · 2y (1 reply)

I find the references to file extension kinda confusing. Extensions mean a lot less in Linux cli, but I can tell youre just using them for examples. Maybe give more concrete examples instead.

ls *.sh to list all the files ending in .sh

asciiandarch@lemmy.ml · 9 pts · 2y

I updated various examples, and replaced with in most places and removed it from the legend.

Sonotsugipaa@lemmy.dbzer0.com · 7 pts · 2y (1 reply)

I don't know how this would be useful to someone reading the cheat sheet, but here's something interesting I just indirectly found out while skimming it through:

Ctrl+D does the same thing as ENTER, except the latter additionally sends the end-of-line character to the reader while the former sends nothing;
as is the case for shells or interactive programs like the Python REPL, Ctrl+D causes them to terminate only because it sends a string that is 0 characters long, and 0-size reads are universally interpreted as files reaching the end.

To test this: enter cat, type "hello" without pressing enter, then Ctrl+D: you should see "hellohello".
An extremely rare case of this being useful would be using netcat to send a string somewhere, without sending the end-of-line byte at the end.

asciiandarch@lemmy.ml · 5 pts · 2y

I updated "Log out" to "Exit (sends a signal indicating the end of a text stream)". Which I think is a lot more accurate, and still easy to understand.

j4yt33@feddit.de · 6 pts · 2y

Cool, thank you!

lars@lemmy.sdf.org · 6 pts · 2y

Oh. My. Gosh. I love this. Thank you. And thank you for being --verbose about the provenance and history of the document. And big big thank yous for the Internet Archive links. Bravo.

charles@lemmy.world · 5 pts · 2y (2 replies)

What do you mean about "/ root directory, eg /usr/bin/bash"? / is /, just the top-most directory

asciiandarch@lemmy.ml · 3 pts · 2y

I added more detail to the description and made a more relevant example. (I think)

mundane@feddit.nu · 3 pts · 2y

Yes, the top most directory, /, is the root directory.

Each directory is a branch in one giant tree structure. For example, if you have a directory containing two other directories, that is a branch that is splitting into two branches. All directories are descendants of the same root.

jackpot@lemmy.ml · 5 pts · 2y (5 replies)

would you upload this on github?

asciiandarch@lemmy.ml · 5 pts · 2y (4 replies)

Done? I've never uploaded to GitHub before, and I was just doing what I thought I should do. I'll do my best to keep it updated with the version on my website.

https://github.com/ordinarybyte/linux_cheat_sheet

Is there a way to make GitHub automatically detect changes to the file at cerium.cc and update the repo? Or do they not allow that? I know a scheduled script would be able to work but I don't really want to have to run it myself.

Landless2029@lemmy.world · 2 pts · 2y
StorageB@lemmy.one · 1 pts · 2y
[ removed ]
cafuneandchill@lemmy.world · 1 pts · 2y

You can do some automation with GitHub Actions, but I have no idea if it can do specifically that

TunaLobster@lemmy.world · 1 pts · 2y

Usually you would go the other way around. Merge changes into git and then distribute from there.

wuphysics87@lemmy.ml · 4 pts · 2y

You might consider putting a license on it

RichSPK@lemux.minnix.dev · 4 pts · 2y

I've been using Linux for decades and I bet that'll still come in handy.

Flyswat@lemmy.ml · 4 pts · 2y (2 replies)

cd - changes to the previous directory

ccdfa@lemm.ee · 1 pts · 2y (1 reply)

Does cd + work to go forward after using cd - ?

nigh7y@lemmy.ml · 1 pts · 2y

cd - negates cd -, so you're right back where you started! It's like multiplying 2 negatives.

harsh3466@lemmy.ml · 3 pts · 2y

This is fantastic. Just at a glance I already learned something new! Definitely keeping this for reference.

liquidapricity@lemmy.world · 2 pts · 2y

This is really helpful, thank you.

NOOBMASTER@lemmy.ml · 2 pts · 2y

Aren't Alt + Backspace, and Alt + Arrow Key Left/Right also terminal shortcuts?

I like your version, I am bookmarking it.

titey@jlai.lu · 2 pts · 2y

This is really nice!

Postreader2814@lemm.ee · 2 pts · 2y (1 reply)

You're a prince among men.

stoicmaverick@lemmy.world · 2 pts · 2y

And an Albert among princes.

pH3ra@lemmy.ml · 2 pts · 2y

Really cool!
Another good addition to this might be some script rudiments, like how to write and run simple .sh files

SidewaysHighways@lemmy.world · 1 pts · 2y

Awesome! Thank you kindly

Diplomjodler@feddit.de · 1 pts · 2y

Great idea. I'll keep this handy from now on.

Chakravanti@sh.itjust.works · 1 pts · 2y

A little over a decade & a half and I find that very useful. Should have GPG in for reading signatures on software and such too. If you'd like I can contribute to GPG terminal as I've been using it for a good portion of that time.

BaumGeist@lemmy.ml · 1 pts · 2y
[ removed ]
tgt@programming.dev · 1 pts · 2y

At the end, in redirection, <<: that's not how here-documents work. The example gives the impression it will read the given file up until "STOP", but in reality the shell expects you to keep writing your here-doc until you write "STOP" and then feeds it to the program as if it were all on stdin. I don't think wc even does anything with the stdin if you give it a filename... Note that variable expansion will happen in here-docs, so it's a bit different than a simple cat. Also look into here-strings. And process substitution, I find that quite handy.

shaytan@lemmy.dbzer0.com · 1 pts · 2y

I've needed something like this for a while, thank you buddy

YeetPics@mander.xyz · 1 pts · 2y

I owe you bigly

ian@feddit.uk · -9 pts · 2y (6 replies)

Wow. I'll definitely avoid Linux now. I had heard Linux was supposed to be easy to use now.

cafuneandchill@lemmy.world · 9 pts · 2y

All this terminal stuff is absolutely not necessary for an average user; graphical applications are often more than enough

chepycou@rcsocial.net · 7 pts · 2y

@ian @asciiandarch If all you do is web browsing, document processing and graphical games you may never ever touch the terminal ;)

heckypecky@lemmy.dbzer0.com · 5 pts · 2y

It is not as complicated as it looks! As a long time windows user I'm in the process of getting used to the command line and I love the simplicity and direct way of doing things. For some tasks and small programs it is amazing. Grep for example is something amazing that you couldn't do in a windows type UI.

For other stuff like visualizing a directory tree you can always use a mouse interface. You're rarely forced to use the terminal.

okamiueru@lemmy.world · 0 pts · 2y (2 replies)

Makes as much sense as saying "I'll definitely avoid Windows now. I had heard that Windows was supposed to be easy to use", since most of this also applies to WSL2.

ian@feddit.uk · 2 pts · 2y (1 reply)

Maybe the guide is not intended for some beginners after all?

okamiueru@lemmy.world · 3 pts · 2y

I suppose. If your criticism is that it could have been more specific as to what you are a supposed "beginner" in, then I agree.