Управление на файлове

Как да създам твърди връзки Linux?

Как да създам твърди връзки Linux?

Свързването е интересна функция в Linux. В UNIX-подобни операционни системи всичко е файл. Файлът по същество е връзка към inode, специален тип структура от данни, която съхранява всичко за определен файл, с изключение на оригиналното му име и действителното съдържание.Това е функцията, която свързва лостове. Създаването на връзка означава създаване на друг файл, който сочи към същия основен inode като друг файл. В много ситуации това е невероятно полезен метод.

Вижте как да създавате твърди връзки в Linux.

Твърди връзки в Linux

Преди да се потопите по-дълбоко, нека поговорим малко за твърди и меки връзки. Между тях има някои основни разлики. В случай на твърда връзка, тя може да съществува само в същата файлова система, докато символната връзка ще продължи да съществува между файловите системи. Освен това може да се изпълнява само на обикновени файлове. Също така не можете да създавате твърди връзки към директорията, така че не създава цикъл на директория.

Ако един файл от твърдата връзка бъде изтрит, той премахва връзката от основния inode.

Командата ls може да отпечата inode на целевия файл / директория.

$ ls -li

Създаване на твърди връзки

Генерирането на твърда връзка е съвсем просто. За да създавате връзки, ln е специалният инструмент, наличен в почти всички дистрибуции на Linux.

Използвайте следната командна структура, за да създадете твърда връзка. Имайте предвид, че местоназначението трябва да е в същата файлова система. Флагът „-v“ е за подробен режим.

$ ln -v


Проверете резултата.

$ ls -li


Що се отнася до твърдото свързване на директорията, това не е разрешено. Хипотетично все още е възможно да се създаде, но повечето дистрибуции на Linux деактивират тази функция, дори ако стартирате действието с root права. За свързване с директории използвайте меки връзки.

Меки връзки

Меките връзки обикновено се наричат ​​символни връзки. Мекото свързване може да бъде кръстосана файлова система. По дефиниция това не е стандартен файл, а по-скоро файл, който сочи към съществуващ файл. Тук файлът с мека връзка ще има различна стойност на inode, но сочи към оригиналния файл.

Подобно на създаването на твърди връзки, ще използваме инструмента ln. За да декларирате, че създавате мека връзка, добавете флага “-s”.

$ ln -vs


Проверете резултата.

$ ls -li

Ако вече съществува връзка, можете да я актуализирате, като използвате флага “-f”, който принуждава ln да актуализира връзката без никакво потвърждение. Като алтернатива можете да използвате флага „-i“ за създаване на интерактивна връзка.

$ ln -sf


Не забравяйте да проверите резултата.

$ ls -li

Намиране на връзки

Ако приемем, че има множество връзки към един и същ файл, проследяването им може да стане трудно. В такава ситуация използвайте този метод, за да разберете всички връзки.

За това се нуждаем от стойността на inode на оригиналния файл. Използвайте следната команда, за да разберете номера на inode.

$ ls -li


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

$ намери . -inum

Изтриване на връзки

Ако искате да деактивирате твърда връзка, начинът да го направите е като изтриете свързания файл.

$ rm

Финални мисли

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

Интересува се от по-задълбочена информация за командата ln? Вижте как да използвате командата ln.

Щастливи компютри!

OpenTTD срещу Simutrans
Създаването на собствена транспортна симулация може да бъде забавно, релаксиращо и изключително примамливо. Ето защо трябва да сте сигурни, че изпробв...
Урок за OpenTTD
OpenTTD е една от най-популярните бизнес симулационни игри там. В тази игра трябва да създадете прекрасен транспортен бизнес. Въпреки това, ще започне...
SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...