Hurtigt svar: Hvordan finder jeg alle hårde links i Linux?

For at finde alle hårde links på én gang, har finde udspyttede inoder for alle filer på en enhed, og brug derefter ting som sort og uniq til at finde dubletter. Dette vil vise filer i den aktuelle mappe og udføre en ls på den.

Du kan søge efter hårde links til inodenummer NUM ved bruger ' -inum NUM '. Hvis der er nogen filsystemmonteringspunkter under den mappe, hvor du starter søgningen, skal du bruge ' -xdev '-indstillingen, medmindre du også bruger ' -L '-indstillingen.

Windows med NTFS-filsystem har en grænse på 1024 hårde links på en fil.

Hvordan bruger jeg find i Linux?

Grundlæggende eksempler

  1. Find . – navngiv denne fil.txt. Hvis du har brug for at vide, hvordan du finder en fil i Linux kaldet denne fil. …
  2. find /home -name *.jpg. Se efter alle. jpg-filer i /home og mapper under det.
  3. Find . – skriv f -tom. Se efter en tom fil i den aktuelle mappe.
  4. find /home -user randomperson-mtime 6 -iname “.db”

Du kan tjek om en fil er et symbollink med [-L fil] . På samme måde kan du teste om en fil er en almindelig fil med [ -f fil ] , men i så fald udføres kontrollen efter at have løst symbollinks. hardlinks er ikke en filtype, de er bare forskellige navne på en fil (af enhver type).

Årsagen til hard-linking mapper er ikke tilladt er lidt teknisk. I det væsentlige bryder de filsystemstrukturen. Du bør generelt ikke bruge hårde links alligevel. Symbolske links tillader det meste af den samme funktionalitet uden at forårsage problemer (f.eks. ln -s target link ).

Sådan får du vist de symbolske links i en mappe:

  1. Åbn en terminal og flyt til den mappe.
  2. Indtast kommandoen: ls -la. Dette skal lange liste over alle filer i mappen, selvom de er skjulte.
  3. Filerne, der starter med l, er dine symbolske linkfiler.

1 Svar. Hver mappe har et link til sig selv og sin forælder (det er derfor . af en tom mappe vil have et linkantal på 2). Men fordi hver mappe linker til sin forælder, vil enhver mappe, der har en undermappe, have et link fra det underordnede.

Hvis du finder to filer med identiske egenskaber, men er usikker på, om de er hårdt linkede, brug kommandoen ls -i for at se inodenummeret. Filer, der er hårdt kædet sammen, deler det samme inodenummer. Det delte inodenummer er 2730074, hvilket betyder, at disse filer er identiske data.

Et hårdt link vil aldrig pege på en slettet fil. Et hårdt link er som en pegepind til de faktiske fildata. Og markøren kaldes "inode" i filsystemterminologi. Så med andre ord, at oprette et hårdt link er at skabe en anden inode eller en pegepind til en fil.

Kan du lide dette indlæg? Del venligst med dine venner:
OS i dag