Eu não tenho certeza se isso importa muito. Você poderia fdisk -l /dev/sda
; No entanto, geralmente /dev/sda
é seu disco rígido ou disco SSD, e o pen drive USB seria, por exemplo, /dev/sdi
(em seguida, execute fdisk -l /dev/sdi
). Faça um dmesg
apenas depois de ligar o stick para descobrir.
Tenha cuidado: muitas vezes /dev/sda
é o disco do seu sistema.
Quando um sistema de arquivos é montado a partir da chave USB, você pode executar fsstat (1) se você tem isso (por exemplo, fsstat /dev/sdi1
) e também df (1)
Na prática, você provavelmente não precisa, e não conseguirá obter de forma confiável e fiel, a página, o setor, os tamanhos dos blocos de um pendrive.
No entanto, é melhor usar buffers não muito pequenos quando ler (2) -ing ou escreva (2) . Sugiro usar buffer de 32Kbytes ou 64Kbytes para operações de E / S de chave USB. Se você está passando por um sistema de arquivos, a maioria dos dados está, de fato, no cache de páginas (e provavelmente será liberado em sync
ou umount
time).
Você provavelmente não pode encontrar facilmente o tamanho da página física dos seus dispositivos (em particular, porque o hardware provavelmente não está dando nenhuma maneira de consultá-lo). Se isso for importante, mergulhe nas especificações técnicas completas do seu hardware (e não ficarei surpreso se você precisar assinar um NDA para obtê-las).
Você pode considerar o uso de comandos para consultar o hardware: hwinfo
, lsusb
, etc ... (mas acredito que eles não fornecem o que você deseja, porque o hardware em si não tem esses recursos)
Você poderia simplesmente comparar a operação de E / S com vários tamanhos de buffer (por exemplo, a potência de dois de 512 bytes a 1 Megabyte)