I'm Guilty as Charged
I'm Guilty as Charged
Clarification: Just making fun of people(including myself) who watch shitty videos instead of official documentation.
I'm Guilty as Charged
Clarification: Just making fun of people(including myself) who watch shitty videos instead of official documentation.
I really like the man pages, but they're an encyclopedia, not a tutorial. Great for looking up specifics when you already have a foundation. Not so great when starting out
When I was first learning programming I had a teacher who insisted that the only resource we could was the Java docs.
When you want to know what parameters you need to pass or what certain flags do, it's a great resource. When you don't even know how to iterate through an array, it's not the first place to look.
Man pages fucking suck, and I say that having been working with linux full time professionally for 11 years.
The best ones have plenty of examples.
How about using tealdeer?
Yeah, I'm writing code on Linux and for Linux and I use it extensively since 2012. I can remember maybe one or two times man was really helpful. Usually it's an enormous book that somehow doesn't contain exactly that bit information that you're looking for
Man pages are for people who already know a lot about Linux and understand all the nuances and understanding of Linux
Even after using Linux for many many years I still don't understand wtf nearly all man pages mean. It's like a fucking codex. It needs to be simplified but not to the extreme where it doesn't give you information you need to understand it.
Tbh that's most of Linux, not designed for average people, designed by Linux users who think that all others should know everything about Linux.
I find them very useful for programs that I already know what to use them for otherwise I usually consult the arch wiki.
Enter tldr and navi
They also usually assume a lot about the users' knowledge of the domain of the program itself.
In my experience, many programs' man/help is very brief, often a sentence or less per command/flag, with 2 or more terms that don't mean anything to the uninitiated. Also, even when I think I know all the words, the descriptions are not nearly precise enough to confidently infer what exactly the program is going to do.
Disclaimers for potentially dangerous/irreversible actions are also often lacking.
Which is why I almost always look for an article that explains a command using examples, instead of trying to divine what the manual authors had in mind.
Tbh a lot of man pages don't even give you enough usage information to make full use of a package. I'm thinking of the ones which are like an extended --help
block
l must be using man pages very differently from you. To me they are mostly the easy reference to check the available flags for a command, and sometimes the reference on available config file entries, e.g. ssh_config(5)
For those things I was using them quite soon when I started using Linux, because it's quicker than googleing every time if you just need one flag or one option name. For more complex things, like tar-and-gzip in one which needs like four, I still google though.
Probably there are very complicated ones too, the ones explaining subsystems or APIs of the kernel, but those I don't need as a user.
I don't get it either. I can see how you're getting confused if you end up in section 2 or 3 of the manpages or with the kernel calls. But that's not what a beginner is looking for. The manpages for the user commands are pretty alright. Sometimes even excellent.
It depends on who writes them, I guess. More "modern" software come with pretty good and concise manpages, meanwhile stuff like the coreutils still have manpages that feel like an incomprehensible mess.
My dryer broke the other day, which turned out to be the heating element. I watched a bunch of videos to try and figure out how to troubleshoot the problem and hopefully address it.
One of the videos, after an intro, claimed to have the solution. Then they proceeded to talk about the temperature control features of the machine and how I should make sure the heat is turned on.
That is the level many of the unix / software development videos out there. Just literally some AI slop or silly person who doesn't know what they are talking about uploading a quick clip to grow their channel.
You ask someone for instructions
They send you some bullshit 10 minutes long video
Now instead of ctrl+f or skimming the article and jumping where you want to go you need to jump around in a video
REEEE
I have a theory a lot of people are functionally illiterate and thus prefer videos as they can't skim well
Man pages are useful references but go ahead and learn how to use sed or awk from their man pages.
Yep.
That's what the RTFM folks don't seem to understand: if you didn't even know, what you're looking for, you can't look it up.
Or make
Man pages are for reference, not learning.
Man pages are literally indecipherable as a newby
I just wish they'd put some damn usage examples in there. I usually just need to do one thing I don't need a dissertation about it.
Install tealdeer
. Then instead of man programname
type tldr programname
.
As a CS bachelor, I feel like programmers are not so good at giving examples. They are used to refactoring to cover more general cases. It's a part that makes me struggle at mathematics the most, because good examples are like half of math.
No worries!
man man
... I'm in over my head here.
Here's a excerpt from man chmod
that can be summarized as "You probably want to mark the file you downloaded as executable. Run chmod +x FILENAME
"
DESCRIPTION
This manual page documents the GNU version of chmod. chmod
changes the file mode bits of each given file according to mode,
which can be either a symbolic representation of changes to make,
or an octal number representing the bit pattern for the new mode
bits.
The format of a symbolic mode is [ugoa...][[-+=][perms...]...], where perms is either zero or more letters from the set rwxXst, or a single letter from the set ugo. Multiple symbolic modes can be given, separated by commas.
A combination of the letters ugoa controls which users' access to the file will be changed: the user who owns it (u), other users in the file's group (g), other users not in the file's group (o), or all users (a). If none of these are given, the effect is as if (a) were given, but bits that are set in the umask are not affected.
The operator + causes the selected file mode bits to be added to the existing file mode bits of each file; - causes them to be removed; and = causes them to be added and causes unmentioned bits to be removed except that a directory's unmentioned set user and group ID bits are not affected.
The letters rwxXst select file mode bits for the affected users: read (r), write (w), execute (or search for directories) (x), execute/search only if the file is a directory or already has execute permission for some user (X), set user or group ID on execution (s), restricted deletion flag or sticky bit (t). Instead of one or more of these letters, you can specify exactly one of the letters ugo: the permissions granted to the user who owns the file (u), the permissions granted to other users who are members of the file's group (g), and the permissions granted to users that are in neither of the two preceding categories (o).
A numeric mode is from one to four octal digits (0-7), derived by adding up the bits with values 4, 2, and 1. Omitted digits are assumed to be leading zeros. The first digit selects the set user ID (4) and set group ID (2) and restricted deletion or sticky (1) attributes. The second digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the third selects permissions for other users in the file's group, with the same values; and the fourth for other users not in the file's group, with the same values.
chmod doesn't change the permissions of symbolic links; the chmod system call cannot change their permissions on most systems, and most systems ignore permissions of symbolic links. However, for each symbolic link listed on the command line, chmod changes the permissions of the pointed-to file. In contrast, chmod ignores symbolic links encountered during recursive directory traversals. Options that modify this behavior are described in the OPTIONS section.
This is a perfect example bc five years ago this would be total gibberish to my fledgling self. But today it's mostly readable as reference material
Yes, but can I dance to it?
undefined
cht () { curl cht.sh/$1 }
You can stick this in your .bashrc or .bash_profile. Then just do cht <command to use>
and it'll give you the most relevant info to use the command.
Ie. cht tar
this is why tldr is so good
You're not a real linux user unless you've read the source because the documentation was inadequate.
For those that didn't pick it up, this is sarcasm
Is it tho?
I'd say that only those who manage to write a kernel code that doesn't upset Linus Torvald are true linux users.
Even Linus Trovald writes kernel code that Linus Trovald doesn't like.
This is nixos.
"How do I do X in linux?"
"Yeah so basically you just need to run this command and it should work on Ubuntu 12.10 (Last edited: Nov 2012)"
"Hey guys the way to do X changed in Ubuntu 16.04, see this updated link (Posted: Jan 2017)"
"Actually Ubuntu 18.04 is now using Y so you have to follow this new guide (Last edited: Jul 2019)"
"Crossed-out outdated guide
For Ubuntu 22, please reference this Canonical guide here. All other distros can simply use Z (Last edited: Aug, 2022)"
"404 not found (Canonical)"
"How do I do X in Debian?"
"You can run Z to do X (Posted: Oct 2013)"
"Thanks for this, it worked! (Posted: Sep 2023)"
"How do I do X in Fedora?"
"Ah just follow this wiki (Posted: Feb 2014)"
"(Wiki last update: Mar 2023)"
"How do I do X In Arch?"
"RTFM lmao: link to arch wiki (Posted: May 2017)"
"(Wiki last update: 3 minutes ago)"
Did you know you can filter search results by time? When it comes to computer questions in particular, I always ask for results from within the past year.
"How to do X on Y?" "Why would you ever want to do X? Do Z instead!"
Copypastes every terminal command string from every forum post they see, hoping one of them fixes the problem
undefined
bash: common-sense: command not found
maybe installing fortune
will help
literally the only reason I installed nano
Such people are the main targets of rm -rf
trolls.
These are the same people who later on complain about Linux being shit because it just breaks
Free tech tip: https://cht.sh/ serves practical, usage-focused help on common command-line tasks. You can visit the website, or even better, curl for what you want.
bash
$ curl cht.sh/touch
gets you this:
undefined
cheat:touch # To change a file's modification time: touch -d <time> <file> touch -d 12am <file> touch -d "yesterday 6am" <file> touch -d "2 days ago 10:00" <file> touch -d "tomorrow 04:00" <file> # To put the timestamp of a file on another: touch -r <refrence-file> <target-file>
Append with ~
and a word to show only help containing that word:
bash
$ curl cht.sh/zstd~compress
Result:
undefined
tldr:zstd # zstd # Compress or decompress files with Zstandard compression. # More information: <https://github.com/facebook/zstd>. # Decompress a file: zstd -d path/to/file.zst # Decompress to `stdout`: zstd -dc path/to/file.zst # Compress a file specifying the compression level, where 1=fastest, 19=slowest and 3=default: zstd -level path/to/file # Unlock higher compression levels (up to 22) using more memory (both for compression and decompression): zstd --ultra -level path/to/file
For more usage tips, curl cht.sh/:help
.
Nice! Just gonna piggyback and recommend https://tldr.sh/ too. I use it all the time!
This definitely needs an alias overriding man
lol
You just blew my MF mind.
This is cool. Thanks for sharing it.
Has anyone here ever come across a low res tutorial video with microsmic font that is impossible to read? I appreciate their desire to help others but why do people do that?
I've gotten in the dumbfounding habit of searching man <program>
on the web instead of in the terminal I'm already typing in.
Sometimes I try to quit my browser with :q
or try to send emails with :wq
That's a browser extension worth building
Dude. Warn me before saying something like that. I'm too high for this... Lol
I do that occasionally when.I don't want to lose/scroll back to the output currently in my terminal (or I want to refer to it while reading the manpage)
Honestly I kinda like man pages. It is a pain but it is the least painful. And compared to e.g. the PowerShell docs, I love the man pages.
I really like the man pages for commands that have examples of some common usage at the bottom, that gets you kickstarted and you can just adapt your own command from the example.
tldr
is good for this.
tldr for tldr lol
Some mans are unreadable. I've been curling cheat.sh/[command] and its been great for example commands. Highly recommend.
I also like tldr for new commands. Sometimes I discover new ways by using it on the commands I know...
After many years of tiptoeing through the distros, from RedHat 5 and Mandrake6 to Slack to Gentoo and now Fedora 41. The last thing I want anymore is to need to go RTFM.
I don't want to open a terminal to compile anything, (I got stacks of tee shirts), or goggle, (yes goggle), to make things work. I'm too old for this crap and I don't have that much longer to live wasting my short time remaining staring at a terminal and reading man pages. Distros and Linux by extension should "just work" in 2025. And thankfully they do-- most of the time.
You want to be a Sysadmin and a cmd line commando, have at it. I'm peacing out.
Now if only GUIs could be called and worked telepathically. Or better yet, fix any problems before they happen without me even knowing about it.
That's one of the reasons why I prefer to run older, enterprise hardware.
There's a good chance, everything has been configured before and most distros work just fine without any tweaking.
I want a stable platform to work on, not another hobby.
To be fair we do the same with windows.
I mostly use Tealdear but --help
works well when Tealdear gets too simplified.
Same outcome even if you read man pages
A lot of man pages suck ass.
Except openBSD ones, they should be the standard of quality for user documentation.
Hahah true, its a skill issue.
Man page author issue
Consider this, nearly every major distro (and some minor distros like Alpine) has a wiki (or is based on a Distro that does).
Thihi and sooner or later they all end up at the arch linux wikis.
True but if you're distro offers a good enough user experience then you won't be spending nearly as much time in docs, as opposed to just enjoying your desktop.
Being for more "technical people" is just a lame excuse for bad UX.
Man pages suck ass. But not as much as fucking YouTube tutorials.
Can someone just write a nice plain English instruction page?
I'm in this image and I don't like it.
If you want to really learn what you're doing, try info coreutils
what the fuck is a man page
whatis man
something related to mansplaining... /s
its a giant wall of text i have never used that can be opened with the terminal command man <othercommand>
where
<othercommand>
is literally any other commandman man
...
same energy as "moon moon"
Don't forget the HEAVY Indian accent
I had to run this command once, not for the faint of heart, and takes about as long as a full OS reinstall...
sudo aptitude reinstall '~i'
This command reinstalls all registered packages on a Debian based distro, including Ubuntu and Mint.
Was totally worth it though, it kept all my files and config intact, and repaired all the packages that Timeshift borked up (my experience with Timeshift was BAD!)
ctrl-shift-v | yes
Having a good --help
command does wonders.
There are man pages which do avoid me opening a web browser, the systemd
ones are pretty good for example.
I just installed tldr
to test it out tho.
How do you find the good ones around all the spam and absolute trash though? Teach me sensei please?!