Как использовать жесткие ссылки для связывания файлов в Linux
А символическая ссылка очень похоже на ярлык рабочего стола в Окна. Символьная ссылка просто указывает на расположение файла. Удаление символической ссылки не влияет на физический файл, на который она указывает. Символьная ссылка может указывать на любой файл в текущей файловой системе или других файловых системах. Это делает его более гибким, чем жесткая ссылка.
А жесткая ссылка - это тот же файл, на который он ссылается, но с другим именем.
Зачем использовать жесткие ссылки?
Жесткие ссылки обеспечивают эффективный способ организации файлов. Представьте, что вы сфотографировали пожарную машину. На вашем компьютере есть следующие папки:
- Фотографии красных вещей
- Фотографии автомобилей
- Фотографии экстренных служб
Вы можете создать копию фотографии и поместить ее в каждую из папок. Это означает, что у вас есть три копии одного и того же файла, занимающие в три раза больше места. Категоризация фотографий путем создания их копий может не занимать слишком много места, но если вы попробуете то же самое с видео, вы значительно уменьшите место на диске.
Жесткая ссылка вообще не занимает места. Таким образом, вы можете хранить одно и то же видео в разных категориях (например, по году, жанру, составу ролей, режиссерам), не затрагивая место на диске.
Как создать жесткую ссылку
Создайте жесткую ссылку, используя следующий синтаксис:
ln путь / к / файлу / пути / к / жесткому / ссылке.
Это хороший способ организовать музыку.
Как отличить жесткую ссылку от символической
Вы можете определить, есть ли у файла жесткая ссылка, используя ls команда:
ls -lt.
Стандартный файл без ссылок будет выглядеть так:
-rw-r - r-- 1 gary gary 1000 Dec 18 21:52 яд.mp3.
Столбцы следующие:
- -rw-r - r-- = разрешения
- 1 = количество ссылок
- Гэри = группа
- Гэри = владелец
- 1000 = размер файла
- 18 декабря = дата
- 21:52 = время
- яд.mp3 = имя файла
Если бы это была жесткая ссылка, результат выглядел бы следующим образом:
-rw-r - r-- 2 gary gary 1000 Dec 18 21:52 яд.mp3.
Обратите внимание, что в столбце количества ссылок отображается 2. Каждый раз, когда создается жесткая ссылка, это число будет увеличиваться.
Символьная ссылка будет выглядеть следующим образом:
-rw-r - r-- 1 гэри гэри 1000 дек 18 21:52 яд.mp3 -> яд.mp3.
Вы можете ясно видеть, что один файл указывает на другой.
Как найти все жесткие ссылки на файл
Все файлы в вашей системе Linux содержат номер inode, который однозначно идентифицирует файл. Файл и его жесткая ссылка будут содержать один и тот же индексный дескриптор.
Чтобы увидеть номер inode для файла, введите следующую команду:
ls -i.
Вывод для одного файла будет следующим:
1234567 имя файла.
К найти жесткие ссылки на файл, вам просто нужно выполнить поиск всех файлов с одним и тем же индексом (например, 1234567).
Вы можете сделать это с помощью следующей команды:
найти ~ / -xdev -inum 1234567.