TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #460 10.9K
Как говорится — у хорошего айтишника и бычий хуй веревка!

Привет. Сегодня про find и временные метки.

У утилиты find есть ключ -newer. Тест (-newer) возвращает истину, если метка X новее метки Y.

Формат теста такой:

-newerXY


Y — Указывает временную метку образца.
X — Указывает временную метку искомых файлов.


Временные метки:

с — время изменения
m — время модификации
a — время последнего доступа
t — буквальное время, а не имя файла (только Y)
B — время создание файла (поддерживается не везде)


Поддерживаемые форматы (t):

Вот несколько из них, которые можно получить с помощью утилиты date.

date --rfc-3339=ns  
date --rfc-2822
date +'@%s.%N'
TZ=UTC0 date +'%Y-%m-%d %H:%M:%S'
date +'%Y-%m-%d %H:%M:%S %z'
LC_ALL=C TZ=UTC0 date


Также date умеет отнимать/прибавлять даты.

date -d'- 1 hours'


Более подробно можешь почитать в гнутой доке. Или заглянуть командой: info coreutils date

Теперь давай поищем файлы в домашнем каталоге у которых время модификации, менялось с заданной даты. Минус 2 часа от текущего времени.

find ~/ -newermt "$(date --rfc-2822 -d '- 2 hours')"


Ага, получаем ожидаемый список. Ок, теперь создадим файл bashdays.txt, у которого время модификации будет -2 часа от текущего времени.

touch -mt $(date '+%Y%m%d%H%M.%S' -d '-2 hours' ) bashdays.txt


Проверяем:

stat bashdays.txt


Смотрим поле Modify, ага все верно, время -2 часа от текущего времени.

Снова запускаем поиск файлов, у которых время модификации свежее времени модификации файла bashdays.txt

find ~/ -newermm bashdays.txt


Выводим дополнительную информацию со временем модификации найденных файлов:

find ~/ -newermm bashdays.txt -printf '%t\n'


Допускается задавать разные временные метки искомых файлов и образца. Поиск файлов у которых время модификации новее времени изменения файла bashdays.txt

find ~/ -newermc bashdays.txt -printf '%t\n'


Чтобы узнать, при каких условиях изменяются временные метки. Можете поизучать man-страницы к системному вызову stat.

Где это можно применить? Ну например, для зачистки старых бэкапов, если предпочитаешь использовать для этого самописные скрипты. На самом деле дофига где применить можно, всё зависит от фантазии и потребностей.

Завтра выходной строим, в воскресение вернусь. Хороших предстоящих выходных, береги себя!

tags: #linux #bash
—
🔔 @bashdays
More from @bashdays
  1. Sep 30, 2026↗️ Для всех, кто строит 15 октября Cloud․ru соберет инженеров, которые строят и эксплуатир…
  2. Sep 29, 2026Самый жаркий холивар в команде — это не systemd, а какие заказать роллы на всю команду. Од…
  3. Sep 24, 2026Post #1565
  4. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  5. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
  6. Sep 15, 2026Всем привет, с вами TagdTagd. И это вторая часть. Практическая. С первой частью можешь озн…
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 →