Каждый, кто привык к Windows, может представить себе, что такое символические ссылки и как они используются. С другой стороны, концепция жесткой ссылки чужды Windows (я прав?).
Я хотел бы знать, каковы типичные способы использования жестких ссылок в Linux. Я уже видел разные посты, описывающие разницу в том, как они работают. Я спрашиваю, в каких типичных ситуациях пользователю лучше использовать жесткие ссылки вместо символических ссылок?
symbolic-link
hard-link
Делать
источник
источник
Ответы:
Я использую жесткую ссылку, где мне нужен один файл в двух или более местах, я предсказываю, что однажды я захочу удалить одно из мест, и я могу забыть, что у меня есть ссылка на файл. Это мешает мне получить символическую ссылку на файл, который больше не существует.
Разъяснение:
На самом деле имя файла - это жесткая ссылка на файл. Таким образом, каждый файл имеет по крайней мере одну жесткую ссылку, которую мы обычно называем «именем» файла. Когда вы удаляете файл, фактически вы удаляете его жесткую ссылку (отсюда и название «удалить», т.е.
rm
вместо «удалить»). Когда у файла удалена последняя жесткая ссылка, система также удаляет файл.источник
Жесткие ссылки позволяют ...
один исполняемый файл, имеющий несколько имен.
Пример:
ls -l /bin | grep -v ' 1 ' | sort
перечислю те/bin
для вас. Результат ...Вместо 3-х файлов bunzip2 bzcat и bzip2 используют один и тот же файл, и внутри файла делается различие в том, что делать. Сохраняет код и меньше кода означает меньше возможных ошибок и более простое обслуживание.
один файл для доступа к нескольким путям.
Возьмем, например, менеджер пакетов, который создает каталог / usr / share / doc / $ packagename для каждого установленного пакета, а внутри этого каталога - файл LICENSE с информацией о лицензии пакета. Многие пакеты в типичной системе Linux имеют лицензию GPL, поэтому вместо 200 копий GPL в файловой системе может быть только одна копия и 199 ссылок. ptman @ Serverfault
Причина, по которой здесь работают жесткие ссылки (а мягкие - нет): удаление только одной из жестких ссылок не приводит к удалению самого файла.
источник
mv
) - это copy (cp
) + a remove (rm
)." Это верно только тогда, когда источник и пункт назначения находятся на разных креплений. В противном случае, amv
перемещает только имя, а не файл.mv
изменяется только имя; Индод остается тем же.