Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Создание Symlink с близнецов, в местах удаления дубликатов 
Author Message
MVV



PostPosted: Tue Jul 21, 2020 09:45    Post subject: Reply with quote

С интересом просмотрел эту более чем годовалую беседу.

Flasher, медаль за терпение твоя по праву.

Чиполлино, мне кажется, вы так и не поняли основной сути жёстких ссылок, т.к. объяснения были на непонятном для вас языке.

Жёсткая ссылка - это просто файл в папке (точнее, именованная запись о нём), ссылающийся на некоторое содержимое. Когда вы создаёте новый файл, у вас появляется 1 содержимое и 1 жёсткая ссылка на него (в той папке, в которой создаётся файл, появляется запись, хранящая имя файла). Если сделать для этого файла новую жёсткую ссылку, появится новый файл, ссылающийся на то же самое содержимое, и оба файла станут абсолютно равноправными, удалять жёсткие ссылки на одно содержимое можно в любом порядке, оставшиеся будут работать, содержимое будет удалено, только когда удалится последняя жёсткая ссылка. Новые жёсткие ссылки на общее содержимое можно делать для любой жёсткой ссылки, в результате появится ещё одна ссылка на то же самое содержимое, равноправная с уже существующими. Имена жёстких ссылок могут быть любыми, любую жёсткую ссылку можно переименовывать и перемещать в пределах тома, при этом сохранится связь с содержимым (и остальными жёсткими ссылками на него). Т.о., жёсткие ссылки являются "сильными" ссылками на содержимое. Единственное, что важно учитывать при работе с жёсткими ссылками - при изменении содержимого по любой из ссылок оно изменится и для остальных, т.к. хранится на диске в единственном экземпляре.

В отличие от жёсткой ссылки, символьная является "слабой" и не защищает содержимое от удаления, кроме того, символьная ссылка ссылается не на содержимое, а на запись о файле (т.е. по сути на жёсткую ссылку), поэтому она становится недействительной как при удалении источника, так и при его переименовании или перемещении.

Файловая система работает так, что любая программа по умолчанию видит символьные ссылки как нормальные файлы (если только она явно не укажет специальные параметры доступа к ним). Но жёсткие ссылки являются по сути самими "файлами", поэтому нет программы, работающей с файлами, которая не могла бы открыть жёсткую ссылку.

Если для символьной ссылки можно посмотреть источник (файл, на который она ссылается), но при этом источник ничего не знает о существовании символьной ссылки, то для любой жёсткой ссылки можно посмотреть, сколько всего создано жёстких ссылок на одно и то же содержимое, и где они располагаются. Например, с помощью плагина NTLinks.

Таким образом, если файлы хранятся в одном томе и не требуется их редактировать (или при редактировании надо изменить все копии), использовать жёсткие ссылки для дубликатов гораздо удобнее, чем символьные.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group