Fișierul și numele acestuia: linkuri
Legături greu accesibile
Exemplul 4.12. Crearea de legături dure
Methodius a creat în directorul său de origine un link greu numit "text-hardlink" în fișierul "text", care se află în subdirectorul "examples". Adu-o listă detaliată a directorului curent și subdirectoarele sale ( „ls -lR“) fișiere Metodiu a observat că fișierul „textul“ și „Textul- hardlink“ meci și mărimea ( „653“), și momentul creării. Nu-l surprindă, pentru că el știe că acum „/ home / methody / Textul- hardlink“ și „/ home / methody / exemple / text“ - este numele a două din același fișier. În descrierea detaliată dedusă din comanda "ls -l", Metodiu nu a înțeles doar primele două câmpuri. Așa cum sa explicat de către Gurevich, primul „cuvânt“, constând din caractere „-drwx“, - permisiunile acestui fișier desemnare, care vor fi discutate în capitolul 6. A urmat de un număr - numărul de legături puternice la fișierul sau directorul. "Text" și "text-hardlink" au un număr "2" - acest fișier are două nume.
Accesul la același fișier cu mai multe nume poate fi necesar în următoarele cazuri:
- Același program este cunoscut prin mai multe nume.
- Accesul utilizatorilor la unele directoare din sistem poate fi restricționat din motive de securitate. Cu toate acestea, dacă mai trebuie să organizați accesul utilizatorilor la un fișier care se află în acel director. puteți crea un link greu la acest fișier într-un alt director.
- Sistemele de fișiere moderne, chiar și pe computerele personale de acasă, pot ajunge până la câteva zeci de mii de fișiere și mii de directoare. De obicei, astfel de sisteme de fișiere au o organizare ierarhică complexă pe mai multe niveluri - ca urmare, căile către multe fișiere devin foarte lungi. Pentru a organiza acces mai convenabil la un fișier care este foarte "profund" în ierarhia directoarelor. De asemenea, puteți utiliza o legătură într-un director mai accesibil.
- Numele complet al unor programe pot fi foarte lungi (de exemplu, i586-alt-linux-gcc-3.3), astfel de programe mai ușor de manevrat utilizând abrevierea denumirii (hard link) - gcc-3.3.
Indexatori descriptori
Un descriptor de index este o descriere a unui fișier care conține:
- tipul fișierului (fișierul obișnuit, directorul, gaura fișierului etc.);
- drepturi de acces la dosar;
- informații despre cine deține fișierul;
- note la momentul creării, modificării, ultimului acces la fișier;
- dimensiunea fișierului;
- indică blocurile fizice de pe discul care aparține acestui fișier - aceste blocuri stochează "conținutul" fișierului.
Toate inodes sunt numerotate, număr atât de inod - un identificator unic de fișier al sistemului de fișiere - spre deosebire de numele fișierului (link-ul greu să-l), care poate fi de mai multe. Puteți afla numărul descriptorului index al oricărui fișier utilizând același utilitar ls cu opțiunea -i:
Exemplul 4.13. Informații despre descriptorii de fișiere inode
Metodie a decis să solicite numărul de inode „textul“, precum și un link greu să-l „Textul- hardlink“ - a constatat că aceste numere sunt aceleași ( „127705“), care este, aceste două nume corespunde unui inod. adică același fișier.
Toate operațiunile cu sistemul de fișiere - crearea, ștergerea și mutarea fișierelor - sunt de fapt efectuate pe descriptorii de index. și numele sunt necesare numai pentru ca utilizatorul să poată naviga cu ușurință în sistemul de fișiere. (Ar fi foarte incomod să vă amintiți numărul de mai multe cifre din fiecare fișier sau director dorit.) Mai mult decât atât, numele (sau numele) fișierului în descriptorul său de inode nu este specificat. În sistemul de fișiere Ext2, numele fișierelor sunt stocate în directoare. fiecare director este o listă cu numele fișierelor și numerele descriptorilor lor de index. Un link greu (numele fișierului stocat în director) poate fi reprezentat ca o carte de catalog cu numărul de index al identificatorului fișierului inode.
Caracterele de referință
Legăturile greu au două limitări semnificative:
O legătură poate fi creată utilizând comanda ln cu opțiunea "-s" (scurt pentru "simbolic"):
Exemplul 4.14. Crearea de legături simbolice
Exemplul 4.15. Dezvăluirea legăturilor simbolice