У меня есть программа, которая изменяет несколько файлов в файловой системе. Я хотел бы знать, какой именно он изменился. Как я могу увидеть все файлы в системе, которые были изменены 5 минут назад определенной программой. Это возможно?
Это также будет работать, если я смог найти все файлы, которые были изменены в последнее время, и затем вручную проверить, какой из них принадлежит конкретной программе.
macos
filesystem
sanjihan
источник
источник
ls -la * | grep XX:XX
заменить XX: XX на измененное время. Это, однако, имеет 2 недостатка: во-первых, вам нужно знать каталог или подкаталог, и команда не отображает, в каком подкаталоге находится измененный файлОтветы:
Попробуйте настроить поиск в Finder следующим образом:
Это не будет искать системные файлы как бы то ни было. Для этого вы захотите использовать EasyFind . Также не будет указано, какая программа изменила файл.
источник
В приведенном выше примере показано решение с использованием Finder. Под капотом используется файловая библиотека метаданных. Это доступно через командную строку через утилиты md *, например
mdfind
,mdls
и т. Д. Если вы собираетесь часто запускать эту команду, вам может потребоваться, чтобы она была легко вставлена в терминал вместо того, чтобы указывать и нажимать в Finder, и это был бы быстрый способ вернуть их.mdfind 'kMDItemContentModificationDate >= $time.now(-300)'
покажет вам все файлы, которые были изменены за последние 5 минут (300 секунд) во всей файловой системе.Если вы знаете, где программа будет обрабатывать файлы, вы можете ограничить результаты, используя
-onlyin
команду, например, чтобы найти файлы в папке Desktop, попробуйте:mdfind -onlyin ~/Desktop 'kMDItemContentModificationDate >= $time.now(-300)'
Вы не упоминаете много о программе. Вы можете использовать
mdls
файл, чтобы получить список всех атрибутов, которые вы можете запросить:Так что, возможно, вы могли бы фильтровать по
MDItemContentType
типу атрибута. Или, если это программа, которой вы управляете, вы можете явно установить расширенный атрибут и добавить его в критерии поиска, чтобы убедиться, что вы получаете только файлы из своей программы.Наконец, еще одна полезная опция -
-live
флаг. Он будет оставаться на связи и подсчитает количество файлов, соответствующих критериям.Это может быть полезно, когда все, что вам нужно знать, это то, что процесс коснулся файловой системы. Если ваш запрос достаточно жесткий, вы знаете, что он будет меняться только в зависимости от того, когда эти конкретные файлы были затронуты, и тогда вы сможете делать все, что вам нужно, в зависимости от того, что это произошло.
источник