- Как узнать время последнего доступа и изменения файла в Debian, Ubuntu, CentOS, Linux ?
- 2 Replies to “Как узнать время последнего доступа и изменения файла в Debian, Ubuntu, CentOS, Linux ?”
- Добавить комментарий Отменить ответ
- 🐧 Как узнать время и дату изменения файла в системах Linux
- Получение даты последнего изменения файла в Linux с помощью команды date
- Получение даты последнего изменения файла в Linux с помощью команды ls
- Получение даты последнего изменения файла в Linux с помощью команды stat
- Получение даты последнего изменения файла в Linux с помощью команды midnight commander
- Заключение
- Получить дату последнего изменения файла в Linux
- Получить дату последнего изменения файла в Linux с помощью команды date
- Получить дату последнего изменения файлов в Linux с помощью команды ls
- Узнать дату последнего изменения файла в Linux с помощью stat
- Заключение
- linux-notes.org
- Добавить комментарий Отменить ответ
- Linux посмотреть дату модификации файла
Как узнать время последнего доступа и изменения файла в Debian, Ubuntu, CentOS, Linux ?
Linux имеет богатый набор команд для управления и доступом к файлам. Утилита stat дает подробную информацию о доступе к файлу, в том числе время последнего доступа и время последнего изменения файла. В окне терминала выполните команду с таким синтаксисом:
Вот пример проверки на одной из моих машин:
# stat scalextreme-x86_64.deb File: `scalextreme-x86_64.deb’ Size: 5591490 Blocks: 10952 IO Block: 4096 regular file Device: ca01h/51713d Inode: 56444919 Links: 1 Access: (0644/-rw-r—r—) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2012-11-12 18:02:39.000000000 +0200 Modify: 2012-11-12 17:49:50.000000000 +0200 Change: 2012-11-12 17:49:50.000000000 +0200
Аналогично работает с директориями:
# stat bacula-5.2.12 File: `bacula-5.2.12′ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: ca01h/51713d Inode: 56442900 Links: 11 Access: (0775/drwxrwxr-x) Uid: ( 1000/ zale) Gid: ( 1000/ zale) Access: 2012-12-14 00:05:04.000000000 +0200 Modify: 2012-10-11 00:31:30.000000000 +0300 Change: 2012-10-11 00:31:30.000000000 +0300
2 Replies to “Как узнать время последнего доступа и изменения файла в Debian, Ubuntu, CentOS, Linux ?”
Как отключить время последнего доступа к файлам на разделе?
опция noatime при монтировании раздела
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
🐧 Как узнать время и дату изменения файла в системах Linux
В этом туториале показаны 4 простых способа получения даты последнего изменения файла в Linux.
Прочитав это руководство, вы будете знать, как проверить дату последней модификации файла с помощью команд ls, date и stat и бонус метод с MC.
Получение даты последнего изменения файла в Linux с помощью команды date
Первый способ узнать дату последней модификации файла в Linux, описанный в этой статье, основан на команде date.
Когда за командой date следует флаг -r, она показывает нам дату последней модификации файла.
Следующий пример показывает синтаксис для использования команды date, где itisgood – файл, дату последней модификации которого я хочу вывести.
Как вы можете видеть, вывод очень удобен для пользователя и включает дату и время последней модификации файла.
Для получения дополнительной информации о команде date посетите сайт https://man7.org/linux/man-pages/man1/date.1.html.
Получение даты последнего изменения файла в Linux с помощью команды ls
Второй метод, описанный в этом руководстве, объясняет, как получить дату последнего изменения файла с помощью команды ls.
Сначала используем команду ls с флагом -l, как показано на скриншоте ниже.
Флаг -l указывает команде ls вывести список файлов в длинном формате.
Список в длинном формате включает дату последней модификации файла.
Как вы можете видеть, в первом столбце показаны права, во втором и третьем – пользователи и группы файлов.
Четвертый столбец – размер.
Затем вы можете увидеть месяц, день и время, когда файл был изменен.
В отличие от предыдущего метода с ls, вы получите список всех файлов в каталоге, включая даты их модификации.
Для упорядоченного вывода вы можете добавить флаг -t.
Флаг -t выведет упорядоченный по дате модификации вывод, показывая сначала последние измененные файлы.
как вы видите, последние измененные файлы теперь отображаются первыми.
Команда ls также позволяет проверить дату последней модификации файла по отдельности; для этого просто укажите имя файла, как показано ниже.
Получение даты последнего изменения файла в Linux с помощью команды stat
Третий метод получения даты последней модификации файла в Linux, описанный в этой статье, показывает, как использовать команду stat для достижения этого результата.
Синтаксис довольно прост; просто запустите команду stat, за которой следует имя файла, дату последнего изменения которого вы хотите узнать, как показано в примере ниже.
Как вы можете видеть, вывод показывает больше информации, чем предыдущие команды.
Важно различать даты модификации и изменения.
Строка с именем Modify показывает последний раз, когда файл был изменен.
Строка с именем Change показывает последний раз, когда статус файла изменился; статус включает изменение прав, изменение владельца и т.д.
Вы можете выполнить приведенную ниже команду, чтобы получить в выводе только время модификации, опуская остальную информацию.
Получение даты последнего изменения файла в Linux с помощью команды midnight commander
Вы также можете запустить mc в каталоге, где лежит нужный нам файл и посмотреть дату изменения:
Заключение
Это руководство показывает, что получить дату последнего изменения файла в Linux можно с помощью различных простых методов.
Ни один из описанных методов не имеет особых преимуществ; все они могут быть реализованы легко и без установки дополнительных пакетов.
Для этого руководства я использовал Debian, но все описанные здесь команды доступны во всех дистрибутивах Linux.
Все описанные команды имеют дополнительные возможности, о которых вы можете узнать, прочитав man-страницы, указанные в конце каждого раздела.
Источник
Получить дату последнего изменения файла в Linux
Главное меню » Debian » Получить дату последнего изменения файла в Linux
Получить дату последнего изменения файла в Linux с помощью команды date
Первый способ узнать дату последней модификации файла в Linux, описанный в этой статье, основан на команде date. Когда за датой команды следует флаг -r, он показывает нам дату последней модификации файла.
В следующем примере показан синтаксис для использования команды date, где andreyex – это файл, дату последнего изменения которого мы хотим напечатать.
Как видите, вывод очень удобен и включает дату и время последней модификации файла.
Получить дату последнего изменения файлов в Linux с помощью команды ls
Второй метод, описанный в этом руководстве, объясняет, как получить дату последнего изменения файла с помощью команды ls.
Во-первых, давайте воспользуемся командой ls, за которой следует флаг -l , как показано на скриншоте ниже. Флаг -l указывает, что команда ls напечатать длинный список форматов файлов. Список длинных форматов включает дату последнего изменения файла.
Как видите, первый столбец показывает разрешения, второй и третий столбцы показывают пользователей и группы файлов. Четвертый столбец – размер. Затем вы можете увидеть месяц, день и время, когда файл был изменен. В отличие от предыдущего метода с ls, вы получите список всех файлов в каталоге, включая даты их изменения.
Для упорядоченного вывода вы можете добавить флаг -t. Флаг -t распечатает вывод, упорядоченный по дате модификации, показывая сначала последние измененные файлы, как показано на следующем изображении.
Как вы теперь видите, последние измененные файлы теперь отображаются первыми.
Команда ls также позволяет вам проверять дату последнего изменения файла индивидуально; для этого просто укажите имя файла, как показано ниже.
Как видите, этот вывод более удобен для пользователя, если вы хотите проверить только один файл.
Узнать дату последнего изменения файла в Linux с помощью stat
Третий метод получения даты последней модификации файла в Linux, описанный в этой статье, показывает, как использовать для этой цели команду stat.
Синтаксис довольно прост; просто запустите команду stat, за которой следует имя файла, дату последнего изменения которого вы хотите узнать, как показано в примере ниже.
Как видите, вывод показывает больше информации, чем предыдущие команды. Важно различать даты модификации и изменения. Строка с именем Modify показывает нам последний раз, когда файл был изменен. Строка с названием «Modify» показывает, когда в последний раз изменялся статус файла; статус включает изменение разрешений, смену владельца и т. д. Вы можете выполнить команду ниже, чтобы получить в выводе только время модификации, опуская остальную информацию.
Как видите, вывод ограничен датой последнего изменения.
Команда stat также позволяет нам проверять несколько файлов одновременно, как показано в примере ниже, в котором проверяются файлы с именами andreyex и andreyexfile.
Теперь мы получаем информацию о двух указанных файлах.
Заключение
В этой статье показано, что получить дату последнего изменения файла в Linux можно разными простыми способами. Ни один из описанных методов не дает особых преимуществ; все они могут быть легко реализованы без установки дополнительных пакетов. В этой статье мы использовали Debian, но все описанные здесь команды доступны во всех дистрибутивах Linux.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
linux-notes.org
Иногда, нужно найти все измененные файлы или папки в Unix/Linux ОС и в моей статье «Поиск последних измененных файлов/папок в Unix/Linux» я расскажу как это сделать.
Чтобы найти все файлы, которые были изменены с момента определенного времени (т.е. час назад, день назад, 24 часа назад и так далее) в Unix и Linux имеется команда find и она очень пригодиться для таких целей.
Чтобы найти все файлы, которые были изменены в течение последних 24 часов (последний полный день) в текущем каталоге и в его подкаталогах, используйте:
Опция «-mtime -1» сообщает команде find искать модифицированные файлы за последние сутки (24 часа).
Опция «-print» сообщает «find» выводить файлы и их пути (где они лежат) и данную команду можно заменить на «-ls» если нужно вывести подробную информацию о файле.
Примеры:
Например нужно найти файлы, что были изменены за последние 30 минут в папке /home/captain:
И приведу пример подобного, но для папки:
Например нужно найти измененные файлы за 5 дней, но не включать в поиск вчерашний день (за последний день):
Для полного счастья, можно вывести время модификации и отсортировать по нему:
Чтобы ограничить уровень вложенности, добавьте параметр «-depth». Например, поиск с уровнем вложенности не более 3 папок:
Поиск файлов в /home/captain директории (и во всех ее подпапках) которые были изменены в течение последних 60 минут, и вывести их атрибуты:
В качестве альтернативы, вы можете использовать xargs команду, чтобы достичь того же:
Поиск последних измененных файлов/папок в Unix/Linux завершен.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
Linux посмотреть дату модификации файла
Исторически так сложилось, что man-страница команды ls и встроенная помощь по команде ls —help не содержат сведений о том, как посмотреть разные времена действий с файлами. Точнее, сведения эти неполные.
На файловой системе extX (где X- это число) обычно хранится следующая временн а я информация:
- crtime (create time, не путать с ctime! ) — время создания файла
- mtime (modification time) — время последнего изменения файла, каталога
- atime — (access time) — время последнего доступа к файлу, каталогу
- ctime — (change time, не путать с crtime! ) — время последнего изменения атрибутов файла, каталога (данных из в inode-области)
- dtime (delete time) — время удаления файла
Однако документация на ls говорит, что можно получить следующие сведения:
—time=WORD with -l, show time as WORD instead of default
modification time: atime or access or use (-u)
ctime or status (-c); also use specified time
as sort key if —sort=time
Отсюда мы имеем, что mtime (время модификации) отображается в команде ls -l по-умолчанию:
drwxr-xr-x 2 www-data www-data 4096 May 1 2016 helpers
-rw-rw-rw- 1 www-data www-data 5871 May 1 2016 Plugin_Articles.php
-rw-rw-rw- 1 www-data www-data 241 Sep 3 2010 Plugin_Empty.php
-rw-rw-rw- 1 www-data www-data 3077 May 1 2016 Plugin_Gallery.php
-rw-rw-rw- 1 www-data www-data 10318 Apr 30 2016 Plugin_Guestbook_Captcha.php
-rw-rw-rw- 1 www-data www-data 12054 Mar 7 14:06 Plugin_Guestbook.php
Время последнего доступа к файлу/каталогу atime можно посмотреть командой:
drwxr-xr-x 2 www-data www-data 4096 Mar 9 05:02 helpers
-rw-rw-rw- 1 www-data www-data 5871 Mar 9 05:02 Plugin_Articles.php
-rw-rw-rw- 1 www-data www-data 241 Mar 9 05:02 Plugin_Empty.php
-rw-rw-rw- 1 www-data www-data 3077 Mar 9 05:02 Plugin_Gallery.php
-rw-rw-rw- 1 www-data www-data 10318 Mar 9 05:02 Plugin_Guestbook_Captcha.php
-rw-rw-rw- 1 www-data www-data 12054 Mar 9 05:02 Plugin_Guestbook.php
Здесь видно, что срабатывало ночное архивирование в 5:02. А если просто открыть один файл на просмотр, то после такого действия получим:
drwxr-xr-x 2 www-data www-data 4096 Mar 9 05:02 helpers
-rw-rw-rw- 1 www-data www-data 5871 Mar 10 10:31 Plugin_Articles.php
-rw-rw-rw- 1 www-data www-data 241 Mar 9 05:02 Plugin_Empty.php
-rw-rw-rw- 1 www-data www-data 3077 Mar 9 05:02 Plugin_Gallery.php
-rw-rw-rw- 1 www-data www-data 10318 Mar 9 05:02 Plugin_Guestbook_Captcha.php
-rw-rw-rw- 1 www-data www-data 12054 Mar 9 05:02 Plugin_Guestbook.php
Время последнего изменения атрибутов файла/каталога (изменений в inode) ctime узнается так:
drwxr-xr-x 2 www-data www-data 4096 May 8 2016 helpers
-rw-rw-rw- 1 www-data www-data 5871 May 8 2016 Plugin_Articles.php
-rw-rw-rw- 1 www-data www-data 241 May 8 2016 Plugin_Empty.php
-rw-rw-rw- 1 www-data www-data 3077 May 8 2016 Plugin_Gallery.php
-rw-rw-rw- 1 www-data www-data 10318 May 8 2016 Plugin_Guestbook_Captcha.php
-rw-rw-rw- 1 www-data www-data 12054 Mar 7 14:06 Plugin_Guestbook.php
Но у нас еще остались crtime и dtime . Как их узнать? Можно попробовать команду:
# ls -l —time=crtime
ls: invalid argument ‘crtime’ for ‘—time’
Valid arguments are:
— ‘atime’, ‘access’, ‘use’
Ошибка. Но вот что интересно. Оказывается, команда ls поддерживает не только atime , ctime и mtime (по умолчнию). Есть еще какие-то загадочные access , use , status . И что они обозначают, в документации ls не написано. И кроме того, непонятно как посмотреть crtime и dtime .
Долгие ковыряния в интернете показали, что, в Linux все очень запутано. Например, в ext3 время создания crtime вообще не хранится. А в ext4 хранится, но его невозможно напрямую посмотреть через ls. Для ext4 рекомендуют применять следующий трюк:
1. Узнать номер i-ноды файла через опцию -i , например:
385631 drwxr-xr-x 2 www-data www-data 4096 May 1 2016 helpers
385633 -rw-rw-rw- 1 www-data www-data 5871 May 1 2016 Plugin_Articles.php
385634 -rw-rw-rw- 1 www-data www-data 241 Sep 3 2010 Plugin_Empty.php
385629 -rw-rw-rw- 1 www-data www-data 3077 May 1 2016 Plugin_Gallery.php
385638 -rw-rw-rw- 1 www-data www-data 10318 Apr 30 2016 Plugin_Guestbook_Captcha.php
385637 -rw-rw-rw- 1 www-data www-data 12054 Mar 7 14:06 Plugin_Guestbook.php
2. Найти информацию об i-ноде данного файла:
# debugfs -R ‘stat ‘ /dev/sda1
Inode: 385633 Type: regular Mode: 0666 Flags: 0x80000
Generation: 3970661518 Version: 0x00000000:00000001
User: 33 Group: 33 Size: 5871
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 16
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x572f7053:875a9d88 — Sun May 8 19:58:59 2016
atime: 0x58c25640:80cad680 — Fri Mar 10 10:31:12 2017
mtime: 0x57260da3:00000000 — Sun May 1 17:07:31 2016
crtime: 0x572f6fa8:65ca9a70 — Sun May 8 19:56:08 2016
Size of extra inode fields: 28
Да, номер ноды вот так, с угловыми скобками, и надо писать. В полученной информации видно время crtime . И что интересно, оно почти совпадает с временем ctime .
Почему оно совпадает? Потому что с момента создания файла никакие атрибуты файла не менялись. Почему почти совпадает? Могу предположить, что при копировании файлов файлы сначала копируются, а потом им назначаются атрибуты или устанавливается содержимое. Вот, например, какое время у файла /etc/networks:
ctime: 0x56a233b8:3ac960a0 — Fri Jan 22 16:50:48 2016
atime: 0x58c264eb:43bd7fb8 — Fri Mar 10 11:33:47 2017
mtime: 0x56a233b8:3ac960a0 — Fri Jan 22 16:50:48 2016
crtime: 0x56a233b0:54892ca0 — Fri Jan 22 16:50:40 2016
Здесь видно, что время создания crtime — самое первое на временной шкале. Остальные времена отличаются на секунды.
Теперь, если поменять, например, права доступа файла Plugin_Articles.php , то можно увидеть:
Inode: 385633 Type: regular Mode: 0755 Flags: 0x80000
Generation: 3970661518 Version: 0x00000000:00000001
User: 33 Group: 33 Size: 5871
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 16
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x58c262ee:19ffcde0 — Fri Mar 10 11:25:18 2017
atime: 0x58c25640:80cad680 — Fri Mar 10 10:31:12 2017
mtime: 0x57260da3:00000000 — Sun May 1 17:07:31 2016
crtime: 0x572f6fa8:65ca9a70 — Sun May 8 19:56:08 2016
Size of extra inode fields: 28
Теперь crtime и ctime содержат совсем разные даты. Так и должно быть.
Хинт! Можно не долбаться с i-node, а воспользоваться просто именем файла в команде debugfs:
debugfs -R ‘stat /home/user/file1’ /dev/sda1
Ищем параметр crtime — это и есть дата создания файла.
Остался вопрос по dtime. Для того чтобы узнать дату удаления файла нужно знать inod удаленного файла. Все, в принципе, уже делали выше по тексту:
1. смотрим номер inode (первая цифра)
ls -li /home/user/file1
3. Указываем inode вместо имени файла
sudo debugfs -R ‘stat ‘ /dev/sda1
И видим что появился еще один параметр dtime который указывает время удаления файла.
И напоследок, полезная команда:
Эта команда, как и ls, выведет информацию о файлах в текущем каталоге. Но информация будет очень полной:
Размер: 4096 Блоков: 8 Блок В/В: 4096 каталог
Устройство: fe01h/65025d Inode: 18093704 Ссылки: 4
Доступ: (0755/drwxr-xr-x) Uid: ( 1000/ xi) Gid: ( 1000/ xi)
Доступ: 2016-11-11 08:40:14.304086738 +0300
Модифицирован: 2016-10-27 13:58:58.471802462 +0300
Изменён: 2016-10-27 13:58:58.471802462 +0300
Размер: 4096 Блоков: 8 Блок В/В: 4096 каталог
Устройство: fe01h/65025d Inode: 18351666 Ссылки: 4
Доступ: (0755/drwxr-xr-x) Uid: ( 1000/ xi) Gid: ( 1000/ xi)
Доступ: 2017-02-27 15:11:57.919149521 +0300
Модифицирован: 2017-02-27 15:11:57.919149521 +0300
Изменён: 2017-02-27 15:11:57.919149521 +0300
Размер: 4096 Блоков: 8 Блок В/В: 4096 каталог
Устройство: fe01h/65025d Inode: 17172618 Ссылки: 5
Доступ: (0755/drwxr-xr-x) Uid: ( 1000/ xi) Gid: ( 1000/ xi)
Доступ: 2016-11-11 08:40:12.408086752 +0300
Модифицирован: 2016-09-22 16:14:05.691297459 +0300
Изменён: 2016-10-27 13:58:38.595791445 +0300
Размер: 4096 Блоков: 8 Блок В/В: 4096 каталог
Устройство: fe01h/65025d Inode: 17041798 Ссылки: 4
Доступ: (2755/drwxr-sr-x) Uid: ( 1000/ xi) Gid: ( 1000/ xi)
Доступ: 2017-03-10 16:47:48.141500240 +0300
Модифицирован: 2011-04-25 18:50:52.000000000 +0400
Изменён: 2016-10-27 13:58:38.723791516 +0300
Источник