Forskellen mellem Hard link og Soft link

Links i Unix er i det væsentlige de pointere, der knytter sig til filer og mapper. Den største forskel mellem et hard link og soft link er, at hard link er den direkte reference til filen, mens soft link er referencen ved navn, hvilket betyder, at den peger på en fil ved filnavnet.

Hard link forbinder filer og mapper i det samme filsystem, men soft link kan krydse filsystemgrænser.

Hvor vi forstår links, bør vi først forstå inode, en inode er en datastruktur, der består af metadata om filen som f.eks. filoprettelsesdato, filtilladelser, filens ejer og meget mere.

Indhold: Hard link Vs Soft link

  1. Sammenligningsdiagram
  2. Definition
  3. Nøgleforskelle
  4. Konklusion

Sammenligningsdiagram

Basis for sammenligning Hard link Soft link
Basic En fil kan tilgås via mange forskellige navne kendt som hard links. En fil kan tilgås via forskellige referencer, der peger på den pågældende fil, kaldes et blødt link.
Linkvalidering, når den oprindelige fil slettes Er stadig gyldig, og der kan tilgås filen. Invalid
Kommando anvendt til oprettelse ln ln ln -s
node number Same Different
Kan være knyttet til sin egen partition. Til ethvert andet filsystem, selv på netværk.
Hukommelsesforbrug Mindre Mere
Relativ sti Gælder ikke Godkendt

Definition af Hard link

Hard links forbinder direkte to filer i samme filsystem, og til identifikation bruges filens inode-nummer. Hard links kan ikke implementeres på mapper (da de peger på inode). Når “ln”-kommandoen anvendes til at generere et hard link, oprettes der en anden fil på kommandolinjen, som kan bruges til at henvise til den oprindelige fil. Både den originale og den genererede fil har samme inode og indhold; derfor vil de have samme tilladelser og samme ejer.

Fjernelse af den originale fil har ingen indflydelse på den hårdt linkede fil, og en hårdt linket fil vil forblive. Inoden indeholder en tæller, for at beregne antallet af hardlinks til sig selv. Når tælleren viser 0-værdien, tømmes inoden. Når du foretager ændringer i hard linket, vil det efterligne i den oprindelige fil.

Definition af Soft link

Soft links er normalt en alternativ sti (eller et alias) til den oprindelige fil; de kaldes også symbolske links. Den indeholder navnet på linkets “målfil”, flag, der angiver, at det er et blødt link. Når der er adgang til en fil, omdirigerer softlinket den til målfilen via den sti, der er skrevet i emnet for softlinket.

Disse er meget praktiske i tilfælde af Windows OS, hvor softlinket opfører sig som genveje. Oprettelse og sletning af de bløde links påvirker ikke den oprindelige fil. Hvis målfilen slettes, dingler softlinket, hvilket betyder, at det peger ingen steder hen og genererer en fejlmeddelelse, når der tilgås målfilen. Softlinks bruger ikke inode-nummer i modsætning til hardlinks. En absolut eller relativ sti kan være en del af de symbolske links.

Nøgleforskelle mellem hard link og soft link

  1. Et hard link er et ekstra navn på den oprindelige fil, som henviser til inode for at få adgang til målfilen. I modsætning hertil er soft link adskilt fra den oprindelige fil og er et alias til den oprindelige fil, men bruger ikke inode.
  2. Når en oprindelig fil bliver slettet, bliver soft link ugyldigt, mens et hard link er gyldigt, selv om målfilen bliver slettet.
  3. I Linux er kommandoen, der bruges til oprettelse af hard link, “ln”. I modsætning hertil er den kommando, der bruges til et blødt link, “ln -s”.
  4. Hard link har samme inode-nummer i modsætning til soft link, hvor målfilen og dens soft link har forskellige inode-numre.
  5. Hard links er begrænset til egne partitioner, men soft links kan dække forskellige filsystemer.
  6. Hard link har i nogle tilfælde en bedre ydeevne end soft link.
  7. Relativ sti og absolut sti er begge tilladt i soft links. Derimod er den relative sti ikke tilladt i et hard link.

Konklusion

Et hard link kræver ikke ekstra plads, og matten løses hurtigere, men de ændringer, der anvendes på et hard link, afspejles i den oprindelige fil. På den anden side har et blødt link brug for ekstra plads, men enhver ændring i det bløde link påvirker ikke den oprindelige fil. Soft links er tilladt til mapper i modsætning til Hard link.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

Back to Top