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

PC Linux mostrando um prompt de shell
Fatmawati Achmad Zaenuri / Shutterstock.com

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á muita sobreposição 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 grepou 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 usar para nossos leitores, preferimos fornecer uma ampla amostra dos comandos que estão disponíveis e deixar nossos leitores escolher 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 precisam ser instaladas procinfo, o que fornece o lsdevcomando. O lsscsicomando também precisava ser instalado em todos os três.

Para instalar lsdeve lsscsiusar esses comandos.

Ubuntu:

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

sudo apt-get install lsscsi em uma janela de terminal

sudo apt-get install procinf em uma janela de terminal

Fedora:

sudo dnf install procinfo
sudo dnf install lsscsi

sudo dnf instalar procinfo em uma janela de terminal

sudo dnf instalar lsscsi em uma janela de terminal

Manjaro

sudo pacman -Syu procinfo
sudo pacman -Syu lsscsi

sudo pacman -Syu lsscsi em uma janela de terminal

sudo pacman -Syu procinfo em uma janela de terminal

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.

Ubuntu e Fedora precisam ser hwinfoinstalados, e o Fedora também precisa lshwe hdparminstala.

Ubuntu:

sudo apt-get install hwinfo

sudo apt-get install hwinfo em uma janela de terminal

Fedora:

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

sudo dnf instalar hwinfo em uma janela de terminal

sudo dnf instalar hwinfo em uma janela de terminal

sudo dnf instalar lshw em uma janela de terminal

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.

monte

montar em uma janela de terminal

A saída de mountpode ser mais longa do que o esperado, especialmente se você tiver usado o snapmétodo para instalar o software. Cada vez que você usa, snapvocê adquire outro pseudo-sistema de arquivos e estes são listados por mount. Claro, eles não têm dispositivos físicos associados a eles, então eles estão apenas obscurecendo a imagem real.

Recomendado:  Como desativar as notificações da guia de postagem no estilo bate-papo do Facebook

saída da montagem em uma janela de terminal

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 em “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 nesse 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 depois montados em algum lugar da árvore do sistema de arquivos.

Este comando é usado greppara filtrar os detalhes de qualquer unidade que comece com “sd”.

montar | grep / dev / sd

montar |  grep / dev / sd em uma janela de terminal

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

montar a saída em uma janela de terminal

A resposta de mountnos 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 que um limite definido pelo sistema . Isso reduz muito 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 ser capaz de percorrer a saída mounte mais facilmente detectar os sistemas de arquivos que são montados em dispositivos, canalizar a saída do mountmeio less.

montar | Menos

montar |  menos em uma janela de terminal

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

montagem [canalizado através de menos em uma janela de terminal

2. O Comando lsblk

O lsblkcomando lista os dispositivos de bloco , seu ponto de montagem e outras informações. Digite lsblkem uma linha de comando:

lsblk

lsblk em uma janela de terminal

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 dispositivo de loop número 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.

saída lsblk em uma janela de terminal

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

Recomendado:  Como, quando e por que definir uma conexão como medida no Windows 10

Este comando fará com lsblkque os dispositivos de loop (7) e sala de cd (11) sejam ignorados.

lsblk -e 7,11

lsblk -e 7,11 em uma janela de terminal

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

saída lsblk em uma janela de terminal

3. O Comando df

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

Digite dfna linha de comando e pressione Enter.

df

df em uma janela de terminal

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.

saída do df em uma janela de terminal

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

df -x squashfs

df -x squashfs em uma janela de terminal

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

saída df em uma janela de terminal

4. O comando fdisk

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

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

sudo fdisk -l

fdisk -l em uma janela de terminal

Ao percorrer, lessvocê 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.

saída do fdisk em uma janela de terminal

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

sudo fdisk -l / dev / sda

sudo fdisk -l / dev / sda em uma janela de terminal

Obtemos uma saída de comprimento consideravelmente reduzido.

saída do fdisk em uma janela de terminal

5. Os arquivos / proc

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

cat / proc / mounts

cat / proc / mounts em uma janela de terminal

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.

saída de cat / proc / mounts em uma janela de terminal

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

cat / proc / mounts | grep / dev / sd

cat / proc / mounts |  grep / dev / sd em uma janela de terminal

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

saída de cat / proc / mounts em uma janela de terminal

Podemos ser um pouco mais inclusivos usando greppara 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 / partições | grep s [rd]

cat / proc / partições |  grep s [rd] em uma janela de terminal

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

Recomendado:  Como usar o novo sistema Buddy do Pokémon Go

saída de cat / proc / mounts em uma janela de terminal

6. O Comando lspci

O lspcicomando lista todos os dispositivos PCI em seu computador.

lspci

lspci em uma janela de terminal

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.

Saída lspci em uma janela de terminal

7. O Comando lsusb

O lsusbcomando listará dispositivos que estão conectados a portas USB em seu computador, bem como dispositivos USB ativados que estão integrados em seu computador.

lsusb

lsusb em uma janela de terminal

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.

Dispositivos USB listados em uma janela de terminal

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

8. O Comando lsdev

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

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

lsdev | Menos

lsdev |  menos em uma janela de terminal

Existem muitos dispositivos de hardware listados na saída.

Saída lsdev canalizada por less em uma janela de terminal

9. O Comando lshw

O lshwcomando lista os dispositivos conectados 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 lessmais uma vez.

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

sudo lshw | Menos

sudo lshw |  menos em uma janela de terminal

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

saída de lshw em menos em uma janela de terminal

Se desejar uma saída mais curta e menos detalhada, você pode usar a --shortopção.

10. O Comando lsscsi

Como você já deve imaginar, o lsscsicomando lista os dispositivos SCSI conectados ao seu computador.

lsscsi

lsscsi em uma janela de terminal

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

saída lsscsi em um terminal widnow

11. O comando dmidecode

Os dmidecodecomandos decodificam as tabelas DMI (Desktop Management Interface) e extraem informações relacionadas ao hardware conectado ao computador e dentro do computador.

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

Novamente, vamos canalizar isso less.

dmidecode | Menos

Saída dmidecode em uma janela de terminal

O dmidecodecomando pode relatar mais de 40 tipos de hardware diferentes.

12. O Comando hwinfo

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

Você pode começar as coisas com cuidado, incluindo a --shortopção.

hwinfo --short

hwinfo --short em uma janela de terminal

Se você realmente precisa ver os detalhes mais refinados, repita e omita a --shortopção.

saída do hwinfo em menos em uma janela de terminal

Embrulhe isso

Portanto, aqui estão nossas dezenas de maneiras de investigar os dispositivos internos 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.