Créer des liens matériels et symboliques

Créer des liens matériels et symboliques.

Les types de fichiers sous Linux

Sous Linus tout est fichier. La première lettre indique le type.

Lors d’un ls -l, les droits sur les fichiers sont affichés : drwx------. 3 aline aline 127 Oct 30 12:41 aline

Tous les types de fichiers :

Type Description
- Fichier classique
d Dossiere
l Lien symbolique
c Fichier de type caractère ou character device (type E/S comme /dev/tty, /dev/random)
b Fichier de type bloc ou block device (accéder aux périphériques)
p Tube nommé ou FIFO (communication entre processus)
s Socket (communication entre processus)

Liens matériels et symboliques

Liens symboliques

Faire en sorte que plusieurs noms de fichiers référencent le même fichier avec des liens matériels et symboliques.

Liens symboliques de fichiers pointant sur le même fichier :

$ touch FILE.txt
$ ln -s FILE.txt FileA.txt
$ ln -s FILE.txt FileB.txt
$ echo "Text in FileB : BBB" > FileB.txt
$ echo "Text in FILE : FILE" >> FILE.txt
$ ls -li
total 4
68086679 lrwxrwxrwx. 1 aline aline 8 Oct 31 10:23 FileA.txt -> FILE.txt
68086680 lrwxrwxrwx. 1 aline aline 8 Oct 31 10:23 FileB.txt -> FILE.txt
68086678 -rw-r--r--. 1 aline aline 63 Oct 31 10:25 FILE.txt
$ tail F*
==> FileA.txt <==
Text in FileB : BBB
Text in FILE : FILE

==> FileB.txt <==
Text in FileB : BBB
Text in FILE : FILE

==> FILE.txt <==
Text in FileB : BBB
Text in FILE : FILE

Si suppression du fichier, les autres lien symboliques ne sont plus accessibles :

$ rm FILE.txt
$ ls -li
total 0
68086679 lrwxrwxrwx. 1 aline aline 8 Oct 31 10:23 FileA.txt -> FILE.txt
68086680 lrwxrwxrwx. 1 aline aline 8 Oct 31 10:23 FileB.txt -> FILE.txt
68086681 lrwxrwxrwx. 1 aline aline 8 Oct 31 10:23 FileC.txt -> FILE.txt
$ cat FileA.txt
cat: FileA.txt: No such file or directory

Liens symboliques de fichiers pointant sur le même répertoire :

$ mkdir local_tmp
$ ln -s /tmp/ local_tmp/
$ ln -s /tmp/ TRASH.txt
$ ls -li
total 2
91452164 drwxr-xr-x. 2 aline aline 17 Oct 31 10:30 local_tmp
68086682 lrwxrwxrwx. 1 aline aline 5 Oct 31 10:31 TRASH.txt -> /tmp/
$ ls -li local_tmp/
total 0
91452165 lrwxrwxrwx. 1 aline aline 5 Oct 31 10:30 tmp -> /tmp/

Liens matériels

Liens matériels :

$ echo "Text in HARD.txt" > HARD.txt
$ echo "Text in Hard02.txt" >> Hard02.txt
$ tail H*
==> Hard01.txt <==
Text in HARD.txt
Text in Hard02.txt

==> Hard02.txt <==
Text in HARD.txt
Text in Hard02.txt

==> HARD.txt <==
Text in HARD.txt
Text in Hard02.txt

Si suppression du fichier, les autres lien matériels restent accessibles :

$ rm HARD.txt Hard02.txt
$ tail H*
==> Hard01.txt <==
Text in HARD.txt
Text in Hard02.txt

==> Hard03.txt <==
Text in HARD.txt
Text in Hard02.txt

Documentation

Internet
MAN

> Partager <