TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #3047 9.01K
​​Решил создать небольшую шпаргалку по информации о файлах в Linux. Я очень часто сам путаюсь в некоторых понятиях. Например, в modify и change. Вроде одно и то же, но на самом деле нет.

Посмотреть информацию о файле можно с помощью утилиты stat:

# stat file.txt
 File: file.txt
 Size: 3      Blocks: 8     IO Block: 4096  regular file
Device: fe00h/65024d Inode: 657571   Links: 1
Access: (0644/-rw-r--r--) Uid: (  0/  root)  Gid: (  0/  root)
Access: 2023-08-22 00:31:39.446518364 +0300
Modify: 2023-08-22 00:30:55.460753550 +0300
Change: 2023-08-22 00:30:55.460753550 +0300
Birth: 2023-08-22 00:30:45.778142819 +0300

1️⃣ Birth (crtime). С временем создания всё понятно. Это время создания иноды файла. Нужно обязательно учитывать файловую систему. Не везде stat показывает эту информацию. Я в заметке буду иметь ввиду ext4 и xfs.

2️⃣ Access (atime). С доступом вроде бы тоже всё просто. Если вы откроете файл для просмотра и проверите его после этого командой stat, время доступа изменится на момент открытия файла. Но тут есть существенные нюансы. Метка atime зависит от опций, с которыми смонтирована файловая система.
▪ noatime, если указан этот параметр, то время доступа к файлу не обновляется при просмотре.
▪ relatime, с этим параметром обновление поля access будет только если atime меньше времени последнего изменения файла или если с предыдущего обновления прошло больше 24 часов. Этот параметр включён в набор defaults, который используется по умолчанию для монтирования файловых систем. То есть фактически вы время доступа знать не будете, если оно было чаще одного раза в последние 24 часа. Проверить это легко. Создайте файл и проверьте atime. Далее откройте файл один раз и проверьте ещё раз. Время изменится. А вот если вы проверите ещё один раз, то время не изменится, а останется то же, что было при первом просмотре.

3️⃣ Modify (mtime) - время последнего изменения содержимого файла.

4️⃣ Change (ctime) - время последнего изменения метаданных файла в файловой системе. Например, после использования утилиты chown или chmod для изменения прав и владельца файла, ctime изменится, но при этом изменения содержимого не происходит. Если в каталоге создать новый подкаталог, то ctime исходного изменится.

Лично я последние два понятия часто путаю. У меня в голове постоянно возникает ассоциация, что изменение содержимого это change. Оно и понятно, в результате перевода change и modify на русский язык получаются слова синонимы. Так что тут приходится жёстко запоминать разницу.

Чётко понимать, что значат эти обозначения, очень важно, когда используешь find для поиска с различными параметрами. Я даже в своих заметках ошибался, когда писал про это. Например, в одной из заметок ctime обозначил как время создания файла. Ну и до кучи добавлю несколько заметок про find (один, два, три). Там много полезных примеров, которые я привёл из своих шпаргалок, которые лично использую.

#linux
  • 👍 132
  • 👎 1
More from @srv_admin
  1. Sep 25, 2026▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересны…
  2. Sep 25, 2026Девопсы, сисадмины, архитекторы, техлиды (и вообще все, кто принимает технические или бизн…
  3. Sep 25, 2026Подписчик поделился полезным проектом - Webtop. Это Linux дистрибутив с графикой, упакован…
  4. Sep 24, 2026Траблшутинг - мастхэв компетенция для инженера В Rebrain траблшутинги проводят уже несколь…
  5. Sep 23, 2026Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает,…
  6. Sep 23, 2026Контейнеры в одном инструменте, виртуалки — в другом, частное облако — вообще отдельная ис…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →