Linux как узнать дату создания файла
Перейти к содержимому

Linux как узнать дату создания файла

  • автор:

Как узнать дату и время создания файла в Linux?

Иногда вам может быть интересно узнать, когда файл был создан в системе Linux. В этом руководстве мы рассмотрим, как именно это сделать. Мы рассмотрим различные способы, с помощью которых можно узнать дату создания файла в системе Linux.

1. Проверить дату создания файла в Linux

Команда stat – это утилита командной строки, которая отображает подробную информацию о файле. Она выводит информацию, которая включает размер файла, UID (идентификатор пользователя), GID (идентификатор группы), доступ к файлу, время модификации и дату создания.

Чтобы проверить дату создания файла, просто выполните следующую команду, где sample1.txt – это имя файла

stat sample1.txt

В результате директива Birth показывает дату создания файла.

Чтобы уточнить дату создания файла, передайте -c %w аргументов, как показано на рисунке.

stat -c %w sample1.txt

Давайте внесем несколько изменений в файл, добавив содержимое с помощью команды echo.

echo "Some Text" >> sample1.txt

Просмотрев подробности файла, вы заметите, что поле Modify изменилось, указывая на то, что время модификации изменилось.

2. Отображение даты создания файла с помощью команды Debugfs

Другой способ проверки даты создания файла – это использование команды debugfs. Однако это многоэтапная операция и более сложная, чем команда stat.

Сначала нужно получить номер inode файла с помощью команды ls, показанной на рисунке.

ls -i sample1.txt

Далее, найдите раздел, в котором находится файл, с помощью команды df, показанной на рисунке

df ./sample1.txt

Наконец, выполните следующую команду debugfs, чтобы узнать дату создания файла.

sudo debugfs -R 'stat ' /dev/sda5

В поле crtime отображается время и дата создания файла.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Как в linux узнать точное время создания или изменения файла (чтобы секунды показывались)?

Пробовал разные файловые менеджеры: Dolphin, Krusader, mc. Ни у одного не нашёл где включить отображение секунд.

  • Вопрос задан более трёх лет назад
  • 14998 просмотров

5 комментариев

Оценить 5 комментариев

Rou1997

Из исходного кода соберите какой-нибудь из них. 🙂
Александр @popup91 Автор вопроса

Rou1997: Я не программист чтобы искать где там у них это реализуется.
Я просто пытаюсь с винды перейти на линукс. и вот такие вопросы получаются. просто в total commander так можно, а сунулся в линукс — ну никак. казалось бы, секнды хочу посмотреть, а такой облом сразу. )))

Rou1997

Александр: А для чего на него переходить?
Александр @popup91 Автор вопроса

Rou1997: Хороший вопрос)) Я сам на 100% ещё не решил. Просто хотелось попробовать. Я до сих пор ещё метаюсь с мыслями переходить или нет. например сегодня утром хотел переходить, а потом подумал, что лучше не надо. потом опять думаю что лучше перейти, а вот гдето пол часа назад опять решил что переходить не буду.

Дата создания файла в Linux

В свойствах файла в файловом менеджере Linux зачастую отображается только информация о дате последнего обращения к нему и дате изменения. Но вот дата создания там, к сожалению, отсутствует. А иногда нужно посмотреть именно ее, например, чтобы узнать, с какого момента ведется запись лога.

В данной статье мы расскажем о том, какие данные хранятся в файловых системах Linux и объясним, как узнать дату создания файла Linux . Будут упомянуты сразу же два удобных способа, каждый из которых со своими особенностями.

Дата создания файла Linux

В стандарте POSIX прописаны только 3 вида временных меток, которые должна хранить файловая система:

  • atime – время последнего обращения к файлу.
  • mtime – время последнего изменения содержимого.
  • ctime – время последней модификации прав доступа или владельца.

По этой причине в старых файловых системах посмотреть информацию о дате создания файла зачастую невозможно. А вот в современных файловых системах (ext4, zfs, XFS и т. д.) она уже сохраняется.

Данные о дате создания записываются в специальном поле:

Есть два удобных способа просмотра этой информации: с помощью утилиты stat и debugfs. Но первый способ подойдет не для всех дистрибутивов Linux. Второй способ – универсальный, но не такой простой в использовании. Разберемся с каждым из них по отдельности.

1. С помощью stat

Утилита stat выводит подробные сведения о файле. В том числе выводится дата создания файла Linux. Для ее запуска в терминале достаточно указать путь к файлу. Для примера посмотрим информацию про изображение pic_1.jpeg, хранящееся в каталоге /home/root-user/Pictures:

w+IiqFOkD0yMwAAAABJRU5ErkJggg==

Нужная информация записана в графе Создан. А с помощью опции -c получится задать определенные правила форматирования для вывода информации, например, оставив только нужную графу:

stat -c ‘%w’ /home/root-user/Pictures/pic_1.jpeg

wfg1axWkj0EwAAAAABJRU5ErkJggg= https://losst.pro/komanda-stat-v-linux

отдельной статье. Можете с ней ознакомиться.

2. С помощью debugfs

В отличие от утилиты stat, описанной в предыдущем разделе, у debugfs нет таких ограничений по версии. А значит, она будет работать всегда. Но и процедура использования у нее несколько более запутанная. Связано это с тем, что для просмотра даты создания файла через debugfs, нужно узнать номер его inode и файловую систему. Получить inode выйдет с помощью команды ls с опцией -i, указав путь к файлу:

ls -i /home/root-user/scripts/main_script.txt

kbjuEEK5LbK0K6LuAsQU4ZIWsXLUz9ZvcooY+rQ40HYtXfCCLOPe4xkiUvQHr092rnlO55aeZHmA0j6PD4BqQdBLtv8ej9TnrMPYvPVcUVz37alePamcD+sGl9ulKrXsee+ZPv8vdbZpu5IaHMAAAAAASUVORK5CYII=

А для просмотра файловой системы пригодится команда df:

CwwxO5M5TnclAAAAAElFTkSuQmCC

Теперь все нужные данные собраны, и можно переходить к использованию утилиты debugfs. Ей нужно передать опцию -R, указать номер inode, а затем название файловой системы:

sudo debugfs -R ‘stat ‘ /dev/sda5

UvBimUNcruQAAAAASUVORK5CYII https://losst.pro/wp-content/uploads/2022/03/data-sozdaniya-fayla-v-linux-8.png8BecyCvZGa4qkAAAAASUVORK5CYII=

Подробное разъяснение о том, что такое inode, есть в специальной статье на нашем сайте.

Выводы

Мы разобрали два способа посмотреть дату создания файла Linux. Утилита stat несколько более удобная, ведь для нее достаточно указать только путь к нему. Но она не будет отображать нужную информацию до версии 8.31 GNU coreutils. А debugfs в этом плане более универсальная, но не такая простая в использовании. Ведь для получения данных она требует ввода номера inode файла и его файловую систему.

[ ls ] Как узнать время создания файла?

Я в ступоре. Мне нужно сделать простое действие — распечатать список файлов, чтобы рядом с именем файла показывалось время его создания.

Документация по ls написана для экстрасенсов, а я им не являюсь.

# man ls
.
-l Выдавать (в одноколоночном формате) тип файла, права доступа к файлу, количество ссылок на файл, имя владельца, имя группы, размер файла (в байтах), временной штамп и имя файла.

По умолчанию, временной штамп является временем последней модификации; опции -c и -u позволяют выбрать два других временных штампа.
.

Можно только догадаться, что «-c» — это наверно «create», «-u» — это наверно «use». То есть, имеется в виду, что можно показать время создания, и время последнего использования (что подразумевается под использованием — тоже неясно).

Я пробую такие команды:

ls -l -c
ls -c -l
ls -lc
ls -cl

Все эти команды выводят список файлов с временем последней модификации файла, а не с временем создания.

Вопрос 1: как пользоваться опцией «-c»?

Вопрос 2: как увидеть время создания файла?

ЗЫЖ — я проверяю на файлах /tmp/Flash* с flv видеопотоком, создаваемые флешплагином фаирфокса.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *