Se eu tiver o UUID de uma partição de unidade, como descobrir se ela está montada ou não, usando a linha de comando?
command-line
mount
disk
partitions
Arronical
fonte
fonte
tune2fs
.tune2fs -U random /dev/sdxx
. Mas isso não funcionará para todos os tipos de partições.Respostas:
lsblk
pode ajudar. Ele pode imprimir apenas o UUID e o ponto de montagem, portanto, dado o UUID, basta ver se o ponto de montagem não está vazio:Então:
Como
lbslk
pode atuar em dispositivos específicos, você também pode:Com o primeiro método, não haverá erro se esse UUID não for de um disco conectado no momento. Com o segundo método,
lsblk
ocorrerá um erro se/dev/disk/by-uuid/$uuid
não existir.fonte
Se você deseja apenas uma linha com seu UUID e ponto de montagem ($ UUID representa seu UUID):
O ponto de montagem estará vazio se estiver desmontado. Tente
lsblk -h
para mais opções.Use
awk
para imprimir o resultado. seNF
(Número de campos) for mais de um, significa que possui um ponto de montagem:fonte
Se você quiser os detalhes a partir de
mount
substitua
your-UUID-here
pelo seu UUIDmais facilmente:
exemplo de saída:
Você pode apenas verificar se a sequência não é nula e o eco "montado":
mas outros deram melhores maneiras de fazer isso :)
fonte
O Ubuntu usa
UDisks2
daemon, que pesquisa muitas informações sobre sistemas de arquivos, e podemos usarudisksctl
e filtrar sua saída para encontrar uma maneira rápida e suja de encontrar as informações necessárias:O que você vê acima, basicamente imprimirá UUIDs de sistemas de arquivos e seus pontos de montagem. Por inspeção visual, agora você pode descobrir qual UUID está montado e o que não está.
fonte
Minha solução
procfs
, portanto, nenhum comando estranho gera problemas de formatação,fonte
Com base nas excelentes respostas que recebi para esta pergunta, percebi que é muito mais fácil trabalhar com nomes de dispositivos. Para obter o nome do dispositivo do UUID:
O que significa que eu posso deduzir rapidamente se ele estiver montado, cumprimentando a saída de
df
:Ou usando o código na resposta de Muru , que tem o bônus adicional de me dizer onde a unidade está montada:
fonte
Você pode usar o
df
comando para ver os sistemas de arquivos montados e seu ponto de montagem. Aqui está um exemplo da minha máquina ... a partiçãosdb3
, na qual eu tenho outro sistema instalado, não está montada, portanto não listada (as partições são rotuladas novamente, é por isso que os nomes são mostrados em vez dos UUIDs):fonte
df
?Se houver um link chamado "
the_UUID
" na/dev/disk/by-uuid/
partição está montado. No meu Ubuntu 14.04.5 (YMMV):fonte
dmesg
e/var/log/kern.log*
. Parece que o sistema não está satisfeito com o sistema de arquivos na partição e não pode montá-lo. Uma causa possível é a hibernação do Windows./dev/disks/by-uuid/
diretório/dev/disk/by-uuid
e seus equivalentes contêm todos os UUIDs / IDs / etiquetas de dispositivos conectados conhecidos pelo udev, independentemente do estado de montagem.