Talvez blkid
, que fornece linhas no formato:
/dev/sdXX: UUID="<UUID>" TYPE="<fstype>"
Você também pode usar esses UUIDs em fstab
: UUID="<UUID>"
pode substituir o caminho do dispositivo /dev/sdXX
.
Como listar TODOS os dispositivos HDD conectados de maneira amigável ao script? Tudo - significa montado e não montado. Compatível com scripts - significa algo que eu posso usar para (u) montar no meu shell script com o mínimo de greping ou seding.
Minha tarefa é escrever um script que, na inicialização, descubra onde está o HDD (se estiver conectado) e monte-o. No meu script eu preciso de alguma maneira para obter lista de dispositivos disponíveis em / dev. Qual ferramenta devo usar no meu script?
Aqui estão as opções que considerei:
fdisk -l
dá muito mais informação do que eu preciso - é um pouco difícil de analisar sua saída no shell parted -l
não lista partições não montadas e também elimina muitas informações extras cat /proc/partitions
melhor resultado, mas não lista partições não montadas Qual ferramenta se encaixa melhor na minha tarefa?
Para esclarecer um pouco de onde eu venho, aqui está minha situação:
Em algum usuário de PC, conectará algum disco rígido via USB ou SATA. Então o usuário reinicia o PC. Eu não sei nada sobre o dispositivo HDD, só posso supor que ele tem uma partição com o sistema de arquivos ext4. O dispositivo pode aparecer como / dev / sda ou / dev / sdb. Eu tenho acesso su para o dispositivo e pode adicionar meu script para / etc / rc.local ou em qualquer outro lugar, mas eu tenho esse acesso somente antes de entregar o PC para o usuário.
Em distros que possuem udisks
udisks --enumerate-device-files | grep -v ^/dev/disk
Tags bash mount hard-drive linux