Sådan oprettes hårde links Linux?

How Create Hard Links Linux



Linking er en interessant funktion i Linux. I UNIX-lignende operativsystemer er alt en fil. En fil er grundlæggende et link til en inode, en speciel type datastruktur, der gemmer alt om en bestemt fil undtagen dens originale navn og faktiske indhold. Dette er den funktion, som links udnytter. At oprette et link er at oprette en anden fil, der peger på den samme underliggende inode som en anden fil. I mange situationer er det en utrolig nyttig metode.

Se, hvordan du opretter hårde links i Linux.







Hårde links i Linux

Inden vi dykker dybere, lad os tale lidt om hårde og bløde links. Der er nogle grundlæggende forskelle mellem dem. I tilfælde af et hårdt link kan det kun eksistere i det samme filsystem, mens det symbolske link vil fortsætte på tværs af filsystemer. Desuden kan det kun udføres på almindelige filer. Du kan heller ikke oprette hardwarelinks, så det opretter ikke en bibliotekssløjfe.



Hvis en fil af det hårde link slettes, fjerner det linket fra den underliggende inode.



Kommandoen ls kan udskrive inoden til en målfil/bibliotek.





$ls -ved <file_or_dir>

Oprettelse af hårde links

Generering af et hårdt link er ganske enkelt. For at oprette links er ln det dedikerede værktøj, der er tilgængeligt i næsten alle Linux -distros.



Brug følgende kommandostruktur til at oprette et hårdt link. Bemærk, at destinationen skal være inden for det samme filsystem. Flagget -v er til en mere detaljeret tilstand.

$ln -v <kilde> <link>


Kontroller resultatet.

$ls -ved <mål>


Hvad angår hardlink til bibliotek, er det ikke tilladt. Hypotetisk er det stadig muligt at oprette, men de fleste Linux -distros deaktiverer denne funktion, selvom du kører handlingen med root -privilegier. Brug biblioteksforbindelser ved hjælp af bløde links.

Bløde links

Blød sammenkædning kaldes almindeligvis for symbolske links. Soft linking kan være krydsfilsystem. Per definition er det ikke en standardfil, men snarere en fil, der peger på en eksisterende fil. Her vil softlink -filen have en anden inodeværdi, men den peger på den originale fil.

Ligesom vi opretter hårde links, bruger vi ln -værktøjet. For at erklære for at oprette et blødt link skal du tilføje -s -flag.

$ln -vs <kilde> <bestemmelsessted>


Kontroller resultatet.

$ls -ved <mål>

Hvis der allerede findes et link, kan du opdatere det ved hjælp af -f -flag, der tvinger ln til at opdatere linket uden nogen bekræftelse. Alternativt kan du bruge -i -flaget til interaktiv oprettelse af links.

$ln -sf <kilde> <bestemmelsessted>


Glem ikke at kontrollere resultatet.

$ls -ved <mål>

Find links

Forudsat at der er flere links til den samme fil, kan det blive svært at holde styr på dem. I en sådan situation skal du bruge denne metode til at finde ud af alle links.

Til dette har vi brug for inodeværdien af ​​den originale fil. Brug følgende kommando til at finde ud af inode -nummeret.

$ls -ved <target_file>


Brug nu inode -nummeret til at finde ud af alle links til den fil. Her skal det aktuelle aktive bibliotek være det bibliotek, hvor den originale fil er placeret.

$Find.-inum <inode_værdi>

Sletning af links

Hvis du vil deaktivere et hårdt link, er måden at gøre det ved at slette den linkede fil.

$rm <link>

Endelige tanker

Linking er et kraftfuldt værktøj, du kan bruge i mange situationer. Selvom det har sine egne begrænsninger, kan det tilbyde mange fordele ved mange scenarier.

Interesseret i mere dybdegående om ln-kommandoen? Se, hvordan du bruger kommandoen ln.

God computing!