commit 16719ea6e1ef29d6a570de27917aec881622fd8c
parent 6c31f1d2a8d02bd038a5af45a45c53e346aaba9b
Author: sin <sin@2f30.org>
Date: Tue, 17 Feb 2015 16:13:45 +0000
cp: Update program usage and manpages
Do not document the non-standard -r flag as it is highly discouraged.
It is still silently accepted and treated the same as -R.
Diffstat:
M | cp.1 | | | 30 | ++++++++++++++---------------- |
M | cp.c | | | 12 | ++++++------ |
2 files changed, 20 insertions(+), 22 deletions(-)
diff --git a/cp.1 b/cp.1
@@ -1,4 +1,4 @@
-.Dd January 30, 2015
+.Dd February 17, 2015
.Dt CP 1
.Os sbase
.Sh NAME
@@ -6,11 +6,11 @@
.Nd copy files and directories
.Sh SYNOPSIS
.Nm
-.Op Fl Rr
-.Ar file
-.Op Ar name
-.Nm
-.Op Fl aPpRrv
+.Op Fl afpv
+.Oo
+.Fl R
+.Op Fl H | L | P
+.Oc
.Op Ar file ...
.Op Ar directory
.Sh DESCRIPTION
@@ -34,6 +34,14 @@ and
.Fl r .
.It Fl f
If an existing destination file cannot be opened, remove it and try again.
+.It Fl p
+Preserve mode, timestamp and permissions.
+.It Fl v
+Print names of source and destination per file to stdout. In the format:
+"source \-> destination".
+.It Fl R
+Copies directories recursively. If this flag is not specified, directories
+are not copied.
.It Fl H
Only dereference symbolic links that are passed as command line arguments when
recursively traversing directories.
@@ -42,16 +50,6 @@ Always dereference symbolic links while recursively traversing directories
(default).
.It Fl P
Don't dereference symbolic links.
-.It Fl p
-Preserve mode, timestamp and permissions.
-.It Fl R
-Equivalent to -r.
-.It Fl r
-Copies directories recursively. If this flag is not specified, directories
-are not copied.
-.It Fl v
-Print names of source and destination per file to stdout. In the format:
-"source \-> destination".
.El
.Sh SEE ALSO
.Xr mv 1
diff --git a/cp.c b/cp.c
@@ -7,7 +7,7 @@
static void
usage(void)
{
- eprintf("usage: %s [-adfpRrv] source... dest\n", argv0);
+ eprintf("usage: %s [-afpv] [-R [-H | -L | -P]] source... dest\n", argv0);
}
int
@@ -21,11 +21,14 @@ main(int argc, char *argv[])
cp_HLPflag = 'P';
cp_aflag = cp_pflag = cp_rflag = 1;
break;
+ case 'f':
+ cp_fflag = 1;
+ break;
case 'p':
cp_pflag = 1;
break;
- case 'f':
- cp_fflag = 1;
+ case 'v':
+ cp_vflag = 1;
break;
case 'r':
case 'R':
@@ -36,9 +39,6 @@ main(int argc, char *argv[])
case 'P':
cp_HLPflag = ARGC();
break;
- case 'v':
- cp_vflag = 1;
- break;
default:
usage();
} ARGEND;