$ find /path/to/top/dir -type f -name "xyz.json" -print
Будет напечатан полный путь ко всем обычным файлам с именем xyz.json
в структуре каталогов с корнем /path/to/top/dir
.
Если у вас есть база данных locate
, которая обновляется достаточно часто, вы также можете попробовать
$ locate "/path/to/top/dir/*/xyz.json"
Следуйте моему рабочему решению для Android-устройства Samsung...
Напишите скрипт в /etc/udev/rules.d
вот так:
#!/bin/bash
su <NON_ROOT_USER> -c <YOUR_GUI_APPLICATION>
Запустите udevadm monitor -e
, чтобы получить путь к вашему устройству (, например./devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-2
)и запишите его.
Запустите udevadm info -ap <YOUR_DEVICE_PATH>
, чтобы получить правила для добавления в папку конфигурации udev. Например.
ACTION=="add" \
, SUBSYSTEM=="usb" \
, ENV{DEVTYPE}=="usb_device" \
, ATTRS{idVendor}=="04e8" \
, ATTRS{idProduct}=="6860" \
, ATTR{product}=="SAMSUNG_Android" \
, ATTR{serial}=="R58MC3542ZX"
Напишите скрипт с именем 50-my-android-device.rules
в /etc/udev/rules.d
следующим образом:
ACTION=="add" \
, SUBSYSTEM=="usb" \
, ENV{DEVTYPE}=="usb_device" \
, ATTRS{idVendor}=="04e8" \
, ATTRS{idProduct}=="6860" \
, ATTR{product}=="SAMSUNG_Android" \
, ATTR{serial}=="R58MC3542ZX" \
, ENV{DISPLAY}=":0.0" \
, RUN+="/etc/udev/rules.d/<MY_RUNNABLE.SCRIPT>"