Forskellen mellem hårdt link og blødt link
Indhold
Links i Unix er i det væsentlige de punkter, der knytter sig til filer og mapper. Den største forskel mellem et hårdt link og et blødt link er, at det hårde link er den direkte henvisning til filen, mens det bløde link er referencen med navn, hvilket betyder, at den peger på en fil efter filnavnet.
Hardt link forbinder filer og mapper i det samme filsystem, men Soft link kan krydse filsystemets grænser.
Før vi forstår links, skal vi først forstå inode, en inode er en datastruktur bestående af metadata om filen såsom filoprettelsesdato, filautorisationer, filens ejer og mere.
- Sammenligningstabel
- Definition
- Vigtige forskelle
- Konklusion
Sammenligningstabel
Grundlag for sammenligning | Hårdt link | Blødt link |
---|---|---|
Grundlæggende | Du kan få adgang til en fil gennem mange forskellige navne, der kaldes hårde links. | Du kan få adgang til en fil via forskellige referencer, der peger på den fil er kendt som et blødt link. |
Linkvalidering, når den originale fil slettes | Stadig gyldig og fil kan fås adgang. | Ugyldigt |
Kommando brugt til oprettelse | ln | ln-s |
inode nummer | Samme | Forskellige |
Kan knyttes sammen | Til sin egen partition. | Til ethvert andet filsystem, selv netværk. |
Hukommelsesforbrug | Mindre | Mere |
Relativ sti | Ikke anvendelig | Tilladt |
Definition af Hard link
Harde links direkte link to filer i det samme filsystem og til identifikation bruger den filens inodenummer. Harde links kan ikke implementeres på mapper (da de peger på inode). Hvornår "ln”-Kommandoen bruges til at generere et hårdt link, det opretter en anden fil på kommandolinjen, der kan bruges til at henvise til den originale fil. Både den originale og den genererede fil har den samme inode og indhold; derfor vil de have de samme tilladelser og den samme ejer.
Fjernelsen af den originale fil påvirker ikke den hårdkoblede fil, og en hårdkoblet fil vil forblive. Inoden har en tæller for at beregne antallet af harde links til sig selv. Når tælleren angiver 0-værdi, tømmes inoden. Hver gang du foretager ændringer af det harde link, imiteres det i den originale fil.
Definition af Soft link
Bløde links er normalt en alternativ sti (eller et alias) til den originale fil; disse benævnes også symboliske links. Det inkluderer navnet på linkets “målfil”, flag, der specificerer, at det er et blødt link. Når der åbnes en fil, omdirigerer den bløde link den til målfilen gennem stien skrevet i emnet for det bløde link.
Disse er meget praktiske i tilfælde af Windows OS, hvor det bløde link opfører sig som genveje. Oprettelse og sletning af de bløde links påvirker ikke den originale fil. Hvis målfilen slettes, dingler det bløde link, hvilket betyder, at det peger intetsteds og genererer en fejl, når man får adgang til målfilen. Bløde links bruger ikke inodenummer, i modsætning til det hårde link. En absolut eller en relativ sti kan være en del af de symboliske links.
- Et hårdt link er et ekstra navn på den originale fil, der refererer til inode for at få adgang til målfilen.I modsætning hertil er det bløde link adskilt fra den originale fil og er et alias til den originale fil, men bruger ikke inode.
- Når en original fil bliver slettet, bliver det bløde link ugyldigt, mens et hardt link er gyldigt, selvom målfilen slettes.
- I Linux er den kommando, der bruges til oprettelse af hardlink, "ln”. I modsætning hertil er kommandoen, der bruges til et blødt link "ln-s“.
- Hårdt link har samme inodenummer, der er forskellig fra blødt link, hvor målfil og dens bløde link har tydeligt inodenummer.
- Harde links er begrænset til dets egne partitioner, men bløde links kan dække forskellige filsystemer.
- Ydelsen af hårdt link er bedre end blødt link i nogle tilfælde.
- Relativ sti og absolut sti er begge tilladt i bløde links. Tværtimod er den relative sti ikke tilladt i et hårdt link.
Konklusion
Et hårdt link kræver ikke ekstra plads og mat løses hurtigere, men ændringerne, der anvendes på et hardt link, afspejles i den originale fil. På den anden side har Soft link brug for ekstra plads, men enhver ændring i det bløde link påvirker ikke den originale fil. Bløde links er tilladt til mapper i modsætning til Hard-link.