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.
Texinfo pages were originally meant to be a longer alternative to manpages that had support for featureful navigation (links, indexes, etc). They’re nice and I can see a world where they did catch on, but the standard viewer is always a little bit of a shock to jump in to (being based off Emacs and all)
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 ®, 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.
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.
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.
Install
tealdeer
. Then instead ofman programname
typetldr programname
.Some man pages have them. I agree that they should be more common though.
manpages of gnu commands usually lack them because they’re in their info system
Info system?
Run
info info
Texinfo pages were originally meant to be a longer alternative to manpages that had support for featureful navigation (links, indexes, etc). They’re nice and I can see a world where they did catch on, but the standard viewer is always a little bit of a shock to jump in to (being based off Emacs and all)
No worries!
man man
… I’m in over my head here.
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
Here’s a excerpt from
man chmod
that can be summarized as “You probably want to mark the file you downloaded as executable. Runchmod +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 ®, 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
this is why tldr is so good