Obtenha caminhos para todos os cartões SD em um computador usando o GNU bash 4.3.11 executando o Ubuntu 14.04

1

como posso obter os caminhos para todos os cartões SD em um computador usando o GNU bash 4.3.11 executando o Ubuntu 14.04 e apenas aqueles?

Antecedentes:

Eu tenho um arquivo .iso e quero criar um script bash que pergunte ao usuário para qual cartão SD ele deseja que o arquivo .iso seja escrito. O script não deve oferecer discos rígidos internos ou unidades de cd / dvd, apenas caminhos de cartão SD.

Na verdade eu uso manualmente

ls -la /dev/sd*

que, por exemplo, me dá uma máquina de teste

brw-rw---- 1 root disk 8,  0 May  3 10:54 /dev/sda
brw-rw---- 1 root disk 8,  1 May  3 10:54 /dev/sda1
brw-rw---- 1 root disk 8,  2 May  3 10:54 /dev/sda2
brw-rw---- 1 root disk 8,  5 May  3 10:54 /dev/sda5
brw-rw---- 1 root disk 8, 16 May  3 15:12 /dev/sdb
brw-rw---- 1 root disk 8, 17 May  3 14:56 /dev/sdb1
brw-rw---- 1 root disk 8, 18 May  3 14:56 /dev/sdb2

Eu "sei" que sda é o meu disco rígido, nesse caso, porque eu conheço o hardware do computador e, portanto, o sdb deve ser o cartão SD, mas como um algoritmo pode fazer isso?

    
por Undertaker 03.03.2016 / 15:31

1 resposta

1

Você pode obter informações valiosas com o comando lsblk -d -t , que fornece uma saída assim:

NAME  ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED    RQ-SIZE
sda           0    512      0     512     512    0 deadline     128
sdb           0   4096      0    4096     512    1 deadline     128
sdc           0    512      0     512     512    1 deadline     128
sdd           0    512      0     512     512    1 deadline     128
sr0           0    512      0     512     512    1 deadline     128

com o qual você pode eliminar qualquer linha com um ROTA de 1 (o que indica mídia rotativa e descartar HDDs e CDROMs) infelizmente eu não tenho um método de excluir SSDs sem fazer suposições perigosas (mesmo a capacidade não trabalhar com segurança como o formato Secure Digital eXtended Capacity (SDXC), anunciado em janeiro de 2009 e definido na versão 3.01 da especificação SD, suporta cartões de até 2 TB e já vi cartões SD com capacidades superiores a alguns SSDs

    
por 03.03.2016 / 16:13