ディレクトリの最終更新日


80

ディレクトリの最終更新日がいつ変更されるのか疑問に思っています。特定のディレクトリ内のファイルを(FTP経由で)変更しましたが、ディレクトリのLMDは変更されませんでした。どのように機能すると思いますか?

回答:


126

ファイルまたはサブディレクトリが追加、削除、または名前変更されると、ディレクトリ自体のmtime(変更時間)が変更されます。

ディレクトリ内のファイルの内容を変更しても、ディレクトリ自体は変更されません。また、ファイルまたはサブディレクトリの変更時刻も更新されません。ディレクトリのアクセス許可を変更すると、ctimeは変更されますが、mtimeは変更されません。


2
サブディレクトリが変更されると変更されますか?
Flimm 2013

6
@Flimm:サブディレクトリへの変更の性質によって異なります。ファイルがサブディレクトリに追加またはサブディレクトリから削除された場合、いいえ。サブディレクトリの名前が変更された場合は、はい(新しい名前はサブディレクトリを保持するディレクトリに保存されるため、「実際に」変更されるのはメインディレクトリのエントリであり、サブディレクトリでは何も変更されないため)。
ジョナサンレフラー2013

7
@Asmageddon:何かが数レベル深く変更された場合、ディレクトリの変更時から数レベル上にあることを知る方法はありません。それが何を伴うかを考えてください。最終的には、ファイルがどこかで変更されるたびにルートディレクトリを変更する必要があり、そのメモリ内のiノードはファイルを処理するすべてのプロセスのホットスポットになります。
ジョナサンレフラー2014年

5
@ cram2208:Geditは、ディレクトリ内にバックアップファイル、ロックファイル、またはそのようなものを作成しますか?touch somefile代わりにを使用するとgeditどうなりますか?
ジョナサンレフラー2017

3
@JonathanLeffler良い洞察を言うべきです、私は今何が起こっていたかを完全に理解しています。これはディレクトリ内のバックアップファイルであり、ファイル自体の変更ではありませんでした。ファイルにタッチを使用すると、実際にはファイルのLMDが変更されましたが、ディレクトリは変更されませんでした。お奨めは...詳細のこれらの種類の詳細に注意してください
cram2208

28

ディレクトリは、ファイル名のリストを含むファイルのようなものです(実際、エディタで誤ってディレクトリを開いた可能性があります。その内容のほとんどが読み取り可能なリストであることがわかります)。したがって、ディレクトリは変更されます。そのディレクトリ内のファイルが追加、削除、または名前変更されたとき。


1
サブディレクトリが変更されると変更されますか?
Flimm 2013

1
@Flimm含まれているディレクトリのmtimeのみを更新するようです。更新しないと、ルートにバブルアップします。
ニックウィーバー2014

1
興味深いことに、ディレクトリを直接開くことができるエディタはどれですか?ほとんど(edともcat)は文句を言うか、代わりに開くファイルのリストを提供しているようです。
naught101 2017年

@ naught101vimは非常に喜んでディレクトリを開きます。
Ether 2017年

5
@Ether:ディレクトリのiノードのデータ(または他のファイルシステムで同等のもの)を実際に読み取る場合のように、「ディレクトリを開く」ことはありません。そのディレクトリにファイルブラウザを提供するだけです。
naught101 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.