Коли буде "." та ".." записи в списку dir відрізняються? (Я розумію, що вони представляють два різні каталоги, але вони завжди вказують однаково з однаковою датою та часом у команді dir за замовчуванням. Чи вони колись відрізняються?)
Коли буде "." та ".." записи в списку dir відрізняються? (Я розумію, що вони представляють два різні каталоги, але вони завжди вказують однаково з однаковою датою та часом у команді dir за замовчуванням. Чи вони колись відрізняються?)
Відповіді:
Що стосується фактичного переліку:
27/08/2011 11:23 <DIR> .
27/08/2011 11:23 <DIR> ..
Вони використовують дату поточного каталогу для обох. Якщо ви почнете C:\Users\Chris(скажете), ви можете отримати вище. Але коли ви піднімаєтесь, C:\Usersви отримуєте:
26/07/2011 21:20 <DIR> .
26/07/2011 21:20 <DIR> ..
Отже дата ..в першому випадку не така, як дата .у другому. Що, мабуть, неправильно, оскільки вони (або повинні бути) одного і того ж каталогу. Тим НЕ менше, .і ..посилання на поточний і батьківський каталог і обидва створені в той же час - коли каталог був створений - так це на самому справі правильно (спасибі Synetech інк за вказівку на це)
Єдиний час, коли часові позначки будуть різними - це відтворення .або ..відтворення одного чи іншого .
Оригінальна відповідь:
. означає поточний каталог.
.. означає батьківський каталог.
Тож за звичайних обставин вони завжди різні.
Єдиний раз, коли вони дають той же результат, це коли ви знаходитесь в корені диска. Тож C:\> dir .і dir ..виробляють однаковий вихід.
..не дається часова марка батьківського каталогу, вона задається часовою міткою поточного каталогу. Це тому, що .і ..обидва створюються при створенні каталогу.
Ні, вони завжди будуть однаковими. Оскільки це каталоги, а не файли, вони обробляються дещо інакше (насправді це навіть не звичайні каталоги, вони - покажчики, як сказав eL01, тому вони обробляються навіть інакше, ніж звичайні каталоги).
Коли ви створюєте каталог, два записи автоматично створюються:
. вказує на щойно створений каталог.. вказує на новий батьківський каталогОчевидно, .буде мати поточну дату та час створення каталогу, і хоча це може здатися логічним для копіювання часової позначки батьківського каталогу .., це не так, як це працює. Коли ви створюєте новий каталог, обидва вказівники отримують поточну дату та час. Це стосується DOS через Windows 7 як на FAT *, так і на NTFS.
..матиме позначку часу батьків. (Я не був би здивований, якби одного дня нова файлова система - WinFS? - нарешті зробила б це так).
Я фактично не можу надати вам доказ, але я думаю: у кожному каталозі є список каталогів та файлів, які він містить. Щоб зробити можливим використовувати відносні шляхи, для кожного каталогу потрібні ці два вказівники - один до себе, .а інший на один рівень вище ..- ці два вказівники просто створюються під час створення самого каталогу.
Таким чином, часова марка ..насправді є не часовою позначкою каталогу вгорі, а часовою міткою вказівника на вказаний вище каталог.
..Запис дається тимчасова міткою поточної дати і часу , коли створюються в поточному каталозі.