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.
This commit is contained in:
sin 2015-02-17 16:13:45 +00:00
parent 6c31f1d2a8
commit 16719ea6e1
2 changed files with 20 additions and 22 deletions

30
cp.1
View File

@ -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

12
cp.c
View File

@ -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;