Myke og harde koblinger i Linux

Anonim

Vi har allerede fortalt om myke og harde koblinger i Linux, og denne artikkelen er viet til deres dypere studie. Lenker i Linux-operativsystemet er 2 typer mykt og hardt. Hvis du utfører en analogi med Windows-operativsystemet, jobber vi hovedsakelig med myke lenker, symbolske etiketter. Men det er også harde koblinger i Windows-operativsystemet, de er ganske enkelt veldig dypt skjult inne i operativsystemet. Artikkelen vil fortelle:

  • Slik identifiserer du Link Type
  • Hva er forskjellen mellom myk og hard referanse
  • Hva er forskjellen mellom å kopiere og skape lenker

Så vi ser på hjemmekatalogen. Jeg opprettet en fil og 2 koblinger stiv og myk som angir denne filen.

Den viktigste fil filen.txt, hard.txt hard.txt filen til filen.txt fil og soft.txt Soft Link til fil.txt fil. Hvordan kan jeg merke de symbolske (myke) linkene i skallet, vanligvis tonet lyseblå og vist på hvilken fil det refererer til. Du kan fortsatt ha en interessant ting å erstatte hovedfilen veier 38 kilobytes og en streng referanse så mye veier. Soft lenken er bare en snarvei og veier bare 8 kilobytes. La oss se hva hovedfilen. Filen inneholder uttrykket.

Myke og harde koblinger i Linux 12433_2

LS-kommandoen med -li-tasten kan vise inodene. Som et resultat av å skrive inn kommandoen, dukket opp en annen kolonne foran. I denne kolonnen og viser Inodes-nummeret, dvs. identifikatorfil, indeksbeskrivelse, filplassering på disk, filetikett.

Myke og harde koblinger i Linux 12433_3

I vårt tilfelle faller Inodes-tallene fra filen og den stramme referansen sammen. Dvs. den stive linken indikerer det samme stedet hvor hovedfilen er plassert, på samme sted på harddisken. Den myke lenken, selv er en egen fil, og den har en helt annen inode. Og det kan også ses at filen i rettighetene dukket opp bokstaven L, som indikerer at dette er en symbolsk lenke. Og prøver å se innholdet i en stiv og myk lenke, får vi det samme resultatet. Alt viser den samme filen.

Hvis vi prøver å legge til, endringer i filen. For eksempel, ekko hei >> fil.txt

Vi får det samme resultatet. Ta og endre navn på vår viktigste MV-fil.txt newfile.txt-fil.

Nå kan vi se at lenken er myk med oss, er blitt rød (bat). Fordi, er myke koblinger basert på filnavnet. Og ikke bare i filnavnet, men på fuldets fulle navn. En streng referanse, som det var, og forblev arbeidet. Fordi det indikerer den samme inode, fordi det peker på stedet der denne filen er plassert. Og hvis vi er kattverktøyet, vil vi vise den harde koblingen i utgangen, vi får kildefilen, og den myke lenken vil gi oss en feil. Hovedforskjellen mellom den stive referansen og myk er at myk er avhengig av filnavnet. Og den harde indikerer den fysiske plasseringen som er definert av beskrivelsen der filen er plassert.

Disse koblingene er opprettet rett og slett nok, ln-kommandoen som indikerer hovedfilen og koblingene. For eksempel, ln fil.txt hard.txt. Når du lager en myk lenke, blir nøkkelen lagt til. Det vil se ut som dette - ln -s fil.txt soft.txt. Når du oppretter en lenke, kan du angi objekter uten ekspansjon.

Fordi Vi er knyttet til den strenge linken til Inode, den kan ikke brukes med flere filsystemer. Hvis du har en annen harddisk skiftet inn i dette filsystemet, kan du ikke opprette en stiv lenke fra dette systemet til den anerkjente harddisken. Fordi alt er avhengig av inode, og inode er gyldig for et bestemt filsystem. Derfor, i Windows-operativsystemet, er alle standardreferanser myke. Det kan bruke det hvor som helst. For eksempel kan vi lage lenker til alle dine viktige mapper i hjemmekatalogen eller dataene dine. Svært ofte brukes symbolske lenker til å administrere. Linux operativsystem. For eksempel, for kommandoer, hvis brukeren ikke vil kjenne versjonsnummeret eller tilleggstastene, kan det bare få tilgang til ulike versjoner som bare bruker koblinger.

Det er også verdt å nevne situasjonen med mapper.

Opprett en mappe - MKDIR-mappe. La oss lage en hard lenke til denne mappen - Ln Folder Folder.Lnk, denne kommandoen vil vise en feil som angir at du ikke kan opprette en hard lenke til mappen, men, og hvis vi ønsker å lage en myk (symbolsk lenke), så Problemene vil ikke oppstå - LN - S Folder Folder.Lnk.

En god tone når du lager symbolske lenker, er en indikasjon på den fulle banen, fordi bindingen går til filnavnet, og når du oppretter hvis du spesifiserer relativ, kan vi støte på en situasjon der den resulterende lenken vil være en flaggermus. For eksempel, når vi vil opprette en lenke til filen og sette den inne i andre ln -s /home/siadmin/file.txt mappemapper. Dette alternativet vil bli arbeidet.

Forskjellen mellom å kopiere en fil og lage en lenke. Når du kopierer filen, lager vi faktisk en annen fil med alt innholdet, og når vi lager en lenke - dette er en etikett til filen. Kopier filen filen.txt i newfile.txt og på fil.txt vil opprette en hard lenke. Når vi ser ut produksjonen av LS -L-kommandoen på mappen, kan den visuelle kopien vi ikke forstyrrer den harde linken, hvis vi ikke vet om det. Og forskjellen vi vil se bare hvis vi ser på Inodes.

Som vi ser inode-tallene fra filen og de stramme referansene sammenfaller, og vi vet ikke hva som er primært for dem. Du kan se en kolonne med tall etter å ha spesifisert rettigheter til objekter, det viser hvor mange tøffe referanser er på denne inode. Opprett en annen LN-fil.txt hard1.txt hard lenke. Nå hvis du lager en LS -LI-utgang, så vil vi se figur 3. Hvorfor skjer det? Ved å slette filen, er standardet en handling som tilbakestiller antallet alle stive lenker. Hvis vi sletter filkilden filen.txt. Og la oss se konklusjonen, vi vil se at hvis det er myke koblinger, vil de slutte å jobbe, og hard.txt og hard1.txt-filene forble.

Myke og harde koblinger i Linux 12433_4

Videre, hvis du kontakter disse harde koblingene, for eksempel, ved hjelp av Cat Hard.txt View Utility, vil vi se teksten som vi opprinnelig hadde i filen.

Myke og harde koblinger i Linux 12433_5

Dette skyldes at filen selv er litt plass på disken, og navnet på filen og banen til den er en streng lenke. Derfor er en hvilken som helst fil en tøff lenke til diskplassen. Vi kan lage så mange koblinger til vår inode, og mens vi alle ikke sletter filen, vil det være på plass.

Les mer