Click to See Complete Forum and Search --> : how to copy a softlink??


OliverW
03-16-2002, 06:35 PM
How can I copy a softlink is to another dir?

mdwatts
03-16-2002, 06:41 PM
Lots of mention of symlinks in the cp manpage. Are you having a problem with any of them?

OliverW
03-16-2002, 06:54 PM
User Commands cp(1)

NAME
cp - copy files

SYNOPSIS
/usr/bin/cp [ -fip ] source_file target_file

/usr/bin/cp [ -fip ] source_file ... target

/usr/bin/cp -r | -R [ -fip ] source_dir ... target

/usr/xpg4/bin/cp [ -fip ] source_file target_file

/usr/xpg4/bin/cp [ -fip ] source_file ... target

/usr/xpg4/bin/cp -r | -R [ -fip ] source_dir ... target

DESCRIPTION
In the first synopsis form, neither source_file nor
target_file are directory files, nor can they have the same
name. The cp utility will copy the contents of source_file
to the destination path named by target_file. If target_file
exists, cp will overwrite its contents, but the mode (and
ACL if applicable), owner, and group associated with it are
not changed. The last modification time of target_file and
the last access time of source_file are set to the time the
copy was made. If target_file does not exist, cp creates a
new file named target_file that has the same mode as
source_file except that the sticky bit is not set unless the
user is superuser; the owner and group of target_file are
those of the user. If target_file is a link to another file,
cp will overwrite the link destination with the contents of
source_file; the link(s) from target_file will remain.

In the second synopsis form, one or more source_files are
copied to the directory specified by target. For each
source_file specified, a new file with the same mode (and
ACL if applicable), is created in target; the owner and
group are those of the user making the copy. It is an error
if any source_file is a file of type directory, if target
either does not exist or is not a directory.

In the third synopsis form, one or more directories speci-
fied by source_dir are copied to the directory specified by
target. Either -r or -R must be specified. For each
source_dir, cp will copy all files and subdirectories.

OPTIONS
The following options are supported for both /usr/bin/cp and
/usr/xpg4/bin/cp:

-f Unlink. If a file descriptor for a destination file
cannot be obtained, attempt to unlink the destination SunOS 5.8 Last change: 22 Apr 1999 1

User Commands cp(1)

file and proceed.

-i Interactive. cp will prompt for confirmation whenever
the copy would overwrite an existing target. A y
answer means that the copy should proceed. Any other
answer prevents cp from overwriting target.

-r Recursive. cp will copy the directory and all its
files, including any subdirectories and their files to
target.

-R Same as -r, except pipes are replicated, not read
from.

/usr/bin/cp
The following option is supported for /usr/bin/cp only:

-p Preserve. cp duplicates not only the contents of
source_file, but also preserves the owner and group
id, permissions modes, modification and access time,
and ACLs if applicable. Note that the command may fail
if ACLs are copied to a file system that does not sup-
port ACLs. The command will not fail if unable to
preserve modification and access time or permission
modes. If unable to preserve owner and group id, cp
will not fail, and it will clear S_ISUID and S_ISGID
bits in the target. cp will print a diagnostic message
to stderr and return a non-zero exit status if unable
to clear these bits.

In order to preserve the owner and group id, permis-
sion modes, and modification and access times, users
must have the appropriate file access permissions;
this includes being superuser or the same owner id as
the destination file.

/usr/xpg4/bin/cp
The following option is supported for /usr/xpg4/bin/cp only:

-p Preserve. cp duplicates not only the contents of
source_file, but also preserves the owner and group
id, permission modes, modification and access time,
and ACLs if applicable. Note that the command may fail
if ACLs are copied to a file system that does not sup-
port ACLs. If unable to duplicate the modification and
access time or the permission modes, cp will print a
diagnostic message to stderr and return a non-zero
exit status. If unable to preserve owner and group id,
cp will not fail, and it will clear S_ISUID and
S_ISGID bits in the target. cp will print a diagnosti S_ISGID bits in the target. cp will print a diagnostic
message to stderr and return a non-zero exit status if
unable to clear these bits.

SunOS 5.8 Last change: 22 Apr 1999 2

User Commands cp(1)

In order to preserve the owner and group id, permis-
sion modes, and modification and access times, users
must have the appropriate file access permissions;
this includes being superuser or the same owner id as
the destination file.

OPERANDS
The following operands are supported:

source_file
A pathname of a regular file to be copied.

source_dir
A pathname of a directory to be copied.

target_file
A pathname of an existing or non-existing file, used
for the output when a single file is copied.

target
A pathname of a directory to contain the copied files.

USAGE
See largefile(5) for the description of the behavior of cp
when encountering files greater than or equal to 2 Gbyte ( 2
**31 bytes).

EXAMPLES
Example 1: To copy a file:

example% cp goodies goodies.old
example% ls goodies*
goodies goodies.old

Example 2: To copy a list of files to a destination direc-
tory:

example% cp ~/src/* /tmp

Example 3: To copy a directory, first to a new, and then to
an existing destination directory:

example% ls ~/bkup
/usr/example/fred/bkup not found
example% cp -r ~/src ~/bkup
example% ls -R ~/bkup
x.c y.c z.sh
example% cp -r ~/src ~/bkup

example% ls -R ~/bkup
src x.c y.c z.sh
src:
x.c y.c z.s

SunOS 5.8 Last change: 22 Apr 1999 3

User Commands cp(1)

ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment
variables that affect the execution of cp: LC_COLLATE,
LC_CTYPE, LC_MESSAGES, and NLSPATH.

EXIT STATUS
The following exit values are returned:

0 All files were copied successfully.

>0 An error occurred.

ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:

/usr/bin/cp
__________________________________________________ __________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|___________________ __________|
| Availability | SUNWcsu |
|_____________________________|___________________ __________|
| CSI | enabled |
|_____________________________|___________________ __________|

/usr/xpg4/bin/cp
__________________________________________________ __________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|___________________ __________|
| Availability | SUNWxcu4 |
|_____________________________|___________________ __________|
| CSI | enabled |
|_____________________________|___________________ __________|

SEE ALSO
chmod(1), chown(1), setfacl(1), utime(2), attributes(5),
environ(5), largefile(5), XPG4(5)

NOTES
The permission modes of the source file are preserved in the
copy.

A - permits the user to mark the end of any command line
options explicitly, thus allowing cp to recognize filename
arguments that begin with a -. If a - and a - both appear on
the same command line, the second will be interpreted as a example% ls -R ~/bkup
src x.c y.c z.sh
src:
x.c y.c z.s

SunOS 5.8 Last change: 22 Apr 1999 3

User Commands cp(1)

ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment
variables that affect the execution of cp: LC_COLLATE,
LC_CTYPE, LC_MESSAGES, and NLSPATH.

EXIT STATUS
The following exit values are returned:

0 All files were copied successfully.

>0 An error occurred.

ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:

/usr/bin/cp
__________________________________________________ __________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|___________________ __________|
| Availability | SUNWcsu |
|_____________________________|___________________ __________|
| CSI | enabled |
|_____________________________|___________________ __________|

/usr/xpg4/bin/cp
__________________________________________________ __________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|___________________ __________|
| Availability | SUNWxcu4 |
|_____________________________|___________________ __________|
| CSI | enabled |
|_____________________________|___________________ __________|

SEE ALSO
chmod(1), chown(1), setfacl(1), utime(2), attributes(5),
environ(5), largefile(5), XPG4(5)

NOTES
The permission modes of the source file are preserved in the
copy.

A - permits the user to mark the end of any command line
options explicitly, thus allowing cp to recognize filename
arguments that begin with a -. If a - and a - both appear on
the same command line, the second will be interpreted as a filename.

SunOS 5.8 Last change: 22 Apr 1999 4


======

In other words, no it isn't mentioned on the man page for cp on Solaris 8 (at work)

mdwatts
03-17-2002, 09:41 AM
Solaris? Silly me was thinking you meant Linux.

-d, --no-dereference
never follow symbolic links

-H follow command-line symbolic links

-l, --link
link files instead of copying

-L, --dereference
always follow symbolic links

-s, --symbolic-link
make symbolic links instead of copying