Необходимо использовать find
найти файлы, и grep
к grep их.
find /tmp -maxdepth 1 -type f -exec grep 'Programming$' {} \;
Карта флэш-памяти USB должна обнаружиться в sysfs
под /sys/block/
и должен быть назван sd*
. Вот короткий сценарий, который проверяет каждое устройство под /sys/block
если это - Карта памяти:
#!/bin/bash
function is_usb_disk()
{
device=$1
is_usb_attached=$(udevadm info --query=property --path="/sys/block/$device" | grep -i "^ID_BUS=usb$")
is_disk=$(udevadm info --query=property --path="/sys/block/$device" | grep -i "^ID_TYPE=disk$")
if [[ -n $is_usb_attached && -n $is_disk ]]; then
return 0
else
return 1
fi
}
for block_device in $(ls /sys/block); do
is_usb_disk $block_device
if [[ $? -eq 0 ]]; then
serial=$(udevadm info --query=property --path="/sys/block/$block_device" | grep "^ID_SERIAL=" | cut -d "=" -f 2)
echo "/dev/$block_device ($serial) is an USB disk."
fi
done
Этот сценарий проверяет на каждое блочное устройство, если это присоединено к Шине USB (через свойство ID_BUS) и если это - диск (через свойство ID_TYPE). Если это находит устройство там, оба верны, что это печатает узел устройства с соответствующим последовательным устройством.
Можно просто скопировать это в файл, например. find_usb_disks.sh
. Дайте его, выполняют разрешение через chmod u+x find_usb_disks.sh
и выполненный это. Вывод будет похож на это:
/dev/sdb (0204_Flash_Disk_19250701EF6B1E05-0:0) is an USB disk.
Если это ничего не возвращает, вероятно, что Ваша карта флэш-памяти не "вставляется" правильно. Проверьте через lsmod
если модули как usb_storage
загружаются. Если usb_storage не загружается, отключите свое устройство, работайте
modprobe usb_storage
включите его снова и посмотрите, появляется ли Ваша карта флэш-памяти. Хороший способ контролировать, если Ваше устройство распознано ядром,
udevadm monitor
Отключите свое USB-устройство, выполните ту команду, включите Ваше устройство снова. Как только Вы включаете свое USB-устройство, необходимо видеть, что ядро (и udev) "добавляет" действия.
Помните, что, если диск имеет разделы, число раздела будет присоединено к имени узла устройства (например. /dev/sdb1
). Мой сценарий не нашел бы раздел, он просто проверяет, были ли устройства добавлены правильно.
необходимо установить Дополнительный пакет для этого. считайте этот https://www.virtualbox.org/manual/ch01.html#intro-installing