[LINUX] Liens physiques et liens symboliques

Notes sur l'étude des liens physiques et des liens symboliques

Environnement: CentOS7

Termes qui apparaissent

--i node (nœud d'index) Données pour la gestion des fichiers (peut-on créer un inode correspondant lors de la création d'un fichier normal?) La taille, la date et l'heure, l'emplacement des données sur le disque, etc. sont écrits

--i numéro de nœud Numéro pour identifier l'inode

Lien dur

Créez un fichier et un lien physique pour ce fichier ↓

# echo hello > text  //"hello"Créer un fichier nommé texte

# ln text text.hard  //tester le lien physique du fichier de test.Créé avec le nom dur

# ls
text  text.hard  //texte et texte.Confirmez que le dur est fait

Vérifiez le contenu avec la commande cat ↓

# cat text  //Vérifiez le contenu du fichier texte
hello

# cat text.hard  //text.Vérifiez le contenu du fichier dur
hello

Si vous vérifiez le numéro d'inode avec ls -i, vous pouvez voir que le même numéro d'inode est associé ↓

# ls -i 
1331910 text  1331910 text.hard

Vérifier les attributs du fichier avec la commande stat est exactement le même ↓

# 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: -

Avec les liens physiques, il n'y a pas de problème même si vous supprimez le fichier d'origine ↓

# ls
text  text.hard  //Assurez-vous que vous avez deux fichiers

# rm text
rm: remove regular file 'text'? y  //Supprimer le texte du fichier d'origine

# ls      
text.hard  //Confirmez que le texte a été supprimé

# cat text.hard  //text.Vérifiez à l'intérieur dur
hello

Lien symbolique

Créer un fichier et un lien symbolique pour ce fichier ↓

# echo hello2 > text2  //"hello"Créez un fichier nommé text2

# ln -s text2 text.sym  //tester le lien symbolique du fichier de test.Créé avec le nom sym

# ls
text.sym  text2  //texte et texte.Confirmez que sym est créé

Vérifiez le contenu avec la commande cat ↓

# cat text2
hello2

# cat text.sym 
hello2

Si vous vérifiez le numéro d'inode avec ls -i, vous pouvez voir que différents numéros d'inode sont associés les uns aux autres ↓

# ls -i 
1331913 text.sym  1331912 text2

La vérification des attributs du fichier avec la commande stat montre des résultats différents ↓

# 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: -

Le lien symbolique est inutile si le fichier d'origine disparaît ↓

# ls
text.sym  text2  //Assurez-vous que vous avez deux fichiers

# rm text2
rm: remove regular file 'text2'? y  //Supprimer le texte du fichier d'origine2

# ls
text.sym   //Confirmez que text2 a été supprimé

# cat text.sym 
cat: text.sym: No such file or directory   //text.Quand j'essaye de vérifier dur à l'intérieur, ça dit qu'il n'y a pas de fichier


//Si vous le regardez avec la commande stat, vous pouvez voir que le fichier était manquant lorsque vous avez recherché le texte supprimé "Fichier": '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

Liens physiques et liens symboliques
À propos des liens symboliques
J'ai étudié le comportement de la différence entre lien dur et lien symbolique
Notes jouant avec des liens symboliques
Quelle est la différence entre les liens symboliques et les liens durs?
Comment créer / supprimer des liens symboliques
Notes personnelles et liens sur l'apprentissage automatique ① (Machine learning)