Ceci est une ancienne révision du document !
Table des matières
Version : 2024.01
Dernière mise-à-jour : 2024/09/25 07:53
LCF401 - Système de Fichiers
Contenu du Module
- LCF401 - Système de Fichiers
- Contenu du Module
- LAB #1 - Linux File Hierarchy System
- 1.1 - Types de Fichiers
- 1.2 - La Commande mount
- 1.3 - La Commande umount
- 1.4 - Le Fichier /etc/fstab
- Options de Montage
- LAB #2 - Système de Fichiers Unix
- 2.1 - Superbloc
- 2.2 - Inodes
- 2.3 - Blocs de données
- 2.4 - Liens Physiques
- 2.5 - Liens Symboliques
LAB #1 - Linux File Hierarchy System
Le système de fichiers de Linux est organisé autour d'une arborescence unique ayant un point de départ appelé la racine, représenté par le caractère /. En dessous de cette racine se trouvent des répertoires contenant fichiers et sous-répertoires. L'organisation des répertoires est conforme à un standard, appelé le Linux File Hierarchy System.
[trainee@centos8 ~]$ cd / [trainee@centos8 /]$ ls -l total 18 lrwxrwxrwx. 1 root root 7 May 10 2019 bin -> usr/bin dr-xr-xr-x. 6 root root 1024 May 8 08:14 boot drwxr-xr-x. 19 root root 3020 Sep 6 07:59 dev drwxr-xr-x. 91 root root 8192 Sep 6 07:59 etc drwxr-xr-x. 3 root root 21 May 8 07:42 home lrwxrwxrwx. 1 root root 7 May 10 2019 lib -> usr/lib lrwxrwxrwx. 1 root root 9 May 10 2019 lib64 -> usr/lib64 drwxr-xr-x. 2 root root 6 May 10 2019 media drwxr-xr-x. 2 root root 6 May 10 2019 mnt drwxr-xr-x. 2 root root 6 May 10 2019 opt dr-xr-xr-x. 126 root root 0 Sep 6 07:59 proc dr-xr-x---. 2 root root 135 Sep 1 11:10 root drwxr-xr-x. 29 root root 860 Sep 6 08:00 run lrwxrwxrwx. 1 root root 8 May 10 2019 sbin -> usr/sbin drwxr-xr-x. 2 root root 6 May 10 2019 srv dr-xr-xr-x. 13 root root 0 Sep 6 07:59 sys drwxrwxrwt. 8 root root 172 Sep 6 08:00 tmp drwxr-xr-x. 12 root root 144 May 8 07:38 usr drwxr-xr-x. 21 root root 4096 May 8 08:13 var
- /bin : est une abréviation de binary ou binaires. Il contient des programmes tels ls. Sous CentOS 8 il s'agit d'un lien symbolique qui pointe vers /usr/bin.
- /boot : contient les fichiers nécessaires au démarrage du système.
- /dev : contient les nœuds utilisés pour accéder à tout type de matériel tel /dev/fd0 pour le lecteur de disquette. C'est le binaire udev qui se charge de créer et supprimer d'une manière dynamique les nœuds.
- /etc : contient des fichiers de configuration tels passwd pour les mots de passe et fstab qui est la liste des systèmes de fichiers à monter lors du démarrage du système.
- /home : contient les répertoires de chaque utilisateur sauf l’utilisateur root.
- /lib : contient les bibliothèques 32 bits communes utilisées par les programmes ainsi que les modules. Sous CentOS 8 il s'agit d'un lien symbolique qui pointe vers /usr/lib.
- /lib64 : contient les bibliothèques 64 bits communes utilisées par les programmes ainsi que les modules. Sous CentOS 8 il s'agit d'un lien symbolique qui pointe vers /usr/lib64.
- /media : contient des répertoires pour chaque système de fichiers monté ( accessible au système linux ) tels floppy, cdrom etc.
- /mnt : contient des répertoires pour chaque système de fichiers monté temporairement par root.
- /opt : contient des applications optionnelles.
- /proc : contient un système de fichiers virtuel qui extrait de la mémoire les informations en cours de traitement. Le contenu des fichiers est créé dynamiquement lors de la consultation. Seul root peut consulter la totalité des informations dans le répertoire /proc.
- /root : le home de root, l’administrateur système.
- /run : remplace le répertoire /var/run.
- /sbin : contient des binaires, donc programmes, pour l’administration du système local. Sous CentOS 8 il s'agit d'un lien symbolique qui pointe vers /usr/sbin.
- /srv : contient des données pour les services hébergés par le système tels ftp, bases de données, web etc.
- /sys : contient un système de fichiers virtuel dont le rôle est de décrire le matériel pour udev.
- /tmp : stocke des fichiers temporaires créés par des programmes.
- /usr : contient des commandes des utilisateurs dans /usr/bin, les HOWTO dans /usr/share/doc, les manuels dans /usr/share/man ainsi que d'autres entrées majeures.
- /var : contient des fichiers de taille variable.
1.1 - Types de Fichiers
Il existe trois types majeurs de fichier sous le système Linux :
- les fichiers normaux ( ordinary files )
- les répertoires ( directories )
- les fichiers spéciaux ( special files ou Devices)
Le fichiers normaux sont des fichiers textes, des tableaux ou des exécutables.
La longueur du nom de fichier est limité à 255 caractères.
Il y a une distinction entres les majuscules et le minuscules.
Si le nom d'un fichier commence par un ., le fichier devient caché.
1.2 - La Commande mount
Pour que Linux soit informé de la présence d’un système de fichiers, ce système doit être monté. Pour monter un système de fichiers, on utilise la commande mount :
# mount /dev/<fichier_spécial> /mnt/<répertoire_cible>
ou /dev/<fichier_spécial> est le périphérique à monter et /mnt/<répertoire_cible> est le répertoire qui servira comme «fenêtre» pour visionner le contenu du système de fichiers. Ce répertoire doit impérativement exister avant d’essayer de monter le système de fichiers.
Dans le cas où la commande mount est utilisée sans options, le système retourne une liste de tous les systèmes de fichiers actuellement montés :
[trainee@centos8 /]$ su - Password: fenestros [root@centos8 ~]# mount sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=1881944k,nr_inodes=470486,mode=755) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd) pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime,seclabel) bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_cls,net_prio) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset) cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpu,cpuacct) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio) cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer) cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,rdma) none on /sys/kernel/tracing type tracefs (rw,relatime,seclabel) configfs on /sys/kernel/config type configfs (rw,relatime) /dev/mapper/cl_centos8-root on / type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime) systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=3826) mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel) debugfs on /sys/kernel/debug type debugfs (rw,relatime,seclabel) hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel,pagesize=2M) fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime) /dev/sda1 on /boot type ext4 (rw,relatime,seclabel) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=382500k,mode=700,uid=1000,gid=1000) tmpfs on /run/user/42 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=382500k,mode=700,uid=42,gid=42) gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
Cette information est stockée dans le fichier /etc/mtab :
[root@centos8 ~]# cat /etc/mtab sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=1881944k,nr_inodes=470486,mode=755 0 0 securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev 0 0 devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /run tmpfs rw,seclabel,nosuid,nodev,mode=755 0 0 tmpfs /sys/fs/cgroup tmpfs ro,seclabel,nosuid,nodev,noexec,mode=755 0 0 cgroup /sys/fs/cgroup/systemd cgroup rw,seclabel,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd 0 0 pstore /sys/fs/pstore pstore rw,seclabel,nosuid,nodev,noexec,relatime 0 0 bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0 cgroup /sys/fs/cgroup/devices cgroup rw,seclabel,nosuid,nodev,noexec,relatime,devices 0 0 cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0 cgroup /sys/fs/cgroup/memory cgroup rw,seclabel,nosuid,nodev,noexec,relatime,memory 0 0 cgroup /sys/fs/cgroup/cpuset cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpuset 0 0 cgroup /sys/fs/cgroup/pids cgroup rw,seclabel,nosuid,nodev,noexec,relatime,pids 0 0 cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0 cgroup /sys/fs/cgroup/perf_event cgroup rw,seclabel,nosuid,nodev,noexec,relatime,perf_event 0 0 cgroup /sys/fs/cgroup/blkio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,blkio 0 0 cgroup /sys/fs/cgroup/hugetlb cgroup rw,seclabel,nosuid,nodev,noexec,relatime,hugetlb 0 0 cgroup /sys/fs/cgroup/freezer cgroup rw,seclabel,nosuid,nodev,noexec,relatime,freezer 0 0 cgroup /sys/fs/cgroup/rdma cgroup rw,seclabel,nosuid,nodev,noexec,relatime,rdma 0 0 none /sys/kernel/tracing tracefs rw,seclabel,relatime 0 0 configfs /sys/kernel/config configfs rw,relatime 0 0 /dev/mapper/cl_centos8-root / xfs rw,seclabel,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota 0 0 selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0 systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=3826 0 0 mqueue /dev/mqueue mqueue rw,seclabel,relatime 0 0 debugfs /sys/kernel/debug debugfs rw,seclabel,relatime 0 0 hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime,pagesize=2M 0 0 fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0 /dev/sda1 /boot ext4 rw,seclabel,relatime 0 0 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0 tmpfs /run/user/1000 tmpfs rw,seclabel,nosuid,nodev,relatime,size=382500k,mode=700,uid=1000,gid=1000 0 0 tmpfs /run/user/42 tmpfs rw,seclabel,nosuid,nodev,relatime,size=382500k,mode=700,uid=42,gid=42 0 0 gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
Important : Notez que le système de fichiers de /dev/sda1 est ext4 tandis que que le système de fichiers de /dev/mapper/cl_centos8-root est xfs. La comparaison des systèmes de fichiers Linux est abordée dans le module LCF504 - Gestion des Disques, des Systèmes de Fichiers et du Swap.
1.3 - La Commande umount
Pour démonter un système de fichiers, on utilise la commande umount :
# umount /mnt/<répertoire_cible>
ou
# umount /dev/cdrom
1.4 - Le Fichier /etc/fstab
Dans le cas où la commande mount est utilisée avec l’option –a, tous les systèmes de fichiers mentionnés dans un fichier spécial dénommé /etc/fstab seront montés en même temps :
[root@centos8 ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Wed Jun 16 06:21:32 2021 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/cl_centos8-root / xfs defaults 0 0 UUID=1c04981e-5317-4b73-9695-3ce25246835d /boot ext4 defaults 1 2 /dev/mapper/cl_centos8-swap swap swap defaults 0 0
Chaque ligne dans ce fichier contient 6 champs :
Champ 1 | Champ 2 | Champ 3 | Champ 4 | Champ 5 | Champ 6 |
---|---|---|---|---|---|
Fichier de bloc spécial ou UUID ou système de fichiers virtuel ou une étiquette | Point de montage | Type de système de fichiers | Options séparées par des virgules | Utilisé par dump ( 1 = à dumper, 0 ou vide = à ignorer ) | L'ordre de vérification par fsck des systèmes de fichiers au moment du démarrage |
L'UUID ( Universally Unique Identifier ) est une chaîne d'une longueur de 128 bits. Les UUID sont créés automatiquement et d'une manière aléatoire lors de la création du filesystem sur la partition. Ils peuvent être modifiés par l'administrateur.
Options de Montage
Les options de montage les plus importants sont :
Option | Systèmes de Fichier | Description | Valeur par Défaut |
---|---|---|---|
defaults | Tous | Egal à rw, suid, dev, exec, auto, nouser, async | S/O |
auto/noauto | Tous | Montage automatique/pas de montage automatique lors de l'utilisation de la commande mount -a | auto |
rw/ro | Tous | Montage en lecture-écriture/lecture seule | rw |
suid/nosuid | Tous | Les bits SUID et SGID sont/ne sont pas pris en compte | suid |
dev/nodev | Tous | Interprète/n'interprète pas les fichiers spéciaux de périphériques | dev |
exec/noexec | Tous | Autorise:n'autorise pas l'exécution des programmes | exec |
sync/async | Tous | Montage synchrone/asynchrone | async |
user/nouser | Tous | Autorise/n'autorise pas un utilisateur à monter/démonter le système de fichier. Le point de montage est celui spécifié dans le fichier /etc/fstab. Seul l'utilisateur qui a monté le système de fichiers peut le démonter | S/O |
users | Tous | Autorise tous les utilisateurs à monter/démonter le système de fichier | S/O |
owner | Tous | Autorise le propriétaire du périphérique de le monter | S/O |
atime/noatime | Norme POSIX | Inscrit/n'inscrit pas la date d'accès | atime |
uid=valeur | Formats non-Linux | Spécifie le n° du propriétaire des fichiers pour les systèmes de fichiers non-Linux | root |
gid=valeur | Formats non-Linux | Spécifie le n° du groupe propriétaire | S/O |
umask=valeur | Formats non-Linux | Spécifie les permissions (droits d'accès/lecture/écriture) | S/O |
dmask=valeur | Formats non-Linux | Spécifie les droits d'usage des dossiers (Obsolète, préférer dir_mode) | umask actuel |
dir_mode=valeur | Formats non-Linux | Spécifie les droits d'usage des dossiers | umask actuel |
fmask=valeur | Formats non-Linux | Spécifie les droits d'usage des fichiers (Obsolète, préférer file_mode) | umask actuel |
file_mode=valeur | Formats non-Linux | Spécifie les droits d'usage des fichiers | umask actuel |
LAB #2 - Système de Fichiers Unix
Chaque partition sous un système Unix peut héberger une des structures suivantes :
- superbloc
- inode
- bloc de données
- blocs d'indirection
2.1 - Superbloc
Le superbloc contient :
- la taille des blocs
- la taille du système de fichiers
- le nombre de montages effectués pour ce système de fichiers
- un pointeur vers la racine du système de fichiers
- les pointeurs vers la liste des inodes libres
- les pointeurs vers la liste des blocs de données libres
Le Superbloc est dupliqué tous les 8 ou 16Mo sous ext3 et ext4. Pour réparer un système de fichiers en restaurant un Superbloc, utilisez la commande suivante :
# e2fsck -f -b 8193 /dev/sda1 [Enter]
Pour visualiser l'emplacement du Superbloc primaire et ses sauvegardes, utilisez la commande suivante :
[root@centos8 ~]# dumpe2fs /dev/sda1 | grep -i superbloc dumpe2fs 1.44.6 (5-Mar-2019) Primary superblock at 1, Group descriptors at 2-4 Backup superblock at 8193, Group descriptors at 8194-8196 Backup superblock at 24577, Group descriptors at 24578-24580 Backup superblock at 40961, Group descriptors at 40962-40964 Backup superblock at 57345, Group descriptors at 57346-57348 Backup superblock at 73729, Group descriptors at 73730-73732 Backup superblock at 204801, Group descriptors at 204802-204804 Backup superblock at 221185, Group descriptors at 221186-221188
2.2 - Inodes
Chaque fichier est représenté par un inode. L'inode contient :
- le type de fichier, soit -, d, l, b, c, p, s
- les droits d'accès, par exemple rwx rw- r–
- le nombre de liens physiques soit le nombre de noms
- l'UID du créateur ou l'UID affecté par la commande chown s'il y a eu une modification
- le GID du processus créateur ou le GID affecté par la commande chgrp
- la taille du fichier en octets
- la date de dernière modification de l'inode, soit le ctime
- la date de dernière modification du fichier, soit le mtime
- la date du dernier accès, soit le atime
- les adresses qui pointent vers les blocs de données du fichier
Graphiquement, on peut schématiser cette organisation de la façon suivante :
Pour mieux comprendre, tapez la commande suivante :
[root@centos8 ~]# ls -ld /dev/console /dev/sda1 /etc /etc/passwd crw-------. 1 root root 5, 1 Sep 6 07:59 /dev/console brw-rw----. 1 root disk 8, 1 Sep 6 07:59 /dev/sda1 drwxr-xr-x. 91 root root 8192 Sep 6 07:59 /etc -rw-r--r--. 1 root root 1383 May 8 07:42 /etc/passwd
Le premier caractère de chaque ligne peut être un des suivants :
- - - un fichier
- d - un répertoire
- l - un lien symbolique
- b - un périphérique du type bloc
- c - un périphérique du type caractère
- p - un tube nommé pour la communication entre processus
- s - un socket dans un contexte réseau
Pour visualiser le numéro d'inode, utilisez l'option -i :
[root@centos8 ~]# ls -ldi /dev/console /dev/sda1 /etc /etc/passwd 8816 crw-------. 1 root root 5, 1 Sep 6 07:59 /dev/console 12701 brw-rw----. 1 root disk 8, 1 Sep 6 07:59 /dev/sda1 8388737 drwxr-xr-x. 91 root root 8192 Sep 6 07:59 /etc 8893162 -rw-r--r--. 1 root root 1383 May 8 07:42 /etc/passwd
2.3 - Blocs de données
Les données sont stockées dans des blocs de données. Dans le cas d'un répertoire, le bloc de données contient une table qui référence les inodes et les noms des fichiers dans le répertoire. Cette table s'appelle une table catalogue.
Le nom d'un fichier n'est pas stocké dans l'inode mais dans une table catalogue. Cette particularité nous permet de donner deux noms différents au même fichier. Pour ajouter un nouveau nom à un fichier, il convient de créer un lien physique.
2.4 - Liens Physiques
Un lien physique se crée en utilisant la commande suivante :
- ln nom_du_fichier nom_supplémentaire
Pour illustrer ce point, tapez la ligne de commande suivante :
[root@centos8 ~]# cd /tmp; mkdir inode; cd inode; touch fichier1; ls -ali total 0 9199611 drwxr-xr-x. 2 root root 22 Sep 6 08:31 . 16800396 drwxrwxrwt. 9 root root 185 Sep 6 08:31 .. 8398272 -rw-r--r--. 1 root root 0 Sep 6 08:31 fichier1
Notez bien le numéro de l'inode du fichier fichier1. Notez aussi que le numéro dans le troisième champs de la ligne de fichier1 a la valeur 1 :
8398272 -rw-r–r–. 1 root root 0 Sep 6 08:31 fichier1
Créez maintenant un lien physique :
[root@centos8 inode]# ln fichier1 fichier2 [root@centos8 inode]# ls -ali total 0 9199611 drwxr-xr-x. 2 root root 38 Sep 6 08:32 . 16800396 drwxrwxrwt. 9 root root 185 Sep 6 08:31 .. 8398272 -rw-r--r--. 2 root root 0 Sep 6 08:31 fichier1 8398272 -rw-r--r--. 2 root root 0 Sep 6 08:31 fichier2
Notez les deux lignes suivantes :
8398272 -rw-r–r–. 2 root root 0 Sep 6 08:31 fichier1
8398272 -rw-r–r–. 2 root root 0 Sep 6 08:31 fichier2
Les deux fichiers, fichier1 et fichier2, sont référencés par le même inode. Le nombre de liens est donc augmenté de 1 (le numéro dans le troisième champs).
Important : Un lien physique ne peut être créé que dans le cas où les deux fichiers se trouvent dans le même filesystem et que le fichier source existe.
2.5 - Liens Symboliques
Un lien symbolique est un raccourci vers un autre fichier ou répertoire. Un lien symbolique se crée en utilisant la commande suivante :
- ln -s nom_du_fichier nom_raccourci
Pour illustrer ce point, tapez la ligne de commande suivante :
[root@centos8 inode]# ln -s fichier1 fichier3 [root@centos8 inode]# ls -ali total 0 9199611 drwxr-xr-x. 2 root root 54 Sep 6 08:34 . 16800396 drwxrwxrwt. 9 root root 185 Sep 6 08:31 .. 8398272 -rw-r--r--. 2 root root 0 Sep 6 08:31 fichier1 8398272 -rw-r--r--. 2 root root 0 Sep 6 08:31 fichier2 8398273 lrwxrwxrwx. 1 root root 8 Sep 6 08:34 fichier3 -> fichier1
Notez que le lien symbolique est référencé par un autre inode. Le lien symbolique pointe vers le fichier1.
Important : Un lien symbolique peut être créé même dans le cas où les deux fichiers se trouvent dans deux filesystems différents et même dans le cas où le fichier source n'existe pas.
Copyright © 2024 Hugh Norris.