Quand le "." et les entrées ".." dans une liste dir diffèrent? (Je comprends qu'ils représentent deux répertoires différents, mais ils répertorient toujours de manière identique avec la même date et heure dans une commande dir par défaut. Différent-ils jamais?)
13
Réponses:
Quant à la liste réelle:
Ils utilisent la date du répertoire actuel pour les deux. Si vous commencez
C:\Users\Chris
(disons), vous pourriez obtenir ce qui précède. Mais quand vous montez,C:\Users
vous obtenez:La date du
..
premier cas n'est donc pas la même que celle.
du second. Ce qui est apparemment faux car ils sont (ou devraient être) le même répertoire. Cependant,.
et..
sont des références au répertoire courant et parent et sont tous deux créés en même temps - lorsque le répertoire a été créé - donc c'est en fait correct (merci à Synetech inc pour l'avoir signalé)La seule fois où les horodatages seraient différents est si l'un ou l'autre de
.
ou a..
été recréé.La réponse originale:
.
signifie le répertoire courant...
signifie le répertoire parent.Donc, dans des circonstances normales, ils sont toujours différents.
La seule fois où ils donnent le même résultat, c'est lorsque vous êtes à la racine du disque. Donc,
C:\>
dir .
etdir ..
produisez la même sortie.la source
..
sans l'horodatage du répertoire parent, il reçoit l'horodatage du répertoire en cours. En effet,.
et..
sont tous deux créés lors de la création du répertoire.Non, ils seront toujours les mêmes. Parce que ce sont des répertoires, pas des fichiers, ils sont traités légèrement différemment (en fait, ce ne sont même pas des répertoires normaux, ce sont des pointeurs comme le disait eL01, donc ils sont traités encore plus différemment que les répertoires normaux).
Lorsque vous créez un répertoire, deux entrées sont automatiquement créées:
.
pointe vers le répertoire nouvellement créé..
pointe vers le parent du nouveau répertoireDe toute évidence,
.
il aura la date et l'heure actuelles de création du répertoire, et bien qu'il puisse sembler logique que l'horodatage du répertoire parent soit copié..
, ce n'est pas ainsi que cela fonctionne. Lorsque vous créez un nouveau répertoire, les deux pointeurs reçoivent la date et l'heure actuelles. C'est le cas de DOS à Windows 7 sur FAT * et NTFS.la source
..
aurait l'horodatage du parent. (Je ne serais pas surpris qu'un jour, un nouveau système de fichiers - WinFS? - finisse par le faire de cette façon).En fait, je ne peux pas vous donner de preuve, mais je pense: chaque répertoire a une liste de répertoires et de fichiers qu'il contient. Pour permettre d'utiliser des chemins relatifs, chaque répertoire a besoin de ces deux pointeurs - un pour lui
.
- même et l'autre répertoire un niveau au..
- dessus - ces deux pointeurs sont juste créés au moment où le répertoire lui-même est créé.Ainsi, l'horodatage de
..
n'est en fait pas l'horodatage du répertoire ci-dessus mais l'horodatage du pointeur vers le répertoire ci-dessus.la source
..
entrée reçoit l'horodatage de la date et de l'heure actuelles lorsque le répertoire actuel est créé.