Rask svar: Hvordan finner jeg alle harde lenker i Linux?

For å finne alle harde lenker på en gang, ha finne spytte ut inoder for alle filer på en enhet, og deretter bruke ting som sortering og uniq for å finne duplikater. Dette vil vise filer i gjeldende katalog og utføre en ls på den.

Du kan søke etter harde lenker til inodenummer NUM etter bruker ' -inum NUM '. Hvis det er noen filsystemmonteringspunkter under katalogen der du starter søket, bruk alternativet ' -xdev ' med mindre du også bruker alternativet ' -L '.

Windows med NTFS-filsystem har en grense på 1024 harde lenker på en fil.

Hvordan bruker jeg find i Linux?

Grunnleggende eksempler

  1. finne. – navngi denne filen.txt. Hvis du trenger å vite hvordan du finner en fil i Linux kalt denne filen. …
  2. finn /hjem -navn *.jpg. Se etter alle. jpg-filer i /home og kataloger under den.
  3. finne. – skriv f -tom. Se etter en tom fil i gjeldende katalog.
  4. finn /home -user randomperson-mtime 6 -iname ".db"

Du kan sjekk om en fil er en symbolkobling med [ -L fil ] . På samme måte kan du teste om en fil er en vanlig fil med [ -f file ] , men i så fall gjøres kontrollen etter å ha løst symbolkoblinger. harde lenker er ikke en filtype, de er bare forskjellige navn på en fil (uansett type).

Årsaken hard-linking kataloger er ikke tillatt er litt teknisk. I hovedsak bryter de filsystemstrukturen. Du bør generelt ikke bruke harde lenker uansett. Symbolske lenker tillater det meste av den samme funksjonaliteten uten å forårsake problemer (f.eks. ln -s target link ).

Slik viser du de symbolske koblingene i en katalog:

  1. Åpne en terminal og gå til den katalogen.
  2. Skriv inn kommandoen: ls -la. Dette skal lange listen over alle filene i katalogen selv om de er skjult.
  3. Filene som starter med l er dine symbolske lenkefiler.

1 Svar. Hver katalog har en lenke til seg selv og dens overordnede (det er derfor . av en tom katalog vil ha en koblingsantallet på 2). Men fordi hver katalog kobler til sin overordnede, vil enhver katalog som har en underkatalog ha en kobling fra det underordnede.

Hvis du finner to filer med identiske egenskaper, men er usikker på om de er hardt koblet, bruk ls -i-kommandoen for å se inodenummeret. Filer som er hardt koblet sammen deler samme inodenummer. Det delte inodenummeret er 2730074, noe som betyr at disse filene er identiske data.

En hard lenke vil aldri peke til en slettet fil. En hard lenke er som en peker til de faktiske fildataene. Og pekeren kalles "inode" i filsystemterminologi. Så, med andre ord, å lage en hard link er å lage en annen inode eller en peker til en fil.

Liker dette innlegget? Vennligst del til vennene dine:
OS i dag