ПредишенСледващото

Използването на няколко имена за един файл

Иън Шийлдс. Старши софтуерен инженер, IBM

За тази серия

Тази серия от статии ви помага да научите Linux задачи за администриране на системата. Можете също така да използвате материала в тези статии, за да се подготвят за изпитите на първото ниво на сертификация Linux Professional Institute (LPIC-1).

резюме

В тази статия ще научите как да създадете твърди и символни връзки към Linux и да работят с тях. Ще научите:

Предварителни

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

Свържете се с Иън

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

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

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

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

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

Обява 1. Създаване на твърда връзка

Ако се опитате да създадете твърда връзка сочи към обект извън файловата система, или на твърда връзка към директория, след което можете да получите съобщение за грешка. Обява 2, че моята домашна директория и изследвания директория намират в различни файлови системи, така че опит да им предоставят с твърдите връзки се провали, както и опит да се създаде твърда връзка към lpi104-6 директория.

Обява 2. Грешки при създаването на твърди връзки

символни връзки

За да създадете символна връзка с помощта на командата LN с опцията -s. Когато създадете символни връзки се използват за файлове или директории, които могат да бъдат едновременно абсолютно и относително. Ако използвате относителни имена, това обикновено означава, че създадените връзки ще се намира в текущата работна директория; В противен случай можете да създадете връзки са по отношение на друг пункт на файловата система. Обява 3 показва два начина за създаване на символична връзка към ФАЙЛ_1 на файла, и след това, вместо два твърди връзки (които не биха могли да създадат в Обява 2), за да се създадат две символни връзки.

Обява 3. Създаване на символни връзки

И все пак, за да има достъп до файла или имена на директории могат да използват всички връзки, или в края на файлове и директории. Обява 4 показва някои примери.

Обява 4. Използване на символни връзки

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

Обява 5. Създаване на символна връзка неправилно

Дефиниране на връзки

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

извличане на информация

Днес, в много операционни системи, командата ли съществува псевдоним ли --color = автоматично. който показва различни видове файлови системи обекти в различни цветове. Цветовете на всеки обект може да се регулира. При използване на тази опция твърди връзки са показани в бяло на тъмно син фон и символните връзки - в синьо на бял фон, както е показано на фигура 1.

Фигура 1. Използване на опциите --colors да се определят връзките

Докато хората с добро зрение може да се използва за различаване на цветовете, на някой, тази опция няма да работи; и да използвате цветовете в скриптове или програми като цяло е безсмислено. Ако не се вземат под внимание възможността за цвят се нуждаете от по-подробна информация, като например информация показва командни ли -l. В Обява 6 ние изрично забранено да се показва информация на цвят, но винаги можете да се обадите изрично командните / BIN / LS.

Обява 6. Дефиниране на връзки

втори изход колона в Обява 6 съдържа препратка брой. показване на броя на твърди връзки във файла. По този начин, ние виждаме, че файлове ФАЙЛ1 file3 и file3sub имат няколко твърди връзки, сочещи към обекти представляват; Въпреки това, тази информация не е достатъчна, за да се разбере, че те са едни и същи обект. Ако изтриете даден файл, който свързва тезгяха е на стойност по-голяма от 1, а след това на референтния брой в, възела ще падне до 1, но файла няма да бъде премахната, докато броячът достигне 0. контра стойностите на всички останали твърди връзки към преписката ще сляза от 1.

За да се покаже на възела файлове и директории с помощта на LS, възела брой командата с опцията -i. Обява 7 показва двете къси и подробния изход съдържание lpi104-6 директория.

Обява на възела данни 7. Изход

За да търсите символни връзки, можете да използвате командата находка с израз от типа л. както е показано в Пример 8.

Обява 8. С помощта на командата находка за търсене на символни връзки

Счупени символните връзки

В Обява 5, ние създадохме умишлено невярна символна връзка. Това е само един пример на "прилепите" символната връзка. Тъй като твърди връзки винаги сочат към дескриптора на възела, който е даден файл, те винаги са валидни. Въпреки това, символни връзки да са неправилни, поради много причини, като например:

  • По време на връзка не съществува или изходния файл, или целта на връзката (положението на Фигура 5).
  • Целева справка е била изтрита или преименувана.
  • Някои елементи от пътя към целта обектът е бил изтрит или преименувани.

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

Ако сте с помощта на цветен печат на съдържанието на директории, след това "счупени" символни връзки обикновено се показват в червено на черен фон, какъвто е случаят с файл file6 (Фигура 1). В противен случай, за разкриването на връзката и целта обекта, който искате да използвате опцията -Н или -L командни LS. -Н опция разкрива връзката, предоставена от командния ред и опцията -l допълнително изпълнява същите стъпки, за всички връзки, които са част от продукцията. Обява 9 показа разлики при използване на тези две възможности.

Имайте предвид, съобщението за грешка, която казва, че file6 файл не съществува, както и изходяща поредица с герои "?", Показва, че този файл не е намерен.

Един последен забележка по отношение на "счупени" символни връзки. Всички опити да се четат от файла ще се провалят, защото тя не съществува. Въпреки това, се опитва да пише на файла (с необходимите разрешения) са успешни, както е показано на Обява 10. Имайте предвид, че преди да можете да записвате данни към файл, трябва да се създаде директория lpi104-6 / lpi104-6.

Обявата 10. четене и писане очукан символна

Намери всички препратки към даден обект

Обява 11. Търси всички твърди връзки към файла
Обява 12. Търсене във всички символични връзки към файл или директория

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

Връзки и администрация

Обявата 13. Използване псевдоними за различни версии на команди

В други случаи може да се използват връзките, когато няколко екипа с различни имена с помощта на един и същи код, базисният; например, може да има различни команди спиране и рестартиране на системата. Понякога ново име на отбора, такива genisofs, замества старото име на един и същи отбор (Mkisofs), който продължава да се използва като препратка към нов екип. Връзки са широко използвани алтернативи на системата, което ви позволява да изберете да използвате един от няколко алтернативни команди, като Java. Някои примери са показани в Обявата 14.

Обявата 14. Примери за използване командни псевдоними
Обява 15. Връзки към библиотека

За повече информация относно използването на препратки, обърнете се към човека-страници LN команда и други команди от това ръководство.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!