[hackers] [sbase] Add mandoc-manpage for chmod(1) || FRIGN
commit b55de3d1a257d5e0232e081e402532ef68fcedaf
Author: FRIGN <dev_AT_frign.de>
Date: Sat Jan 17 22:33:19 2015 +0100
Add mandoc-manpage for chmod(1)
and mark it as finished in README.
One small rationale on the way the manpage is set up: Looking at
the coreutils manpage, it does not invite to be a quick reference
guide, whereas I wrote this manpage to be short and concise in regard
to the information the advanced user needs.
No one needs to explain what an octal number is. That's not part of
the scope of this manpage.
Also, nobody wants to read a block of text just to find out how
to build an octal mode string.
diff --git a/README b/README
index 9d2ce0a..a7cc157 100644
--- a/README
+++ b/README
_AT_@ -12,7 +12,7 @@ The following tools are implemented (* == finished):
* cal yes none
* cat yes none
chgrp no -h, -H, -L, -P
- chmod yes none
+* chmod yes none
chown no -h, -H, -L, -P
chroot non-posix none
cksum yes none
diff --git a/chmod.1 b/chmod.1
index 4deb792..2c69e08 100644
--- a/chmod.1
+++ b/chmod.1
_AT_@ -1,74 +1,66 @@
-.TH CHMOD 1 sbase\-VERSION
-.SH NAME
-chmod \- change file mode
-.SH SYNOPSIS
-.B chmod
-.RB [ \-r ]
-.I octal
-.RI [ file ...]
-.P
-.B chmod
-.RB [ \-r ]
-.RB [ ugoa ]*[ +-= ][ rwxst ]*
-.RI [ file ...]
-.SH DESCRIPTION
-.B chmod
-changes the file mode for the given files.
-.P
-If the mode is an
-.I octal
-number, the modes are set according to that number's comprising bits. The first
-digit defines the setuid (4), setgid (2), and sticky (1) attributes. The second digit
-defines the owner's permissions: read (4), write (2), and execute (1); the third
-defines permissions for others in the file's group; and the fourth for all other
-users. Leading zeroes may be omitted.
-.P
-Alternatively the mode may be symbolic. The symbol meanings are:
-.TP
-.B u
-modifies owner permissions.
-.PD 0
-.TP
-.B g
-modifies group permissions.
-.TP
-.B o
-modifies other user permissions.
-.TP
-.B a
-modifies all user permissions.
-.PD
-.TP
-.B +
-adds the given permissions to the mode.
-.PD 0
-.TP
-.B -
-removes the given permissions from the mode.
-.TP
-.B =
-sets the mode to the given permissions.
-.PD
-.TP
-.B r
-read permissions.
-.PD 0
-.TP
-.B w
-write permissions.
-.TP
-.B x
-execute permissions.
-.TP
-.B s
-setuid and setgid attributes.
-.TP
-.B t
-sticky attribute.
-.PD
-.SH OPTIONS
-.TP
-.B \-r
-change directory mode recursively.
-.SH SEE ALSO
-.IR chmod (2)
+.Dd January 17, 2015
+.Dt CHMOD 1 sbase\-VERSION
+.Sh NAME
+.Nm chmod
+.Nd change file mode
+.Sh SYNOPSIS
+.Nm chmod
+.Op Fl R
+.Ar mode
+.Op Ar file ...
+.Sh DESCRIPTION
+.Nm
+changes the file mode of the given files.
+.Pp
+If
+.Ar mode
+is
+.Em octal
+"[sog]e"
+.Bl -tag -width Ds
+.It s
+.Xr sticky 1 => s += 1
+.Pp
+.Xr setgid 2 => s += 2
+.Pp
+.Xr setuid 4 => s += 4
+.It o|g|e
+owner | group | everyone
+.Pp
+.Xr execute 1 => o|g|e += 1
+.Pp
+.Xr write 2 => o|g|e += 2
+.Pp
+.Xr read 4 => o|g|e += 4
+.El
+.Pp
+Leading zeroes may be omitted.
+.Pp
+If
+.Ar mode
+is
+.Em symbolic
+"[ugoa]*[+-=][rwxst]*"
+.Bl -tag -width Ds
+.It u|g|o|a
+owner | group | other (non-group) | everyone
+.It +|-|=
+add | remove | set
+.It r|w|x|s|t
+read | write | execute | setuid and setgid | sticky
+.El
+.Sh OPTIONS
+.Bl -tag -width Ds
+.It Fl R
+Change modes recursively
+.El
+.Sh STANDARDS
+The
+.Nm
+utility is compliant with the
+.St -p1003.1-2008
+specification.
+.Pp
+The
+.Op Fl R
+flag is an extension to that specification.
diff --git a/chmod.c b/chmod.c
index 93b97a3..efbd17f 100644
--- a/chmod.c
+++ b/chmod.c
_AT_@ -35,7 +35,7 @@ chmodr(const char *path)
static void
usage(void)
{
- eprintf("usage: %s [-R] mode [file...]\n", argv0);
+ eprintf("usage: %s [-R] mode [file ...]\n", argv0);
}
int
Received on Sat Jan 17 2015 - 22:59:52 CET
This archive was generated by hypermail 2.3.0
: Sat Jan 17 2015 - 23:00:12 CET