15 votes

Que sont exactement les fichiers . et sur Mac ?

Anecdotiquement, les fichiers appelés . y .. semblent être souvent (toujours ?) présents dans des répertoires autrement "vides" sous MacOS.

Exemple

Créer un nouveau répertoire (sans rien dedans)

mkdir test

cd en elle

cd test

et de lister son contenu

ls -a
.   ..

Que sont exactement ces fichiers . y .. ?

34voto

nohillside Points 82672

Techniquement et pratiquement, ils représentent des entrées de répertoire pour le répertoire courant ( . ) et le répertoire parent ( .. ), respectivement.

Así que cd . vous maintient toujours dans le répertoire courant (utile principalement dans les scripts lorsqu'un répertoire est assigné à une variable et que la valeur doit représenter uniquement le répertoire courant), alors que cd .. vous fait toujours monter d'un niveau (sauf si vous êtes déjà à / dans ce cas .. est la même chose que . ).

19voto

Jose Chavez Points 645

En termes pratiques, les dossiers nommés . y .. font respectivement référence au dossier actuel et à son dossier parent. Pour le répertoire racine (désigné par / ) le .. Le nom se réfère simplement à lui-même.

Les noms "." et " " sont spéciaux dans la mesure où ils ne représentent pas nécessairement quelque chose de réellement stocké dans le système de fichiers sur le disque, comme d'autres noms. Dans certains systèmes de fichiers, il existe effectivement des liens durs nommés "." et "..", mais d'autres systèmes de fichiers ne les stockent pas en tant que tels.

De même, sur les systèmes d'exploitation modernes, comme MacOS, il est possible de monter plusieurs systèmes de fichiers sur la même structure de dossiers. Aux limites de ces intersections, le ".." ne fait pas référence à un lien stocké dans ce système de fichiers, mais plutôt à un dossier dans un système de fichiers complètement différent.

Dans ce cas, ces noms sont purement virtuels, tout en offrant la même fonctionnalité.

La présence de ces noms est en fait dictée par la norme POSIX pour les systèmes d'exploitation, contre laquelle MacOS est certifié depuis la version 10.5. En particulier, la norme spécifie que :

Le point spécial du nom de fichier doit faire référence au répertoire spécifié par son prédécesseur. Le nom de fichier spécial dot-dot fait référence au répertoire parent de son prédécesseur. Dans le cas particulier du répertoire Root, dot-dot peut faire référence au répertoire Root lui-même.

Lorsque vous utilisez l'interface de ligne de commande, vous vous habituerez rapidement à la fonction .. car vous utilisez souvent des commandes comme cd .. pour aller dans le dossier parent.

El . Ce nom remplit une fonction importante en termes de sécurité, car il est utilisé pour indiquer au shell (l'interface de ligne de commande) que vous souhaitez exécuter un programme situé dans le dossier actuel au lieu d'une commande fournie par le système à un autre emplacement. Imaginez que nous n'ayons pas le . et le système lance simplement le programme dans le dossier en cours sans que cela ne soit explicitement indiqué - un utilisateur malveillant pourrait alors ajouter des programmes portant des noms de commandes courantes dans des dossiers de l'ordinateur, et lorsqu'un autre utilisateur tombe sur ce dossier et a l'intention d'exécuter une commande courante (telle que ls pour lister les fichiers ou cd pour changer de répertoire), ils lanceraient plutôt un programme malveillant.

Historiquement, ces noms . y .. ont été utilisés sur de nombreux systèmes d'exploitation différents, dont par exemple Windows et Linux. Il trouve son origine dans le système d'exploitation Multics (datant de 1969), qui a été le premier système d'exploitation à proposer un système de fichiers hiérarchique. Multics a été l'une des principales sources d'inspiration de ce qui est finalement devenu Unix. Au cours du processus de développement, les fichiers étaient classés en fonction d'un "répertoire" (dossier courant) et d'un "répertoire du répertoire" (dossier parent). Ces termes étaient abrégés en "d" et "dd", et se prononçaient finalement "dot" et "dot-dot", ce qui a donné lieu à leur représentation actuelle.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X