Data ostatniej modyfikacji katalogu

80

Zastanawiam się, kiedy zmieniła się data ostatniej modyfikacji katalogu. Zmodyfikowałem plik w określonym katalogu (przez FTP), ale LMD katalogu nie uległo zmianie. Jak to ma funkcjonować?

Alec Smart
źródło

Odpowiedzi:

126

Czas mtime (czas modyfikacji) w samym katalogu zmienia się po dodaniu, usunięciu lub zmianie nazwy pliku lub podkatalogu.

Modyfikacja zawartości pliku w katalogu nie zmienia samego katalogu ani nie aktualizuje czasów modyfikacji pliku lub podkatalogu. Jeśli zmienisz uprawnienia do katalogu, ctime zmieni się, ale mtime nie.

Jonathan Leffler
źródło
2
Czy jest modyfikowany, gdy modyfikowany jest podkatalog?
Flimm
6
@Flimm: zależy to od rodzaju modyfikacji w podkatalogu. Jeśli plik zostanie dodany lub usunięty z podkatalogu, to nie. Jeśli nazwa podkatalogu zostanie zmieniona, to tak (ponieważ nowa nazwa jest przechowywana w katalogu zawierającym podkatalog, więc „naprawdę” zmienia się wpis w katalogu głównym i nic się nie zmienia w podkatalogu).
Jonathan Leffler
7
@Asmageddon: jeśli coś jest modyfikowane na kilku poziomach, nie ma sposobu, aby wiedzieć, że od czasu modyfikacji katalogu kilka poziomów w górę. Pomyśl, co by to oznaczało - ostatecznie katalog główny musiałby zostać zmodyfikowany za każdym razem, gdy jakikolwiek plik zostałby zmodyfikowany w dowolnym miejscu, dzięki czemu jego i-węzeł w pamięci byłby punktem aktywnym dla każdego procesu, który kiedykolwiek zrobił coś z dowolnym plikiem.
Jonathan Leffler
5
@ cram2208: Czy Gedit tworzy plik kopii zapasowej w katalogu, plik blokady lub coś w tym rodzaju? Co się stanie, jeśli użyjesz touch somefilezamiast gedit?
Jonathan Leffler
3
@JonathanLeffler Dobre spostrzeżenia Powinienem powiedzieć, że teraz całkowicie rozumiem, co się dzieje. Był to plik kopii zapasowej w katalogu, a nie modyfikacja samego pliku. Podczas korzystania z dotyku na pliku faktycznie zmieniło się LMD pliku, ale nie katalogu. Muszę być bardziej ostrożny z takimi szczegółami ...
cram2208,
28

Katalog jest jak plik, który zawiera listę nazw plików, które się w nim znajdują (faktycznie, być może przypadkowo otworzyłeś katalog w edytorze, w którym widać, że jest to najczęściej czytelna lista jego zawartości) - więc jest modyfikowany kiedy plik w tym katalogu zostanie dodany, usunięty lub zmieniona zostanie jego nazwa.

Eter
źródło
1
Czy jest modyfikowany, gdy modyfikowany jest podkatalog?
Flimm
1
@Flimm Wydaje się, że aktualizuje tylko czas Mtime katalogu zawierającego, w przeciwnym razie pojawi się w katalogu głównym.
Nick Weaver
1
Poza zainteresowaniem, które redaktory pozwalają na bezpośrednie otwieranie katalogu? Większość (nawet edi cat) wydaje się narzekać lub zamiast tego oferuje listę plików do otwarcia.
naught101
@ naught101 vim całkiem szczęśliwie otworzy katalog.
Ether
5
@Ether: Nie "otwiera katalogu" tak, jak w rzeczywistości odczytuje dane i-węzła katalogu (lub cokolwiek innego w innych systemach plików). Po prostu zapewnia przeglądarkę plików dla tego katalogu.
naught101