Цель этого руководства – показать несколько методов командной строки, которые можно использовать для проверки времени доступа и модификации файлов в системе Linux.
В примерах, показанных ниже мы рассмотрим несколько инструментов для этой работы, таких как ls, date, stat и find.
В командной строке Linux есть несколько инструментов, которые мы можем использовать для проверки времени доступа и модификации файлов.
Нет необходимости устанавливать какие-либо дополнительные инструменты.
Дополнение статьи:
🐧 Как узнать дату последнего изменения файла на Linux
Ознакомьтесь с приведенными ниже примерами различных способов проверки доступа к файлам и времени их редактирования в системах Linux.
Команда Linux stat покажет нам время доступа, время модификации и время изменения файла.
Просто укажите в команде путь к файлу.
$ stat example.txt
Вывод будет выглядеть примерно так.
Выделенные жирным шрифтом строки содержат необходимую информацию.
File: example.txt Size: 13367 Blocks: 32 IO Block: 4096 regular file Device: 805h/2053d Inode: 787524 Links: 1 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2021-12-15 22:28:53.480000095 -0500 Modify: 2021-12-15 22:28:53.480000095 -0500 Change: 2022-02-20 19:48:33.288001148 -0500 Birth: -
Обратите внимание, что поле Birth (последняя строка) не поддерживается в файловых системах EXT.
Еще один инструмент, который мы можем использовать для работы, – это команда ls.
Это уже чрезвычайно распространенная команда, которую все пользователи Linux изучают в течение первого дня работы.
Вам нужно будет добавить опцию -l к команде, чтобы увидеть время модификации.
$ ls -l example.txt -rw------- 1 root root 13367 Dec 15 22:28 example.txt
Чтобы посмотреть время доступа к файлу с помощью ls, добавьте в команду опцию -u.
$ ls -u example.txt -rw------- 1 root root 13367 Dec 15 22:28 example.txt
В этом случае наше время доступа совпадает со временем изменения файла, что является нормальным для файлов, к которым не обращались с момента их последнего сохранения.
Еще одним инструментом, который мы можем использовать, является команда date.
Нет необходимости указывать какие-либо дополнительные опции, поскольку измененное время будет выведено в очень удобном для восприятия формате, но в следующем примере мы покажем, почему вы можете захотеть использовать дополнительные опции.
$ date -r example.txt Wed 15 Dec 2021 10:28:53 PM EST
Команда find пригодится, если нам нужно просмотреть все файлы, содержащие определенное время модификации.
Например, эта команда отобразит все файлы, которые были изменены за последние семь дней.
$ find . -mtime -7
Или файлы, измененные в течение последнего часа:
$ find . -mmin 60
Команду find можно также использовать для поиска файлов с определенным временем доступа.
Например, эта команда будет искать файлы, доступ к которым был получен в течение последних 20 минут.
$ find ~ -amin 20
Или мы можем искать файлы со временем доступа позже, чем 20 минут назад, заменив его на знак плюс.
$ find ~ +amin 20
Заключение
В этом руководстве мы рассмотрели, как проверить время доступа и модификации файла в Linux.
Есть несколько инструментов, которые могут выполнить эту работу, но у каждого из них есть свои плюсы и минусы, в зависимости от того, что именно вы хотите сделать.
Команда stat предоставляет нам всю необходимую информацию, но ls, вероятно, является командой, которую вы привыкли использовать каждый день.
С другой стороны, команда date может лучше работать в скриптах Bash или в ситуациях, когда вам нужно, чтобы выходные данные были отформатированы определенным образом.
Наконец, команда find лучше всего работает при поиске файлов в определенном диапазоне дат изменения или доступа.