Descubra exatamente quais dispositivos estão dentro do seu computador Linux ou conectados a ele. Abordaremos 12 comandos para listar seus dispositivos conectados.
Índice
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 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 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 lsdev
comando. O lsscsi
comando também precisava ser instalado em todos os três.
Para instalar lsdev
e lsscsi
usar esses 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.
Ubuntu e Fedora precisam ser hwinfo
instalados, e o Fedora também precisa lshw
e hdparm
instala.
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.
monte
A saída de mount
pode ser mais longa do que o esperado, especialmente se você tiver usado o snap
método para instalar o software. Cada vez que você usa, snap
você 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.
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 grep
para filtrar os detalhes de qualquer unidade que comece com “sd”.
montar | 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 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 mount
e mais facilmente detectar os sistemas de arquivos que são montados em dispositivos, canalizar a saída do mount
meio less
.
montar | Menos
Percorra a saída até ver sistemas de arquivos que estão conectados a arquivos especiais / dev.
2. O Comando lsblk
O lsblk
comando lista os dispositivos de bloco , 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 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.
Para limpar a saída e remover os dispositivos de loop, podemos usar a -e
opção (excluir) e fornecer o número do tipo de dispositivos que desejamos ignorar.
Este comando fará com lsblk
que os dispositivos de loop (7) e sala de cd (11) sejam ignorados.
lsblk -e 7,11
Os resultados agora contêm apenas o disco rígido sda.
3. O Comando df
O df
comando relata as capacidades da unidade e o 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 -x
opção (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 fdisk
comando é 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 -l
opção (list) para listar as tabelas de partição. Como a saída pode ser muito longa, canalizaremos a saída do fdisk
meio less
. Porque fdisk
tem o potencial de alterar as tabelas de partição do disco, devemos usar sudo
.
sudo fdisk -l
Ao percorrer, less
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 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 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
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 / partições | grep s [rd]
Existem agora dois dispositivos e uma partição incluídos na saída.
6. O Comando lspci
O lspci
comando lista todos os dispositivos PCI em 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 lsusb
comando 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
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 -v
opção (detalhada) e uma versão ainda mais detalhada usando -vv
.
8. O Comando lsdev
O lsdev
comando exibe informações sobre todos os dispositivos instalados .
Este comando gera muita saída, então vamos canalizá-lo com menos.
lsdev | Menos
Existem muitos dispositivos de hardware listados na saída.
9. O Comando lshw
O lshw
comando 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 less
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 | Menos
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. lshw
lê a maior parte de suas informações de vários arquivos em / proc.
Se desejar uma saída mais curta e menos detalhada, você pode usar a --short
opção.
10. O Comando lsscsi
Como você já deve imaginar, o lsscsi
comando lista os dispositivos SCSI conectados ao seu computador.
lsscsi
Aqui estão os dispositivos SCSI conectados a esta máquina de teste.
11. O comando dmidecode
Os dmidecode
comandos 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
O dmidecode
comando pode relatar mais de 40 tipos de hardware diferentes.
12. O Comando hwinfo
O hwinfo
comando é 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 --short
opção.
hwinfo --short
Se você realmente precisa ver os detalhes mais refinados, repita e omita a --short
opção.
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.