Есть ли способ выразить: '-связываются' или отступают к обычной копии в CP (от GNU coreutils)?

Я думаю, что более легким путем является использование ArchLinux. Можно установить то, что Вы хотите, легкий WM как fluxbox достаточно хорош.

11
05.02.2013, 03:43
1 ответ

cp не имеет этой опции. Вы могли записать сценарий обертки, но это довольно просто.

ln -f $^ $@ 2>/dev/null || cp -f $^ $@

GNU Coreutils 7.5, представленный --reflink опция. Если Вы передаете --reflink=auto и базовая файловая система поддерживает копию на записи (например, Btrfs или ZFS), и копия, оказывается, находится на том же устройстве, затем cp создаст новый inode, но не скопирует содержание; иначе cp выполняет нормальную копию. Это все еще не жесткая ссылка (цель всегда будет другим inode), но это, вероятно, еще лучше для Вашего варианта использования. Однако, если Вы будете на ext4 (как большинство людей в наше время), который не поддерживает копию на записи, то это не поможет Вам.

8
27.01.2020, 19:59
  • 1
    Спасибо, двойное $$ в моем случае, конечно, потому что это в макросе. И Ваша строка, конечно, является изменением того, что я использую. Но по крайней мере я знаю этот способ, которым это не существует как опция, и я должен обеспечить свое собственное. –  0xC0000022L 05.02.2013, 03:41
  • 2
    @0xC0000022L Между прочим, через несколько лет, когда btrfs вытесняет ext4, можно хотеть использовать фрагмент ln и используйте cp --reflink=auto (см. мой обновленный ответ). –  Gilles 'SO- stop being evil' 05.02.2013, 03:43
  • 3
    спасибо, очень ценившее. Не знал о нем, хотя я видел ту опцию в какой-то момент. –  0xC0000022L 05.02.2013, 03:44

Теги

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