Използване на твърди връзки за свързване на файлове в Linux

Има два типа връзки, които можете да създадете в Linux:

Символичната връзка много прилича на пряк път към работния плот в Windows. Символичната връзка показва само мястото на файла.

Изтриването на символна връзка няма ефект върху физическия файл, към който сочи връзката.

Символичната връзка може да сочи към който и да е файл на текущата файлова система или на други файлови системи. Това го прави по-гъвкава от твърда връзка.

Твърдата връзка е всъщност един и същ файл, към който се свързва, но с различно име. Най-лесният начин да мислите за него е следният:

Представете си, че сте родени с името Робърт. Други хора може да ви познаят като Роби, Боб, Боби или Роб. Всеки човек би говорил за един и същ човек.

Всяка връзка добавя 1 към брояч на връзки, което означава да изтриете физическия файл, който трябва да изтриете всяка една от връзките.

Защо да използваме твърди връзки?

Твърдите връзки осигуряват ефективен начин за организиране на файловете. Най-лесният начин да опишете това е с един стар епизод на Sesame Street.

Бърт каза на Ърни да се подреже всичките си неща и затова Ърни се зае с неговата задача. Първо, той реши да подреди всички червени неща. "Пожарният двигател е червен". Така че Ърни пуска пожарния двигател.

След това Ърни решава да свали всички играчки с колела. Пожарният двигател има колела. Така Ърни подреждаше пожароизвестителя.

Излишно е да се каже, че Бърт се прибира в къщи, за да открие точно същата бъркотия, както преди, но Ърни бе прекъснал пожарната машина половин пъти.

Представете си, че пожарната машина е само снимка на пожарен двигател. Можете да имате различни папки на устройството си, както следва:

Сега можете да създадете копие на снимката и да я поставите във всяка от папките. Това означава, че имате три копия от един и същи файл, които отнемат три пъти разстоянието.

Категоризирането на снимките, като правите копия от тях, може да не отнеме твърде много място, но ако сте направили едно и също нещо с видеоклипове, ще намалите значително вашето дисково пространство.

Твърдата връзка не заема никакво място. По този начин можете да съхранявате едно и също видео в различни категории (т.е. по години, жанрове, гласове, директори), без да намалявате дисковото си пространство.

Как да създадете твърда връзка

Можете да създадете твърда връзка, като използвате следния синтаксис:

В път / към / файл / път / към / твърд / връзка

Например в изображението по-горе имаме музикална папка на Alice Cooper, наречена Trash в пътя / home / gary / Music / Alice Cooper / Trash. В тази папка има 10 песни, една от които е класическата Poison.

Сега Poison е рок песен, така че създадохме папка, наречена Rock под музикалната папка, и създадохме твърда връзка към Poison, като напишем следния файл:

ln "01 - Poison.mp3" "~ / Музика / рок / Poison.mp3"

Това е добър начин за организиране на музика .

Как да разберете разликата между твърда връзка и символична връзка

Можете да разберете дали даден файл има твърда връзка, като използвате командата ls:

ls -lt

Стандартният файл без връзки ще изглежда както следва

-rw-r-r-- 1 gary gary 1000 дек 18 21:52 poison.mp3

Колоните са както следва:

Ако това беше твърда връзка, продукцията ще изглежда така:

-rw-r-r-- 2 gary gary 1000 дек 18 21:52 poison.mp3

Забележете, че броят на колоните с връзки показва 2. Всеки път, когато се създава твърда връзка, този брой ще се увеличи.

Символичната връзка ще изглежда така:

-rw-r-r-- 1 gary gary 1000 дек 18 21:52 poison.mp3 -> poison.mp3

Можете ясно да видите, че един файл сочи към друг.

Как да намерите всички твърди връзки към файл

Всички файлове във вашата Linux система съдържат иноден номер, който уникално идентифицира файла. Файлът и неговата твърда връзка ще съдържат същия инод.

За да видите номера на инода за файла, въведете следната команда:

ls -i

Резултатът за един файл ще бъде, както следва:

1234567 името на файла

За да намерите твърдите връзки за файл, трябва просто да направите търсене на файлове за всички файлове със същия inode (т.е. 1234567).

Можете да направите това със следната команда:

намерете ~ / -xdev -inum 1234567