[LINUX] Harte Links und symbolische Links

Hinweise zum Studium von Hardlinks und symbolischen Links

Umgebung: CentOS7

Begriffe, die erscheinen

--i Knoten (Indexknoten) Daten zum Verwalten von Dateien (kann beim Erstellen einer normalen Datei ein entsprechender Inode erstellt werden?) Die Größe, das Datum und die Uhrzeit, der Speicherort der Daten auf der Festplatte usw. werden geschrieben

--i Knotennummer Nummer zur Identifizierung des Inodes

--Symbolischer Link Mechanismus zum Zuweisen von Aliasnamen zu Dateien

Harte Verbindung

Erstellen Sie eine Datei und einen festen Link für diese Datei ↓

# echo hello > text  //"hello"Erstellen Sie eine Datei mit dem Namen Text

# ln text text.hard  //Testen Sie den Hardlink der Testdatei.Erstellt mit dem Namen hart

# ls
text  text.hard  //Text und Text.Bestätigen Sie, dass es schwer ist

Überprüfen Sie den Inhalt mit dem Befehl cat ↓

# cat text  //Überprüfen Sie den Inhalt der Textdatei
hello

# cat text.hard  //text.Überprüfen Sie den Inhalt der Festplatte
hello

Wenn Sie die Inode-Nummer mit ls -i überprüfen, können Sie sehen, dass dieselbe Inode-Nummer ↓ zugeordnet ist

# ls -i 
1331910 text  1331910 text.hard

Das Überprüfen der Dateiattribute mit dem Befehl stat ist genau das gleiche ↓

# stat text
  File: 'text'
  Size: 6         	Blocks: 8          IO Block: 4096   regular file
Device: 6dh/109d	Inode: 1331910     Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-11-15 02:59:31.305456000 +0000
Modify: 2020-11-15 02:57:30.713465000 +0000
Change: 2020-11-15 02:58:14.329159000 +0000
 Birth: -

# stat text.hard
  File: 'text.hard'
  Size: 6         	Blocks: 8          IO Block: 4096   regular file
Device: 6dh/109d	Inode: 1331910     Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-11-15 02:59:31.305456000 +0000
Modify: 2020-11-15 02:57:30.713465000 +0000
Change: 2020-11-15 02:58:14.329159000 +0000
 Birth: -

Mit Hardlinks gibt es kein Problem, auch wenn Sie die Originaldatei ↓ löschen

# ls
text  text.hard  //Stellen Sie sicher, dass Sie zwei Dateien haben

# rm text
rm: remove regular file 'text'? y  //Löschen Sie den ursprünglichen Text der Datei

# ls      
text.hard  //Bestätigen Sie, dass der Text gelöscht wurde

# cat text.hard  //text.Überprüfen Sie innen innen
hello

Symbolischer Link

Erstellen Sie eine Datei und einen symbolischen Link für diese Datei ↓

# echo hello2 > text2  //"hello"Erstellen Sie eine Datei mit dem Namen text2

# ln -s text2 text.sym  //Testen Sie den symbolischen Link der Testdatei.Erstellt mit dem Namen sym

# ls
text.sym  text2  //Text und Text.Bestätigen Sie, dass sym erstellt wurde

Überprüfen Sie den Inhalt mit dem Befehl cat ↓

# cat text2
hello2

# cat text.sym 
hello2

Wenn Sie die Inode-Nummer mit ls -i überprüfen, können Sie sehen, dass verschiedene Inode-Nummern miteinander verknüpft sind ↓

# ls -i 
1331913 text.sym  1331912 text2

Das Überprüfen der Dateiattribute mit dem Befehl stat zeigt unterschiedliche Ergebnisse ↓

# stat text2
  File: 'text2'
  Size: 7         	Blocks: 8          IO Block: 4096   regular file
Device: 6dh/109d	Inode: 1331912     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-11-15 05:29:34.474558000 +0000
Modify: 2020-11-15 05:26:48.352110000 +0000
Change: 2020-11-15 05:26:48.352110000 +0000
 Birth: -

# stat text.sym
  File: 'text.sym' -> 'text2'
  Size: 5         	Blocks: 0          IO Block: 4096   symbolic link
Device: 6dh/109d	Inode: 1331913     Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-11-15 05:27:06.504110000 +0000
Modify: 2020-11-15 05:27:04.357110000 +0000
Change: 2020-11-15 05:27:04.357110000 +0000
 Birth: -

Ein symbolischer Link ist nutzlos, wenn die Originaldatei verschwindet ↓

# ls
text.sym  text2  //Stellen Sie sicher, dass Sie zwei Dateien haben

# rm text2
rm: remove regular file 'text2'? y  //Löschen Sie den Originaldateitext2

# ls
text.sym   //Bestätigen Sie, dass text2 gelöscht wurde

# cat text.sym 
cat: text.sym: No such file or directory   //text.Wenn ich versuche, nach innen zu schauen, heißt es, dass es keine Datei gibt


//Wenn Sie sich den Befehl stat ansehen, können Sie feststellen, dass die Datei fehlte, als Sie nach dem gelöschten Text2 "Datei" suchten.: 'text.sym' -> 'text2'」
# stat text.sym
  File: 'text.sym' -> 'text2'
  Size: 5         	Blocks: 0          IO Block: 4096   symbolic link
Device: 6dh/109d	Inode: 1331913     Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-11-15 05:27:06.504110000 +0000
Modify: 2020-11-15 05:27:04.357110000 +0000
Change: 2020-11-15 05:27:04.357110000 +0000
 Birth: -

Recommended Posts

Harte Links und symbolische Links
Über symbolische Links
Ich untersuchte das Verhalten bezüglich des Unterschieds zwischen Hard Link und Symbolic Link
Notizen, die mit symbolischen Links spielen
Was ist der Unterschied zwischen symbolischen und harten Links?
So erstellen / löschen Sie symbolische Links
Persönliche Notizen und Links zum maschinellen Lernen ① (Maschinelles Lernen)