Como listar os dispositivos do seu computador a partir do terminal Linux

Descubra exatamente quais dispositivos estão dentro do seu computador Linux ou conectados a ele. Abordaremos 12 comandos para listar seus dispositivos conectados.

Por que 12 comandos?

Não importa quantas maneiras existam de esfolar um gato, eu estaria disposto a apostar que existem mais maneiras de listar os dispositivos que estão conectados ou alojados dentro de seu computador Linux. Vamos mostrar a você 12 deles. E isso não é tudo!

Inevitavelmente, há muitas sobreposições nas informações que você pode obter desses comandos, então por que se preocupar em descrever tantos deles?

Bem, por um lado, as variações no conteúdo e nos detalhes os tornam suficientemente diferentes para que algumas pessoas prefiram um método a outro. O formato de saída de um comando pode se adequar particularmente bem a um caso de uso específico. O formato de outro comando pode ser ideal para ser canalizado por meio de grep ou outro método de processamento posterior.

Principalmente, porém, é para tornar o artigo o mais geral possível. Em vez de decidir quais comandos serão de interesse ou uso para nossos leitores, preferimos fornecer uma ampla amostra dos comandos que estão disponíveis e deixar nossos leitores escolherem quais usarão e quais deixarão intactos.

Alguma instalação necessária

A maioria desses comandos está incluída em sua distribuição Linux por padrão. Ubuntu, Fedora e Manjaro foram usados ​​como uma amostra representativa de distribuições dos ramos principais das famílias Debian, Red Hat e Arch.

Todas as três distribuições precisaram instalar o procinfo, que fornece o comando lsdev. O comando lsscsi também precisava ser instalado em todos os três.

Para instalar lsdev e lsscsi, use estes comandos.

Ubuntu:

sudo apt-get install procinf
sudo apt-get install lsscsi

Fedora:

sudo dnf install procinfo
sudo dnf install lsscsi

Manjaro

sudo pacman -Syu procinfo
sudo pacman -Syu lsscsi

Surpreendentemente, Manjaro – famoso por ser um tipo de distribuição básico – era a distribuição que tinha a maioria dos comandos que veremos pré-instalados.

O Ubuntu e o Fedora precisaram da instalação do hwinfo, e o Fedora também exigiu a instalação do lshw e do hdparm.

Ubuntu:

sudo apt-get install hwinfo

Fedora:

sudo dnf install hwinfo
sudo dnf install lshw
sudo dnf install hdparm

1. O comando de montagem

O comando mount é usado para montar sistemas de arquivos.

Mas emitir o comando sem parâmetros faz com que ele liste todos os sistemas de arquivos montados, bem como os dispositivos nos quais estão localizados. Portanto, podemos usar isso como um meio de descobrir esses dispositivos.

mount

A saída da montagem pode ser mais longa do que você esperava, especialmente se você usou o método instantâneo para instalar o software. Cada vez que você usa o snap, você adquire outro pseudo-sistema de arquivos e estes são listados por montagem. Claro, eles não têm dispositivos físicos associados a eles, então eles estão apenas obscurecendo a imagem real.

  Como usar o SpiderOak One no Linux

Se você localizar um sistema de arquivos real na lista em um disco rígido, podemos isolá-lo com grep.

Os discos rígidos são identificados pelo nome, geralmente chamado de “sd” seguido por uma letra começando com “a” para a primeira unidade, “b” para a segunda unidade e assim por diante. As partições são identificadas adicionando 1 para a primeira partição e 2 para a segunda partição e assim por diante.

Portanto, o primeiro disco rígido seria sda e a primeira partição desse disco seria sda1. Os discos rígidos são conectados por meio de arquivos de dispositivo especiais (chamados de arquivos de bloco) em / dev e, a seguir, montados em algum lugar da árvore do sistema de arquivos.

Este comando usava grep para filtrar os detalhes de qualquer unidade que comece com “sd”.

mount | grep /dev/sd

A saída contém o único disco rígido da máquina que foi usado para pesquisar este artigo.

A resposta de mount nos diz que a unidade / dev / sda está montada em / (a ​​raiz da árvore do sistema de arquivos) e tem um sistema de arquivos ext4. O “rw” indica que foi montado em modo de leitura e escrita

Relatime é o esquema usado pelas rotinas de atualização de carimbo de data / hora do arquivo. O tempo de acesso não é gravado no disco, a menos que o tempo de modificação (mtime) ou o tempo de alteração (ctime) de um arquivo seja mais recente que o último tempo de acesso, ou o tempo de acesso (atime) seja mais antigo do que um limite definido pelo sistema . Isso reduz bastante o número de atualizações de disco que precisam ocorrer para arquivos acessados ​​com frequência.

O “errors = remount-ro” indica que se houver erros suficientemente graves, o sistema de arquivos será remontado no modo somente leitura.

Para poder rolar a saída da montagem e localizar mais facilmente os sistemas de arquivos montados nos dispositivos, canalize a saída da montagem para menos.

mount | less

Percorra a saída até ver sistemas de arquivos que estão conectados a arquivos especiais / dev.

2. O Comando lsblk

O comando lsblk lista os dispositivos de bloqueio, seu ponto de montagem e outras informações. Digite lsblk em uma linha de comando:

lsblk

A saída mostra:

Nome: o nome do dispositivo de bloco
Maj: Min: O número principal mostra o tipo de dispositivo. O número mínimo é o número do dispositivo atual fora da lista de dispositivos desse tipo. 7: 4, por exemplo, significa número de dispositivo de loop 4.
RM: Se o dispositivo é removível ou não. 0 significa não, 1 significa sim.
O tamanho é a capacidade do dispositivo.
RM: Se o dispositivo é somente leitura ou não. 0 significa não, 1 significa sim.
Tipo: O tipo do dispositivo, por exemplo, loop, dir (diretório), disco, rom (CD ROM) e assim por diante.
Mountpoint: onde o sistema de arquivos do dispositivo é montado.

Para limpar a saída e remover os dispositivos de loop, podemos usar a opção -e (excluir) e fornecer o número do tipo de dispositivos que desejamos ignorar.

  Como configurar um servidor Bittorrent de transmissão no Linux

Este comando fará com que o lsblk ignore os dispositivos loop (7) e cd room (11).

lsblk -e 7,11

Os resultados agora contêm apenas o disco rígido sda.

3. O Comando df

O comando df relata as capacidades da unidade e espaço usado e livre.

Digite df na linha de comando e pressione Enter.

df

A tabela de saída mostra:

Sistema de arquivos: O nome deste sistema de arquivos.
Blocos de 1 K: O número de blocos de 1 K que estão disponíveis neste sistema de arquivos.
Usado: O número de blocos de 1K que foram usados ​​neste sistema de arquivos.
Disponível: O número de blocos de 1K que não são usados ​​neste sistema de arquivos.
% De uso: A quantidade de espaço usado neste sistema de arquivos fornecida como uma porcentagem.
Arquivo: o nome do sistema de arquivos, se especificado na linha de comando.
Montado em: O ponto de montagem do sistema de arquivos.

Para remover entradas indesejadas da saída, use a opção -x (excluir). Este comando impedirá que as entradas do dispositivo de loop sejam listadas.

df -x squashfs

A saída compacta é muito mais fácil de analisar para as informações importantes.

4. O comando fdisk

O comando fdisk é uma ferramenta projetada para manipular a tabela de partição do disco, mas pode ser usado para ver informação também. Podemos usar isso a nosso favor quando estivermos investigando os dispositivos em um computador.

Usaremos a opção -l (list) para listar as tabelas de partição. Como a saída pode ser muito longa, canalizaremos a saída do fdisk para less. Como o fdisk tem o potencial de alterar as tabelas de partição do disco, devemos usar o sudo.

sudo fdisk -l

Percorrendo menos, você poderá identificar os dispositivos de hardware. Aqui está a entrada para disco rígido sda. Este é um disco rígido físico de 10 GB.

Agora que sabemos a identidade de um dos dispositivos de hardware, podemos pedir ao fdisk para relatar apenas sobre esse item.

sudo fdisk -l /dev/sda

Obtemos uma saída de comprimento consideravelmente reduzido.

5. Os arquivos / proc

Os pseudo-arquivos em / proc podem ser visualizados para obter algumas informações do sistema. O arquivo que veremos é / proc / mounts, que nos dará algumas informações sobre os sistemas de arquivos montados. Não usaremos nada mais grandioso do que um gato para ver o arquivo.

cat /proc/mounts

A lista mostra o arquivo de dispositivo especial em / dev que é usado para fazer interface com o dispositivo e o ponto de montagem na árvore do sistema de arquivos.

Podemos refinar a lista usando grep para procurar entradas com / dev / sd nelas. Isso filtrará as unidades físicas.

cat /proc/mounts | grep /dev/sd

Isso nos dá um relatório muito mais gerenciável.

Podemos ser um pouco mais inclusivos usando grep para procurar dispositivos que tenham arquivos de dispositivos especiais / dev / sd e / dev / sr. Isso incluirá discos rígidos e o CD-ROM para esta máquina.

cat /proc/partitions | grep s[rd]

Existem agora dois dispositivos e uma partição incluídos na saída.

  Como personalizar pastas no Linux com Folder Color

6. O Comando lspci

As listas de comando lspci todos os dispositivos PCI no seu computador.

lspci

As informações fornecidas são:

Slot: O slot em que o dispositivo PCi está instalado
Classe: a classe do dispositivo.
Nome do fornecedor: o nome do fabricante.
Nome do dispositivo: o nome do dispositivo.
Subsistema: nome do fornecedor do subsistema (se o dispositivo tiver um subsistema).
Nome do subsistema: se o dispositivo tiver um subsistema.
Número de revisão: o número da versão do dispositivo
Interface de programação: A interface de programação, se o dispositivo fornecer uma.

7. O Comando lsusb

O comando lsusb irá listar dispositivos que são conectado a portas USB em seu computador, bem como dispositivos habilitados para USB que estão integrados em seu computador.

lsusb

Este computador de teste tem um scanner Canon conectado a ele como dispositivo USB 5 e uma unidade USB externa como dispositivo USB 4. Os dispositivos 3 e 1 são manipuladores de interface USB internos.

Você pode receber uma lista mais detalhada usando a opção -v (detalhada) e uma versão ainda mais detalhada usando -vv.

8. O Comando lsdev

O comando lsdev exibe informações sobre todos os dispositivos instalados.

Este comando gera muita saída, então vamos canalizá-lo com menos.

lsdev | less

Existem muitos dispositivos de hardware listados na saída.

9. O Comando lshw

O comando lshw lista os dispositivos conectado ao seu computador. Este é outro comando com muita saída. No computador de teste, foram geradas mais de 260 linhas de informações. Vamos canalizar menos mais uma vez.

Observe que você precisa usar sudo com lshw para obter o máximo dele. Do contrário, não será possível acessar todos os dispositivos.

sudo lshw | less

Aqui está a entrada para o CD ROM com uma interface SCSI. Como você pode ver, as informações fornecidas para cada dispositivo são muito detalhadas. lshw lê a maior parte de suas informações de vários arquivos em / proc.

Se quiser uma saída mais curta e menos detalhada, você pode usar a opção –short.

10. O Comando lsscsi

Como você já deve ter imaginado, o comando lsscsi lista os dispositivos SCSI conectado ao seu computador.

lsscsi

Aqui estão os dispositivos SCSI conectados a esta máquina de teste.

11. O Comando dmidecode

Os comandos dmidecode decodificam o Tabelas de interface de gerenciamento de área de trabalho (DMI), e extrai informações relacionadas ao hardware conectado ao computador e dentro do computador.

O DMI também é algumas vezes referido como SMBIOS (Sistema Básico de Gerenciamento de Sistema de Entrada / Saída), embora sejam realmente dois padrões diferentes.

Novamente, vamos canalizar isso com menos.

dmidecode | less

O comando dmidecode pode relatar sobre mais de 40 tipos de hardware diferentes.

12. O Comando hwinfo

O comando hwinfo é o mais prolixo de todos. Quando dizemos que você precisa canalizar algo por meio de menos, desta vez não é opcional. No computador de teste, gerou 5850 linhas de saída!

Você pode começar as coisas suavemente, incluindo a opção –short.

hwinfo --short

Se você realmente precisa ver os detalhes mais refinados, repita isso e omita a opção –short.

Embrulhe isso

Portanto, aqui estão nossas dezenas de maneiras de investigar os dispositivos dentro ou conectados ao seu computador.

Qualquer que seja o seu interesse particular em caçar esse hardware, haverá um método nesta lista que permitirá que você encontre o que precisa.