Чи є "." та ".." записи в списку редакцій завжди однакові?


13

Коли буде "." та ".." записи в списку dir відрізняються? (Я розумію, що вони представляють два різні каталоги, але вони завжди вказують однаково з однаковою датою та часом у команді dir за замовчуванням. Чи вони колись відрізняються?)


1
Чи можете ви навести приклад (можливо, з екраном)
ChrisF

Відповіді:


26

Що стосується фактичного переліку:

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 ..виробляють однаковий вихід.


відповідь на суть, чудово.
ppuschmann

Відредагований, щоб наголосити на питанні, стосується їх появи у списку речей.
Захист свідків ID 44583292

@mike - спробував відповісти на переглянуте питання, щоб виправдати голоси;)
ChrisF

4
Це неправильно, оскільки ..не дається часова марка батьківського каталогу, вона задається часовою міткою поточного каталогу. Це тому, що .і ..обидва створюються при створенні каталогу.
Synetech

@Synetech - Ах! Краплі копійки
ChrisF

14

Ні, вони завжди будуть однаковими. Оскільки це каталоги, а не файли, вони обробляються дещо інакше (насправді це навіть не звичайні каталоги, вони - покажчики, як сказав eL01, тому вони обробляються навіть інакше, ніж звичайні каталоги).

Коли ви створюєте каталог, два записи автоматично створюються:

  • . вказує на щойно створений каталог
  • .. вказує на новий батьківський каталог

Очевидно, .буде мати поточну дату та час створення каталогу, і хоча це може здатися логічним для копіювання часової позначки батьківського каталогу .., це не так, як це працює. Коли ви створюєте новий каталог, обидва вказівники отримують поточну дату та час. Це стосується DOS через Windows 7 як на FAT *, так і на NTFS.


1
+1, оскільки, здається, ви були тим, хто придумав відповідь, яку зараз представляє ChrisF ;-)
Йонас Гейдельберг

@Jonas, насправді, відповідь КрісФ робить таке ж помилкове припущення, що і більшість людей: це ..матиме позначку часу батьків. (Я не був би здивований, якби одного дня нова файлова система - WinFS? - нарешті зробила б це так).
Synetech

Починаючи з його четвертої редакції, я б сказав, що він більше не робить цього припущення.
Йонас Гейдельберг

@Jonas, ах добре. Я не бачив змін. Ну добре, він все одно отримує нові голоси; Я думаю, що в цьому суть функції редагування.
Synetech

Я повинен був би зарахувати вас у цій останній редакції - я зроблю це зараз.
ChrisF

4

Я фактично не можу надати вам доказ, але я думаю: у кожному каталозі є список каталогів та файлів, які він містить. Щоб зробити можливим використовувати відносні шляхи, для кожного каталогу потрібні ці два вказівники - один до себе, .а інший на один рівень вище ..- ці два вказівники просто створюються під час створення самого каталогу.

Таким чином, часова марка ..насправді є не часовою позначкою каталогу вгорі, а часовою міткою вказівника на вказаний вище каталог.


Це правильно. ..Запис дається тимчасова міткою поточної дати і часу , коли створюються в поточному каталозі.
Synetech
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.