1

Я хочу скопировать мои файлы, но преобразовать символические ссылки в жесткие ссылки (т. Е. Фактический файл). Как я могу это сделать?

Вот мой код (это не работает):

cp -RL ${FROM_DIR} ${TO_DIR}

Примечание: это для целей Xcode - символические ссылки не разрешены в сборке.

Спасибо!

РЕДАКТИРОВАТЬ:

Проблема в том, как я сначала удаляю файлы, а не в том, чтобы удалить существующие символические ссылки.

rm -RLf "${FROM_DIR}/*"

1 ответ1

2

Не уверен насчет реализации cp UNIX, но GNU cp по умолчанию не сохраняет символические ссылки. И жесткие ссылки - это не то же самое, что файлы. По умолчанию cp создает файлы / директории из символических ссылок. Возможно, вам не нужна опция -L для ваших целей. Если вам это действительно нужно, вы можете использовать опцию --no-preserve = links.

Обратитесь к 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .