find mmin X min — это X min при запуске «найти» или при «найти» найти файл?

В комментариях вы предоставляете вывод ls -lдля вашего устройства:

crw-rw-r-- 1 root lp 189, 1 Jul 24 18:48 /dev/bus/usb/001/002

Вы видите, что у пользователя и группы уже есть права на чтение/запись. Поэтому, если вы добавите своих пользователей в группу lp, ни один из этих скриптов не понадобится.

5
17.07.2019, 10:14
3 ответа

Предполагая, что GNU найдет, это легко проверить:

% mkdir foo; cd foo; touch a b
% find -mmin 1
.
./a
./b
% find -mmin 1 -exec sleep 120 \; -print 
.     # 2 minutes wait before this showed up
./a   # another 2 minutes before this showed up
./b   # and another 2 minutes for this one
% find -mmin 1
%

Таким образом, несмотря на то, что bпоследний раз изменялся по крайней мере через 4 минуты после того, как findзапустил sleep 120для a, он все еще совпадал.


Поскольку -mminне соответствует POSIX, это зависит от реализации, но я ожидаю поведения, показанного выше.

2
27.01.2020, 20:39

В GNU findэталонное время, которое используется для оценки файлов с -mminи т. д., вычисляется и сохраняется при разборе выражения , поэтому действует при запуске find.

Это означает, что все такие сравнения времени используют одну и ту же ссылку времени для всех оцененных файлов, время, когда findанализировал свою командную строку.

3
27.01.2020, 20:39

Попробуйте выполнить следующие команды одну за другой на двух терминалах

Клемма 1:

find /path -mmin -0.017 -printf "$(date) %Tc %p\n" | grep '/path/to/some/file' 

Клемма 2:

touch -d " 0 seconds ago" /path/to/some/file

мы можем получить результат как

Wed Jul 17 11:48:33 IST 2019 Wed 17 Jul 2019 11:48:34 AM IST /path/to/some/file

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

0
27.01.2020, 20:39

Теги

Похожие вопросы