В комментариях вы предоставляете вывод ls -l
для вашего устройства:
crw-rw-r-- 1 root lp 189, 1 Jul 24 18:48 /dev/bus/usb/001/002
Вы видите, что у пользователя и группы уже есть права на чтение/запись. Поэтому, если вы добавите своих пользователей в группу lp
, ни один из этих скриптов не понадобится.
Предполагая, что 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, это зависит от реализации, но я ожидаю поведения, показанного выше.
В GNU find
эталонное время, которое используется для оценки файлов с -mmin
и т. д., вычисляется и сохраняется при разборе выражения , поэтому действует при запуске find
.
Это означает, что все такие сравнения времени используют одну и ту же ссылку времени для всех оцененных файлов, время, когда find
анализировал свою командную строку.
Попробуйте выполнить следующие команды одну за другой на двух терминалах
Клемма 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
может искать файлы, которые были изменены после времени запуска команды.