dirリストの「。」と「..」のエントリは常に同じですか?


13

「。」はいつ dirリストのエントリと「..」エントリ異なりますか?(これらは2つの異なるディレクトリを表していると理解していますが、デフォルトの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>          ..

したがって、..最初のケースの日付は.、2番目のケースの日付と同じではありません。それらは同じディレクトリである(またはそうあるべきである)ため、明らかに間違っています。ただし、.および..は現在および親ディレクトリへの参照であり、両方が同時に作成されます-ディレクトリが作成されたときに-それは実際に正しいです(これを指摘してくれたSynetech incに感謝します)

タイムスタンプが異なるのは、.どちらかまたは..再作成された場合のみです。


元の答え:

. 現在のディレクトリを意味します。

.. 親ディレクトリを意味します。

したがって、通常の状況では、それらは常に異なります。

同じ結果が得られるのは、ディスクのルートにいるときだけです。で、同じ出力C:\> dir .dir ..生成します。


ポイントに答えて、素晴らしい。
ppuschmann

質問を強調するために編集され、dirリストでの外観に関するものです。
証人保護ID 44583292

@mike-投票を正当化するために改訂された質問に答えようとしました;)
ChrisF

4
それは間違っ..ています。親ディレクトリのタイムスタンプが与えられず、現在のディレクトリのタイムスタンプが与えられるからです。これは、ディレクトリの作成時に...が作成されるためです。
Synetech

@Synetech-ああ!ペニーのドロップ
ChrisF

14

いいえ、それらは常に同じです。これらはファイルではなくディレクトリであるため、わずかに異なる方法で処理されます(実際、通常のディレクトリではなく、eL01 が示すようにポインタであるため、通常のディレクトリとはさらに異なる方法で処理されます)。

ディレクトリを作成すると、2つのエントリが自動的に作成されます。

  • . 新しく作成されたディレクトリを指します
  • .. 新しいディレクトリの親を指します

明らかに.、ディレクトリが作成された現在の日付と時刻があり、親ディレクトリのタイムスタンプがにコピーされるのは論理的に見えるかもしれ..ませんが、それは動作しません。新しいディレクトリを作成すると、両方のポインターが現在の日付と時刻を受け取ります。これは、DOSからFAT *とNTFSの両方でWindows 7を使用する場合です。


1
+1は、あなたがChrisFが現在提示している答えを考え出しているようだからです;
ジョナスハイデルバーグ

@Jonas、実際には、ChrisFの答えは、ほとんどの人がそうするのと同じ誤った仮定をし..ます。それは親のタイムスタンプを持っているでしょう。(いつか新しいファイルシステム(WinFS?)が最終的にそのようになったとしても驚かないでしょう)。
Synetech

彼の4回目の改訂から始めて、私は彼がそれ以上その仮定をしないと言うだろう。
ジョナスハイデルベルク

@ジョナス、大丈夫。編集が表示されませんでした。とにかく、彼はとにかく新しい投票権を得ています。これが編集機能のポイントだと思います。
Synetech

その最新の改訂版であなたにクレジットするべきでした-私は今そうします
ChrisF

4

私は実際に証明することはできませんが、私は思う:すべてのディレクトリには、ディレクトリとそれに含まれるファイルのリストがあります。相対パスを使用できるようにするには、すべてのディレクトリに2つのポインターが必要です(1つはそれ自体.へ、もう1つは1レベル上のディレクトリー)。..これら2つのポインターは、ディレクトリー自体の作成時に作成されます。

したがって、..実際のタイムスタンプは上のディレクトリのタイムスタンプではなく、上のディレクトリへのポインタのタイムスタンプです。


それは正しいです。..現在のディレクトリが作成されたときのエントリは、現在の日付と時刻のタイムスタンプが与えられています。
Synetech
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.