Como usar o comando findmnt no Linux

Publicados: 2022-06-16
Ilustração de um sistema de gerenciamento de documentos flutuando sobre um laptop aberto
NicoElNino/Shutterstock.com

Descubra tudo sobre os pontos de montagem do seu sistema de arquivos com o comando Linux findmnt . É uma ferramenta completa com uma sintaxe muito fácil. Nós mostramos a você como usá-lo.

Pontos de montagem

O sistema de arquivos Linux é uma grande árvore. Dependendo das escolhas que você fez quando instalou o Linux, diferentes discos rígidos dentro de seu computador podem ter diferentes sistemas de arquivos neles. Se você usar pacotes snap , também terá sistemas de pseudo-arquivos squashfs em seu sistema. Dispositivos como cartões de memória USB terão sistemas de arquivos variados, especialmente se você também os usar em computadores Windows.

Independentemente do tipo de sistema de arquivos, todos eles precisam ser enxertados na árvore do sistema de arquivos em um processo chamado montagem . A montagem é um passo crucial na obtenção de um sistema de trabalho. Costumamos pensar em montar um dispositivo como um disco rígido, mas na verdade o que está sendo montado é o sistema de arquivos desse dispositivo. E sem acesso a todos esses vários sistemas de arquivos, seu computador pode nem inicializar ou você não poderá acessar aplicativos ou dados.

Como montar e desmontar dispositivos de armazenamento do terminal Linux
RELACIONADO Como montar e desmontar dispositivos de armazenamento do terminal Linux

Os sistemas de arquivos são montados em pontos de montagem. Estes são apenas diretórios vazios. Depois que o sistema de arquivos estiver montado, entrar nesse diretório o colocará nesse sistema de arquivos. Isso dá uma grande flexibilidade. A raiz da árvore do sistema de arquivos deve ser montada em “ / “, mas você pode montar outros sistemas de arquivos sempre que fizer mais sentido em suas circunstâncias particulares.

Essa flexibilidade significa que pode ser difícil acompanhar todos os diferentes pontos de montagem, especialmente aqueles que foram criados automaticamente e foram criados sem o seu envolvimento. O Linux fornece uma variedade de ferramentas de linha de comando para permitir que você revise a configuração e o estado de seus pontos de montagem. De todos eles, findmnt é o mais fácil de usar e tem alguns truques próprios.

O comando findmnt

O comando findmnt já estava instalado nas compilações do Ubuntu, Manjaro e Fedora que verificamos. Se não estiver instalado em seu computador Linux, você poderá encontrá-lo facilmente usando o gerenciador de pacotes da sua distribuição.

Propaganda

A ferramenta de linha de comando que você usa para montar sistemas de arquivos é chamada mount . Os sistemas de arquivos que são montados no momento da inicialização são definidos no arquivo “/etc/fstab”. Você pode usar o comando mount para obter um dump de todos os pontos de montagem configurados em seu arquivo “/etc/fstab”.

 montar 

O comando de montagem

A saída é detalhada, mas formatada em uma parede densa de texto.

O dump bruto de informações do comando mount

Com um pouco de esforço, você pode escolher seu caminho ou canalizá-lo por meio de utilitários como grep para extrair os bits em que está interessado. A saída de findmnt é muito mais acessível.

 encontrar 

O comando findmnt

Por outro lado, a saída padrão do findmnt é tabulada e contém uma árvore mostrando a hierarquia dos pontos de montagem.

A saída tabulada de findmnt

As colunas são:

  • Target : O local do ponto de montagem no sistema de arquivos
  • Source : O dispositivo de origem que contém o sistema de arquivos. Observe que isso pode ser um pseudodispositivo como um dispositivo de loopback.
  • Fstype : O tipo de sistema de arquivos.
  • Opções : As opções que foram usadas com o comando de montagem da linha de comando ou no arquivo “/etc/fstab” para montar o sistema de arquivos.

Para ver a saída sem a árvore, use a opção -l (lista).

 findmnt -l 

O comando findmnt com a opção -l list

Propaganda

As colunas são as mesmas, mas a hierarquia do ponto de montagem não é representada como uma árvore recuada.

A saída de listagem simples findmnt

Selecionando tipos de sistema de arquivos específicos

A opção -t (tipo) faz com que findmnt restrinja seu relatório para incluir apenas o tipo de sistema de arquivos solicitado. Por exemplo, para ver apenas sistemas de arquivos ext4 , você usaria:

 findmnt -t exta 

Inspecionando pontos de montagem do sistema de arquivos ext4 com findmnt

Para ver apenas os sistemas de arquivos squashfs , você digitaria:

 findmnt -t squashfs 

Inspecionando pontos de montagem do sistema de arquivos squashfs com findmnt

Para inverter a seleção para que você veja todo o resto além do tipo que você especificou na linha de comando, use a opção -i (inverter).

 findmnt -t squashfs -i 

Excluindo pontos de montagem squashfs com a opção -i invert

Os sistemas de arquivos squashfs não são relatados.

Saída de findmnt com sistemas de arquivos squashfs ignorados

A opção -t (tipo) permite usar uma lista separada por vírgulas de tipos de sistema de arquivos. Não coloque espaços entre eles, pois espaços em branco não são permitidos entre os tipos de sistema de arquivos.

 findmnt -t squashfs,proc,ext4 

Selecionando três tipos de ponto de montagem do sistema de arquivos de uma só vez com findmnt

Escolhendo a fonte de dados

Por padrão, findmnt obtém suas informações de “/etc/fstab”, “/etc/mtab” e “/proc/self/mountinfo”.

  • /etc/fstab : Este é o arquivo que contém os detalhes das montagens configuradas. Estes são acionados no momento da inicialização.
  • /etc/mtab : Este arquivo contém os detalhes das montagens atualmente montadas.
  • /proc/self/mountinfo : Isso consulta o kernel para a conta mais confiável das montagens do seu sistema.

Você pode dizer ao findmnt para usar uma fonte específica, se desejar. As opções são:

  • —fstab ou -s : Procure apenas em “/etc/fstab”.
  • —mtab ou -m : Procure apenas em “/etc/mtab”.
  • —kernel ou -k : Procure apenas em “/proc/self/mountinfo”.
Propaganda

Podemos ver a diferença que isso pode fazer se procurarmos por sistemas de arquivos vfat . Primeiro, usaremos a opção -s (fstab). Isso encontra um sistema de arquivos vfat , montado em “/boot/efi”.

 findmnt -s -t vfat 

Usando findmnt para pesquisar /etc/fstab para montagens do sistema de arquivos vfat

Tentaremos novamente, e desta vez usaremos a opção -k (kernel).

 findmnt -k -t vfat 

Usando findmnt para pesquisar /proc/self/mount para montagens do sistema de arquivos vfat

Como escrever um arquivo fstab no Linux
RELACIONADO Como escrever um arquivo fstab no Linux

Isso relata quatro entradas. Um é o mesmo sistema de arquivos vfat que a opção -s encontrou. Os outros três são montagens ad-hoc que ocorreram porque dois cartões de memória USB foram conectados. A opção -s não os encontrou porque eles não estão configurados no arquivo “/etc/fstab”.

Um cartão de memória USB é conectado como “/dev/sdc1”, que é a primeira partição no dispositivo sdc . O outro cartão de memória tem duas partições e estas foram montadas como “/dev/sdb1” e “/dev/sdb2”.

RELACIONADO: O que é o arquivo fstab do Linux e como ele funciona?

Selecionando por Ponto de Montagem

Se você conhece o ponto de montagem, pode passar para findmnt para descobrir as configurações e outros detalhes.

 findmnt /media/dave/PINK
 findmnt /media/dave/WHITEUSB 

Inspecionando pontos de montagem por nome com findmnt

Propaganda

Podemos ver que esses dois cartões de memória USB têm sistemas de arquivos vfat e foram montados como “/dev/sdb2” e “/dev/sdc1”.

Usando o modo de sondagem em findmnt

Possivelmente, o recurso mais legal do findmnt é seu recurso de pesquisa. Gravar imagens em dispositivos USB é algo que você pode fazer periodicamente. Identificar a unidade correta é fundamental, é claro. Você não quer substituir o dispositivo errado. findmnt torna mais fácil ver em qual dispositivo uma unidade removível está conectada.

Como gravar um arquivo ISO em uma unidade USB no Linux
RELACIONADO Como gravar um arquivo ISO em uma unidade USB no Linux

Existem duas maneiras de fazer isso. Você pode pedir ao findmnt para monitorar novas montagens por um período de tempo, expresso em milissegundos. Quaisquer montagens que acontecem durante esse período são relatadas. Isso usa a opção --timeout .

A segunda maneira diz ao findmnt para esperar até detectar uma nova montagem. Isso usa a opção --first-only . Ele aguardará o tempo necessário para que uma nova montagem ocorra, mas informará apenas a primeira montagem que ocorrer. A opção --timeout relatará todas as novas montagens que ocorrerem durante o período de pesquisa especificado.

Este comando diz ao findmnt para monitorar novas montagens por 30 segundos.

 findmnt -p --timeout 30000 

Fazendo findmnt monitor para novos pontos de montagem por 30 segundos

Um único cartão de memória USB foi conectado durante esse período, relatado, e findmnt continua monitorando pelo restante dos 30 segundos.

Este comando diz ao findmnt para monitorar novas montagens até ver um novo ponto de montagem criado.

 findmnt -p --first-only 

aguardando o próximo novo ponto de montagem com findmnt

Propaganda

Quando um novo dispositivo é conectado, ele relata um novo ponto de montagem e sai para o prompt de comando.

Uma maneira simples de evitar faltas

Substituir o dispositivo errado é sempre um desastre. O comando findmnt facilita a identificação positiva de um dispositivo que você acabou de conectar, tornando o processo de substituição muito mais seguro.

Fácil e seguro é outra maneira de dizer ganha-ganha.

RELACIONADO: Como substituir o espaço livre com segurança no Windows