cp -l вместо cp -s не работает?

У меня есть папка с символической ссылкой на основные файлы и папка с моими улучшениями, такими как:

  • core / -> / some / distant / root / directory / core /
    • script_a.py
    • special / script_b.py
    • special / script_c.py
  • улучшения ядра /
    • special / script_b .py

То, что я хочу сделать, - это создать третий каталог под названием улучшенное ядро ​​/ (с использованием скрипта bash), в котором будет содержаться содержимое улучшений ядра. / и рекурсивно связанное содержимое ядра / (я имею в виду / some / distant / root / directory / core /):

  • улучшенный-core /
    • script_a.py -> / some /distant/root/directory/core/script_a.py
    • special / script_b.py (из улучшений ядра /)
    • special / script_c.py -> / some / distant / root / directory / core / special / script_c.py

Если я создаю его вручную с помощью символической ссылки на script_a.py, script_a.py вызывает script_b.py из / some / distant / корень / каталог / ядро ​​/ SPECI Каталог al /, а не каталог в улучшенном ядре / special /.

Итак, я полагаю, что здесь нужны жесткие ссылки?


До сих пор я создал следующий скрипт bash, который хорошо работает для меня, но он создает символические ссылки вместо жестких ссылок:

cp -r core-improvements/ improved-core/ &&
cp -LnrsT core/ improved-core/

Затем я попытался создать жесткие ссылки вместо символических ссылок, переключив -LnrsT на -LnrlT, но получаю следующие ошибки:

cp: невозможно создать жесткую ссылку 'улучшенный-core / script_a.py 'to' /some/distant/root/directory/core/script_a.py ': операция не разрешена

Теперь я полностью растерян, как решить проблему.

2
задан 1 July 2019 в 13:26

0 ответов

Другие вопросы по тегам:

Похожие вопросы: