Командата Ln в linux

Командата ln на операционните системи, базирани на ядрото на Linux, се използва за създаване на символични и твърди връзки към файлове. От потребителя се изисква да спазва синтаксиса на полезността, правилното посочване на опциите и местоположението на файловете. Днес бихме искали да кажем не само за действията на този екип, но и да опишем подробно двата вида връзки, споменати по-горе, тъй като те са коренно различни и приложими в определени ситуации. Разбира се, това няма да стане без примери за инструмента ln .

Линкове към файлове на Linux

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

Символични връзки

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

Схематично представяне на символна връзка в Linux

На изображението по-горе можете да видите схематично представяне на работата на такава верига. Връзката се отнася за файла и този файл вече осигурява достъп до съхранените в него данни. Важно е да се разбере, че тази връзка може да бъде преместена на всяко място на компютъра, нейната производителност не зависи от нея, защото тя ще следва същия път, който беше посочен по време на създаването.

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

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

Схематична илюстрация на твърда връзка в Linux

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

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

Да преминем от теория към практика и да говорим за основната тема на статията - на екипа. Както вече знаете, той се използва за създаване на два типа връзки. Заслужава да се отбележи обаче, че някои файлови мениджъри имат вградена функция за добавяне на символна връзка. За да направите това, щракнете с десния бутон върху файла или папката и изберете "Създаване на връзка" , "Създаване на връзка" или "Направете връзка" . След това меката връзка ще бъде поставена в същата директория и можете да я преместите на друго място на устройството.

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

  1. Стартирайте файловия мениджър, използвайки всеки удобен метод, например, като отидете в домашната папка чрез икона на работния плот.
  2. Отваряне на файловия мениджър за по-нататъшно преминаване към папката Linux

  3. Тук можете да намерите необходимия файл или папка в каталозите, щракнете с десния бутон на мишката върху елемента "Свойства" .
  4. Отворете прозореца със свойства на файла, за да определите родителската папка в Linux

  5. В секцията "Общи" ще намерите местоположението на родителската папка, добавете името на елемента към нея, за да получите пълния път, например, /home/user/folder/file_name .
  6. Определяне на родителската папка на файл чрез файловия мениджър в Linux

  7. Ако ще създадете няколко връзки за файлове от една директория, ви съветваме да отидете в него чрез "Терминал" . Това става чрез въвеждане на cd /home/user/folder . Това действие ще ви позволи да укажете само относителния път към обекта.
  8. Отидете на определено място чрез компактдиска в linux

Символична връзка

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

  1. Напишете ln -s file slink , където файлът е името или пълния път до файла или директорията, а slink е името на връзката. Тя ще бъде поставена в същата директория, където се намира целевия обект.
  2. Създаване на символична връзка в операционната система Linux

  3. Въведете и активирайте ls -li да видите информация за обектите в директорията. Символичната връзка е маркирана в отделен цвят и нейната цел е посочена чрез -> . Както виждате, файлът и връзката имат различни идентификатори и разрешения.
  4. Вижте символичната връзка и зависимостта на файла в Linux

  5. За яснота изтрийте целевия елемент чрез rm .
  6. Изтриване на целеви файл в операционната система Linux

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

По-горе може да сте забелязали, че стандартната команда ls е била използвана за преглед на съдържанието на папките. Ако има желание да се запознаете с неговото действие по-подробно, обърнете внимание на нашия отделен материал по-долу.

Вижте също: Примери за команди на Linux

Твърда връзка

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

  1. Въведете и активирайте ln file hlink .
  2. Създаване на твърда връзка чрез терминал в Linux

  3. Използвайте ls -li за да сте сигурни, че има твърда връзка и файл. Както виждате, те имат еднакви идентификатори, права и други метаданни. Различни само имена.
  4. Преглед на съдържанието на папка с твърда връзка в Създаване на твърда връзка чрез терминал в Linux

  5. Когато изтриете самия файл и прегледате съдържанието, ще видите, че връзката продължава да работи, но връзката липсва.
  6. Проверете зависимости след изтриване на целевия файл за твърда връзка в Linux

  7. Използвайте командата cat да видите съдържанието на твърдата връзка. Конзолата показва същата информация, която първоначално е била съхранена в изходния файл.
  8. Преглед на съдържанието на твърда връзка в Linux

Информацията ще бъде достъпна, докато всички указатели към него (изходния файл и всички твърди връзки) бъдат изтрити. Командата cat, използвана в последния абзац, отговаря за преглед на съдържанието на файловете. За подробно описание на всички негови възможности вижте статията по-долу.

Вижте също: Примери за командите на Linux cat

По-горе не само се запознахте със стандартната команда ln , но и научихте за два типа достъпни обектни препратки в Linux. Разбира се, символичните връзки са по-често включени, но твърдите връзки понякога стават полезни. Можете да научите за други популярни команди в Linux от нашия отделен материал.

Вижте също: Често използвани команди в терминала на Linux