Проверьте, подключен ли какой-либо конкретный внешний диск

Ну, у меня была эта проблема, и я просто понял это. Убедитесь, что на вашем компьютере выбрано «Разрешить устройствам Bluetooth для поиска этого компьютера». Затем выполните следующие действия:

Пуск -> поиск -> Передача файлов Bluetooth

Нажмите эту кнопку, затем нажмите «Получить файлы». Теперь вы готовы получать файлы с любых других устройств!

Я думаю, что он работает блестяще, но я использую Windows 7. Это может быть иная для Windows XP. Но мне жаль, я не знаю. Надеюсь, это помогло!

8
задан 20 November 2017 в 14:13

12 ответов

Чтобы проверить, подключено ли определенное устройство, вы можете использовать grep с опцией -q для поиска выходных данных lsusb или lsblk, например

uuid=f9035fce-b3a1-4aee-80ef-44e432b78fdb
lsblk -f | grep -wq $uuid && echo yes || echo no

devicename="some Inc. Keyboard"
lsusb | grep -q "$devicename" && echo yes || echo no

или с помощью [ f7]:

uuid=f9035fce-b3a1-4aee-80ef-44e432b78fdb
if lsblk -f | grep -wq $uuid; then
  echo yes
else
  echo no
fi

Оба могут использоваться независимо от того, установлено ли устройство.

8
ответ дан 22 May 2018 в 16:04
  • 1
    Для монтируемых разделов - lsblk -f | grep f9035fce-b3a1-4aee-80ef-44e432b78fdb | grep / -q && echo yes || echo no. – N0rbert 20 November 2017 в 14:33
  • 2
    Конечно, я использовал UUID, который вы предоставили :) – N0rbert 20 November 2017 в 14:35

Чтобы проверить, подключено ли определенное устройство, вы можете использовать grep с опцией -q для поиска выходных данных lsusb или lsblk, например

uuid=f9035fce-b3a1-4aee-80ef-44e432b78fdb lsblk -f | grep -wq $uuid && echo yes || echo no devicename="some Inc. Keyboard" lsusb | grep -q "$devicename" && echo yes || echo no

или с помощью if:

uuid=f9035fce-b3a1-4aee-80ef-44e432b78fdb if lsblk -f | grep -wq $uuid; then echo yes else echo no fi

Оба могут использоваться независимо от того, установлено ли устройство.

8
ответ дан 18 July 2018 в 02:58

Чтобы проверить, подключено ли определенное устройство, вы можете использовать grep с опцией -q для поиска выходных данных lsusb или lsblk, например

uuid=f9035fce-b3a1-4aee-80ef-44e432b78fdb lsblk -f | grep -wq $uuid && echo yes || echo no devicename="some Inc. Keyboard" lsusb | grep -q "$devicename" && echo yes || echo no

или с помощью if:

uuid=f9035fce-b3a1-4aee-80ef-44e432b78fdb if lsblk -f | grep -wq $uuid; then echo yes else echo no fi

Оба могут использоваться независимо от того, установлено ли устройство.

8
ответ дан 24 July 2018 в 17:42

/dev/disk/ содержит следующие каталоги, которые содержат символическую ссылку на реальные устройства. Эти ссылки динамически создаются и удаляются с помощью udev, поэтому они всегда актуальны:

by-id by-partlabel by-partuuid by-path by-uuid [!d1 ]

Таким образом, проверка наличия символической ссылки будет использовать меньше ресурсов.

Ниже приведен пример проверки наличия диска с использованием его серийного номера:

test -e /dev/disk/by-id/wwn-0x5002538d408be9e0 && echo yes || echo no

In мой сценарий резервного копирования, я даже не проверяю наличие диска, я проверяю результат команды mount следующим образом:

mount -o noatime $DESTINATION_PARTITION $DESTINATION_DIR || exit 1
8
ответ дан 22 May 2018 в 16:04

lsusb для указания подключенного устройства USB, если ваш внешний диск подключен через интерфейс USB.

lsblk -f для отображения блочных устройств, UUID и их точек монтирования, так как ваш внешний диск является блочным устройством .

2
ответ дан 22 May 2018 в 16:04
  • 1
    @ N0rbert, зачем вам -f перечислить точки монтирования? Выход по умолчанию выводит их в любом случае – muru 20 November 2017 в 14:27
  • 2
    Я ошибаюсь, я имею в виду UUID. Спасибо! – N0rbert 20 November 2017 в 14:28

findfs сделано для этого. Вы можете выполнить поиск по:

метке FS
findfs LABEL="Ubuntu" &>/dev/null
FS uuid
findfs UUID="f9035fce-b3a1-4aee-80ef-44e432b78fdb" &>/dev/null
метка GPT
findfs PARTLABEL="EFI system partition" &>/dev/null
GPT uuid
findfs PARTUUID="85e66d2f-3709-4060-938e-ffe836433cc9" &>/dev/null

Поисковые запросы чувствительны к регистру. Если несколько разделов совпадают, отображается только последний.

0
ответ дан 22 May 2018 в 16:04

lsusb для указания подключенного устройства USB, если ваш внешний диск подключен через интерфейс USB.

lsblk -f для отображения блочных устройств, UUID и их точек монтирования, так как ваш внешний диск является блочным устройством .

2
ответ дан 18 July 2018 в 02:58

/dev/disk/ содержит следующие каталоги, которые содержат символическую ссылку на реальные устройства. Эти ссылки динамически создаются и удаляются с помощью udev, поэтому они всегда актуальны:

by-id by-partlabel by-partuuid by-path by-uuid

Таким образом, проверка наличия символической ссылки будет использовать меньше ресурсов.

Ниже приведен пример проверки наличия диска с использованием его серийного номера:

test -e /dev/disk/by-id/wwn-0x5002538d408be9e0 && echo yes || echo no

In мой сценарий резервного копирования, я даже не проверяю наличие диска, я проверяю результат команды mount следующим образом:

mount -o noatime $DESTINATION_PARTITION $DESTINATION_DIR || exit 1
8
ответ дан 18 July 2018 в 02:58

findfs сделано для этого. Вы можете выполнить поиск по:

метке FS findfs LABEL="Ubuntu" &>/dev/null FS uuid findfs UUID="f9035fce-b3a1-4aee-80ef-44e432b78fdb" &>/dev/null метка GPT findfs PARTLABEL="EFI system partition" &>/dev/null GPT uuid findfs PARTUUID="85e66d2f-3709-4060-938e-ffe836433cc9" &>/dev/null

Поисковые запросы чувствительны к регистру. Если несколько разделов совпадают, отображается только последний.

0
ответ дан 18 July 2018 в 02:58

lsusb для указания подключенного устройства USB, если ваш внешний диск подключен через интерфейс USB.

lsblk -f для отображения блочных устройств, UUID и их точек монтирования, так как ваш внешний диск является блочным устройством .

2
ответ дан 24 July 2018 в 17:42
  • 1
    @ N0rbert, зачем вам -f перечислить точки монтирования? Выход по умолчанию выводит их в любом случае – muru 20 November 2017 в 14:27
  • 2
    Я ошибаюсь, я имею в виду UUID. Спасибо! – N0rbert 20 November 2017 в 14:28

/dev/disk/ содержит следующие каталоги, которые содержат символическую ссылку на реальные устройства. Эти ссылки динамически создаются и удаляются с помощью udev, поэтому они всегда актуальны:

by-id by-partlabel by-partuuid by-path by-uuid

Таким образом, проверка наличия символической ссылки будет использовать меньше ресурсов.

Ниже приведен пример проверки наличия диска с использованием его серийного номера:

test -e /dev/disk/by-id/wwn-0x5002538d408be9e0 && echo yes || echo no

In мой сценарий резервного копирования, я даже не проверяю наличие диска, я проверяю результат команды mount следующим образом:

mount -o noatime $DESTINATION_PARTITION $DESTINATION_DIR || exit 1
8
ответ дан 24 July 2018 в 17:42

findfs сделано для этого. Вы можете выполнить поиск по:

метке FS findfs LABEL="Ubuntu" &>/dev/null FS uuid findfs UUID="f9035fce-b3a1-4aee-80ef-44e432b78fdb" &>/dev/null метка GPT findfs PARTLABEL="EFI system partition" &>/dev/null GPT uuid findfs PARTUUID="85e66d2f-3709-4060-938e-ffe836433cc9" &>/dev/null

Поисковые запросы чувствительны к регистру. Если несколько разделов совпадают, отображается только последний.

0
ответ дан 24 July 2018 в 17:42

Другие вопросы по тегам:

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