¿Cuándo sería el "." y las entradas ".." en una lista de directorios difieren? (Entiendo que representan dos directorios diferentes, pero siempre se enumeran de forma idéntica con la misma fecha y hora en un comando dir predeterminado. ¿Alguna vez difieren?)
13
Respuestas:
En cuanto a la lista real:
Están utilizando la fecha del directorio actual para ambos. Si comienza en
C:\Users\Chris
(digamos), puede obtener lo anterior. Pero cuando subesC:\Users
, obtienes:Entonces, la fecha de
..
en el primer caso no es la misma que la fecha.
en el segundo. Lo que aparentemente es incorrecto ya que son (o deberían ser) el mismo directorio. Sin embargo,.
y..
son referencias al directorio actual y principal y ambos se crean al mismo tiempo, cuando se creó el directorio, por lo que es realmente correcto (gracias a Synetech inc por señalar esto)El único momento en que las marcas de tiempo serían diferentes es si una u otra de
.
o..
fueron recreadas.La respuesta original:
.
significa el directorio actual...
significa el directorio padre.Entonces, en circunstancias normales, siempre son diferentes.
La única vez que producen el mismo resultado es cuando estás en la raíz del disco. Entonces en
C:\>
dir .
ydir ..
producir la misma salida.fuente
..
no se le da la marca de tiempo del directorio principal, se le da la marca de tiempo del directorio actual. Esto se debe.
y..
se crean tanto cuando se crea el directorio.No, siempre serán lo mismo. Debido a que estos son directorios, no archivos, se manejan de manera ligeramente diferente (de hecho, ni siquiera son directorios normales, son punteros como dijo eL01, por lo que se manejan de manera aún más diferente que los directorios normales).
Cuando crea un directorio, se crean automáticamente dos entradas:
.
apunta al directorio recién creado..
apunta al padre del nuevo directorioObviamente
.
tendrá la fecha y hora actuales en que se creó el directorio, y si bien puede parecer lógico copiar la marca de tiempo del directorio principal..
, no es así como funciona. Cuando crea un nuevo directorio, ambos punteros reciben la fecha y hora actuales. Este es el caso de DOS a través de Windows 7 en FAT * y NTFS.fuente
..
tendría la marca de tiempo del padre. (No me sorprendería si algún día, un nuevo sistema de archivos, ¿WinFS?, Finalmente lo hiciera de esa manera).En realidad no puedo darte pruebas, pero creo que: cada directorio tiene una lista de directorios y archivos que contiene. Para que sea posible utilizar rutas relativas, cada directorio necesita esos dos punteros , uno para sí mismo
.
y el otro directorio un nivel superior..
, esos dos punteros se crean en el momento en que se crea el directorio.Por lo tanto, la marca de tiempo de en
..
realidad no es la marca de tiempo del directorio anterior, sino la marca de tiempo del puntero al directorio anterior.fuente
..
entrada recibe la marca de tiempo de la fecha y hora actuales cuando se crea el directorio actual.