символическая ссылка, где ссылка получает обновления, а оригинал нет

Они были удалены из POSIX по следующему обоснованию:

This grep has been enhanced in an upwards-compatible way to provide the exact functionality of the historical egrep and fgrep commands as well. It was the clear intention of the standard developers to consolidate the three greps into a single command.

The old egrep and fgrep commands are likely to be supported for many years to come as implementation extensions, allowing historical applications to operate unmodified.

Итак, egrepи fgrep— это в основном временные артефакты на пути к завершенному grep, который уже давно доступен; они выполнили свою задачу и больше не нужны, отсюда их устаревание.

Дополнительные доказательства этого можно найти в старых выпусках Unix:egrepи fgrep, не имеющих отдельных справочных страниц, они были задокументированы на справочной страницеgrep, в которой явно указано

Ideally there should be only one grep, but we don't know a single algorithm that spans a wide enough range of space-time tradeoffs.

2
25.10.2019, 13:37
2 ответа

Символическая ссылка — это просто знак перенаправления, говорящий коду обхода каталога «вместо этого посмотрите туда». Как только вы доберетесь до места расположения файлов, неважно, как вы туда попали, это одни и те же файлы.

То, что вы описываете, является одним из распространенных вариантов использования union mount .См. также Union mount в Linux , хотя, когда я пишу, в нем нет исчерпывающего ответа, на который я надеялся. Основной принцип накидного соединения overrideна original, установленного на link, заключается в том, что link/fileравно override/file, если оно существует, и original/fileв противном случае.

В Linux вы можете объединить монтирование с оверлейной файловой системой . Что-то вроде этого (не проверено):

mkdir override work
chgrp users override; chmod g+rwxs override
mount -t overlay overlay -o lowerdir=link,upperdir=override,workdir=work link
1
27.01.2020, 22:02

В Linux и Solaris вы также можете использовать «обратную ссылку» на исходный файл. «Рефссылка» — это копия файла, в которой изначально копируются только метаданные. Любые изменения в копии не распространяются обратно на исходный файл. Точно так же любые изменения в исходном файле не отражаются в копии. Рефлинки требуют, чтобы базовая файловая система поддерживала семантику записи копирования -на -.

Рефлинки поддерживаются в Linux файловыми системами BTRFS и XFS (Для XFS требуется ядро ​​версии 4.8 или выше). Рефлинки можно создавать в Linux с помощью командыcp --reflink...или функцийioctl(..., FI_CLONE,...)или ioctl(..., FI_CLONERANGE,...).

Solaris 11.4 поддерживает ссылки на ZFS, где ссылки можно создать с помощью командыcp -z...или функции reflink().

2
27.01.2020, 22:02

Теги

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