Precisa de uma lista de dispositivos HDD, excluindo o meu OS HDD

1

Eu quero listar todo o dispositivo HDD, excluindo o meu sistema operacional em anexo ao meu sistema. Eu fiz muito do googling e disparei muitos mais comandos na linha de comando do linux. mas não pode acertar a saída adequada.

Um comando que fornece todos os dispositivos, incluindo meu dispositivo os.

fdisk -l 2>/dev/null | grep "Disk \/" | grep -v "\/dev\/md" | awk '{print $2}' | sed -e 's/://g'

saída:

/dev/sda
/dev/sdb
/dev/sdc

Por "OS HDD" quero dizer o disco rígido que contém a partição que contém o sistema de arquivos / .

    
por Rickyrock 08.07.2013 / 15:05

1 resposta

0

df / mostra em qual dispositivo de bloco o sistema de arquivos raiz está. Você pode analisar desta maneira:

root_device=$(df -P / | awk 'NR!=1 {print $1}')

Se você estiver usando partições de PC sem LVM ou RAID, o dispositivo raiz será /dev/hdZ9 ou /dev/sdZ9 , em que Z é uma letra minúscula que designa o disco e 9 é um número que designa a partição . Você pode extrair a parte do disco desta maneira:

root_disk=${root_device#[0-9]}; root_disk=${root_disk#[0-9]}

A lista completa de discos e outros dispositivos de bloco está disponível em /sys/block .

Cuidado com RAID, LVM, etc., isso pode ficar muito complicado. Seja qual for o seu programa, é improvável que funcione com configurações de hardware que você não tenha pensado. Portanto, certifique-se de implementar uma verificação completa de erros.

    
por 10.07.2013 / 04:51