Какова дата изменения отчетов ls для каталогов в оболочке Bash?

когда я запускаю ls -l в bash shell указывается время модификации файлов и каталогов. Как отмечено в этой теме, время изменения для каталогов не отражает все его содержимое. Это также, кажется, не затронуто изменением имени каталога. Что именно отражает время изменения каталога?

это время последнего изменения файла (или каталога) на верхнем уровне каталога?

18
задан Community
07.12.2022 20:09 Количество просмотров материала 2494
Распечатать страницу

2 ответа

обратите внимание, что в Unix каталог не "содержит" файлы в нем. Скорее, он содержит ссылки на них. Смотрите link(2) системный вызов для получения дополнительной информации.

Это означает, что "прямые" содержимое каталога представляет собой список имен файлов и соответствующих i-числа. Поэтому дата изменения каталога указывает, когда этот список изменился. Операции, которые могут вызвать такие изменения будут включать, но не обязательно ограничиваться следование:

  • создание нового файла в каталоге
  • удаление (или, скорее, unlink(2)ing) файл из директории
  • переименование файла в директории
  • жесткая компоновка файла в другом месте каталога
9
отвечен Dolda2000 2022-12-09 03:57

думайте о каталоге как о простом файле, содержащем список других файлов. Всякий раз, когда вы изменяете его содержимое (переименовываете файлы, добавляете или удаляете содержащиеся файлы), время изменения каталога изменяется.

3
отвечен stant 2022-12-09 06:14

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх