2

I want to copy my files but convert the symbolic links to hard links (ie. the actual file). How can I do this?

Here's my code (that isn't working):

cp -RL ${FROM_DIR} ${TO_DIR}

Note: this is for Xcode purposes - symlinks are not allowed in a build.

Thanks!

EDIT:

The issue is the way I remove the files first - it isn't removing existing symlinks.

rm -RLf "${FROM_DIR}/*"

1 Answer 1

2

Not sure about UNIX cp implemebntation, but GNU cp by default is not preserving symlinks. And hard links are not the same thing as files. By default cp creates files/dirs from symlinks. Probably you don't need -L option for your purposes. If you really need this that you can use --no-preserve=links option.

Refer to man cp:

   --preserve[=ATTR_LIST]
          preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all

   --no-preserve=ATTR_LIST
          don't preserve the specified attributes

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .