
Hard link forbinder filer og mapper i samme filsystem, men den bløde link kan krydse filsystemgrænser.
Før vi forstår links, skal vi først forstå inode, en inode er en datastruktur bestående af metadata om filen, f.eks. Fil oprettelsesdato, filtilladelser, ejer af filen og meget mere.
Sammenligningstabel
Grundlag for sammenligning | Hårdt link | Blød link |
---|---|---|
Grundlæggende | En fil kan fås gennem mange forskellige navne kendt som hårde links. | En fil kan fås gennem forskellige referencer, der henviser til den fil, kaldes en blød link. |
Link validering, når den oprindelige fil slettes | Stadig gyldig og fil er tilgængelig. | Ugyldig |
Kommando bruges til oprettelse | ln | ln-s |
inode nummer | Samme | Forskellige |
Kan knyttes sammen | Til sin egen partition. | Til ethvert andet filsystem, der netop er tilsluttet. |
Hukommelsesforbrug | Mindre | Mere |
Relativ Sti | Ikke anvendelig | Tilladt |
Definition af hard link
Hard links linker direkte to filer i samme filsystem og til identifikation bruger den filens inode nummer. Hårde links kan ikke implementeres på mapper (da de peger på inode). Når " ln " -kommandoen bruges til at generere et hardt link, opretter det en anden fil på kommandolinjen, der kan bruges til at henvise den oprindelige fil. Både den oprindelige og genererede fil har samme inode og indhold; derfor vil de have samme tilladelser og den samme ejer.
Fjernelsen af den oprindelige fil påvirker ikke den hardlinkede fil, og en hardlinket fil forbliver. Inoden indeholder en tæller til beregning af antallet af hårde forbindelser til sig selv. Når tælleren angiver 0 værdi, tømmes inoden. Når du foretager ændringer i det hårde link, vil det efterligne i den oprindelige fil.
Definition af Soft link
Bløde links er normalt en alternativ sti (eller et alias) for den oprindelige fil; disse benævnes også symbolske links . Det indeholder navnet på linkets "målfil", flag, som angiver, at det er en blød link. Når en fil er tilgængelig, omdirigerer den bløde link den til målfilen gennem stien, der er skrevet i emnet for den bløde link.
Disse er meget praktiske i tilfælde af Windows OS, hvor den bløde link opfører sig som genveje. Oprettelse og sletning af de bløde links påvirker ikke den oprindelige fil. Hvis målfilen slettes, dræber den bløde link, hvilket betyder, at den peger hverken og genererer en fejlmeddelelse, når målfilen er tilgængelig. Bløde links bruger ikke inode nummer, i modsætning til hard link. En absolut eller en relativ vej kunne være en del af de symbolske links.
Nøgleforskelle mellem hard link og soft link
- Et hardt link er et ekstra navn på den oprindelige fil, der henviser inode for at få adgang til målfilen. I modsætning hertil er den bløde link forskellig fra den oprindelige fil og er et alias til den originale fil, men bruger ikke inode.
- Når en originalfil bliver slettet, bliver det bløde link ugyldigt, mens et hardt link er gyldigt, selvom målfilen er slettet.
- I Linux er kommandoen anvendt til oprettelsen af hard link " ln ". Modsat er kommandoen anvendt til en blød link " ln -s ".
- Hårdt link har samme inode nummer som ikke-soft link, hvor målfil og dens bløde link har tydeligt inode nummer.
- Hårde links er begrænset til egne partitioner, men bløde links kan dække forskellige filsystemer.
- Udførelsen af hard link er bedre end blød link i nogle tilfælde.
- Relativ sti og absolut sti begge er tilladt i bløde links. Tværtimod er den relative vej ikke tilladt i et hårdt led.
Konklusion
Et hårdt link kræver ikke ekstra plads og matte løse hurtigere, men ændringerne anvendt på et hardt link afspejler i den oprindelige fil. På den anden side behøver Soft link ekstra plads, men enhver ændring i den bløde link påvirker ikke den oprindelige fil. Bløde links tillades mapper i modsætning til Hard link.