Командата ln на операционните системи, базирани на ядрото на Linux, се използва за създаване на символични и твърди връзки към файлове. От потребителя се изисква да спазва синтаксиса на полезността, правилното посочване на опциите и местоположението на файловете. Днес бихме искали да кажем не само за действията на този екип, но и да опишем подробно двата вида връзки, споменати по-горе, тъй като те са коренно различни и приложими в определени ситуации. Разбира се, това няма да стане без примери за инструмента ln .
Съдържанието
Повечето компютърни потребители поне веднъж са изправени пред работа в платформата на Windows. Там указателите към файловете са преки пътища. След достъп до такъв обект се извършва автоматично пренасочване към оригиналния файл. В Linux това се прави чрез специални връзки, създадени от потребителя ръчно. Разработени са два вида такива елементи - символични и твърди. Те имат значителни различия, затова си заслужава да разгледаме всеки тип по-подробно.
Символична връзка е файл от определен тип, който действа като връзка към друг обект - файл от всякакъв формат или определена директория. Обикновено такива обекти се наричат цел. Понякога може да забележите, че този тип връзка се нарича меки връзки или sym-link. Такъв елемент не съдържа целевите данни, а действа само като указател, т.е. той е пълно копие на етикета от Windows. Вътре в символната връзка е само пътят. Никой не ви забранява да създавате много подобни връзки с различни имена, но с един и същ целеви обект. Връзката между двата компонента се нарича мека, защото когато връзката е изтрита, целевият файл не страда по никакъв начин. Въпреки това, когато изтриете файл, връзката става неработеща. Той се съхранява на диск, но посоченият в него път води до несъществуващ обект.
На изображението по-горе можете да видите схематично представяне на работата на такава верига. Връзката се отнася за файла и този файл вече осигурява достъп до съхранените в него данни. Важно е да се разбере, че тази връзка може да бъде преместена на всяко място на компютъра, нейната производителност не зависи от нея, защото тя ще следва същия път, който беше посочен по време на създаването.
С твърдите връзки, нещата са малко по-сложни. Всъщност те са синоними на досието, но не и копия от него. Когато създавате твърда връзка, ще се генерира още един указател към елемента. В файловата система такива обекти се дефинират като друг файл, така че когато ги създадете в една и съща директория за целта, не можете да посочите същото име с него. Всички твърди връзки към файл трябва да бъдат в една и съща файлова система и не могат да бъдат присвоени на директория или несъществуващ елемент. На екрана по-долу можете да видите схематичното взаимодействие на такава верига.
Важно е да се отбележи, че връзката ще има същия индекс като целевия файл. Както знаете, всички обекти имат свои собствени уникални номера. Поради това между тях ще има разлика само в имената. Всички права, собственикът и датите на промените са запазени. Може да се каже, че твърдата връзка е друго име за обект. Когато изтривате целевия файл, връзката ще запази информацията, която е в нея, тъй като има още един указател към съдържанието.
Да преминем от теория към практика и да говорим за основната тема на статията - на екипа. Както вече знаете, той се използва за създаване на два типа връзки. Заслужава да се отбележи обаче, че някои файлови мениджъри имат вградена функция за добавяне на символна връзка. За да направите това, щракнете с десния бутон върху файла или папката и изберете "Създаване на връзка" , "Създаване на връзка" или "Направете връзка" . След това меката връзка ще бъде поставена в същата директория и можете да я преместите на друго място на устройството.
За начало си струва да споменем допълнителни действия, които често стават полезни при извършване на различни действия с файлове. Важно е да се знае пътя до целевия обект или да се определи. Що се отнася до дефиницията, това се случва по следния начин:
/home/user/folder/file_name
. cd /home/user/folder
. Това действие ще ви позволи да укажете само относителния път към обекта. Помислете за полезността в действие. Започнете, като създадете символна връзка към файла. За да направите това, използвайте стандартната конзола и изпълнете следните стъпки:
ln -s file slink
, където файлът е името или пълния път до файла или директорията, а slink е името на връзката. Тя ще бъде поставена в същата директория, където се намира целевия обект. ls -li
да видите информация за обектите в директорията. Символичната връзка е маркирана в отделен цвят и нейната цел е посочена чрез -> . Както виждате, файлът и връзката имат различни идентификатори и разрешения. rm
. По-горе може да сте забелязали, че стандартната команда ls е била използвана за преглед на съдържанието на папките. Ако има желание да се запознаете с неговото действие по-подробно, обърнете внимание на нашия отделен материал по-долу.
Вижте също: Примери за команди на Linux
Създаването на твърда връзка е много подобно на типа, който обсъдихме по-горе. Единствената разлика е липсата на опцията -s . Тогава цялата процедура ще изглежда по следния начин:
ln file hlink
. ls -li
за да сте сигурни, че има твърда връзка и файл. Както виждате, те имат еднакви идентификатори, права и други метаданни. Различни само имена. cat
да видите съдържанието на твърдата връзка. Конзолата показва същата информация, която първоначално е била съхранена в изходния файл. Информацията ще бъде достъпна, докато всички указатели към него (изходния файл и всички твърди връзки) бъдат изтрити. Командата cat, използвана в последния абзац, отговаря за преглед на съдържанието на файловете. За подробно описание на всички негови възможности вижте статията по-долу.
Вижте също: Примери за командите на Linux cat
По-горе не само се запознахте със стандартната команда ln , но и научихте за два типа достъпни обектни препратки в Linux. Разбира се, символичните връзки са по-често включени, но твърдите връзки понякога стават полезни. Можете да научите за други популярни команди в Linux от нашия отделен материал.
Вижте също: Често използвани команди в терминала на Linux