Come elencare i dispositivi del tuo computer dal terminale Linux

PC Linux che mostra un prompt della shell
Fatmawati Achmad Zaenuri / Shutterstock.com

Scopri esattamente quali dispositivi sono all'interno del tuo computer Linux o collegati ad esso. Tratteremo 12 comandi per elencare i tuoi dispositivi collegati.

Perché 12 comandi?

Per quanto ci siano molti modi per scuoiare un gatto, sarei disposto a scommettere che ci sono altri modi per elencare i dispositivi che sono collegati o ospitati all'interno del tuo computer Linux. Ti mostreremo 12 di loro. E non è tutto!

Inevitabilmente, ci sono molte sovrapposizioni nelle informazioni che puoi ottenere da questi comandi, quindi perché preoccuparsi di descriverne così tante?

Bene, per prima cosa, le variazioni nei contenuti e nei dettagli li rendono sufficientemente diversi che alcune persone preferiranno un metodo piuttosto che un altro. Il formato di output di un comando potrebbe prestarsi particolarmente bene a un caso d'uso specifico. Il formato di un altro comando potrebbe essere idealmente adatto al suo passaggio grepo un altro metodo di ulteriore elaborazione.

Principalmente, però, è di rendere l'articolo il più generale possibile. Piuttosto che decidere quali comandi saranno di interesse o utilizzare per i nostri lettori, preferiamo fornire un ampio campione dei comandi disponibili e fare in modo che i nostri lettori scelgano quali useranno e quali lasceranno intatti.

Installazione richiesta

La maggior parte di questi comandi sono inclusi nella distribuzione Linux per impostazione predefinita. Ubuntu, Fedora e Manjaro sono stati usati come campione rappresentativo di distribuzioni dai principali rami delle famiglie Debian, Red Hat e Arch.

Tutte e tre le distribuzioni necessarie per l'installazione procinfo, che fornisce il lsdev comando. Il lsscsi il comando doveva anche essere installato su tutti e tre.

Installare lsdev e lsscsi, usa questi comandi.

Ubuntu:

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

sudo apt-get install lsscsi in una finestra terminale

sudo apt-get install procinf in una finestra terminale

Fedora:

sudo dnf install procinfo
sudo dnf install lsscsi

sudo dnf installa procinfo in una finestra terminale

sudo dnf installa lsscsi in una finestra terminale

Manjaro

sudo pacman -Syu procinfo
sudo pacman -Syu lsscsi

sudo pacman -Syu lsscsi in una finestra terminale

sudo pacman -Syu procinfo in una finestra terminale

Sorprendentemente, Manjaro – famoso per essere un tipo di distribuzione bare-bones – era la distribuzione che aveva la maggior parte dei comandi che vedremo preinstallati.

Ubuntu e Fedora necessari hwinfo installazione, e anche Fedora richiesto lshw e hdparm l'installazione.

Ubuntu:

sudo apt-get install hwinfo

sudo apt-get install hwinfo in una finestra del terminale

Fedora:

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

sudo dnf installa hwinfo in una finestra terminale

sudo dnf installa hwinfo in una finestra terminale

sudo dnf installa lshw in una finestra del terminale

1. Il comando mount

Il comando mount è usato per montare filesystem.

Tuttavia, emettendo il comando senza parametri, viene elencato tutti i filesystem montati, nonché i dispositivi su cui si trovano. Quindi possiamo usarlo come mezzo per scoprire quei dispositivi.

mount

montare in una finestra terminale

L'output di mount può essere più lungo del previsto, soprattutto se è stato utilizzato snap metodo per installare il software. Ogni volta che usi snap acquisisci un altro pseudo-filesystem e questi vengono elencati da mount . Naturalmente, questi non hanno dispositivi fisici associati a loro, quindi stanno solo oscurando il quadro reale.

output da mount in una finestra terminale

Se trovi un vero filesystem nella lista seduto su un disco rigido, possiamo isolarlo con grep.

I dischi rigidi sono identificati dal nome, generalmente chiamato “sd” seguito da una lettera che inizia con “a” per la prima unità, “b” per la seconda unità e così una. Le partizioni vengono identificate aggiungendo 1 per la prima partizione e 2 per la seconda partizione e così via.

Quindi il primo disco rigido sarebbe sda ​​e la prima partizione su quel disco si chiamerebbe sda1. I dischi rigidi vengono interfacciati tramite file di dispositivi speciali (chiamati file di blocco) in / dev e quindi montati da qualche parte nella struttura del filesystem.

Questo comando usato grep per filtrare i dettagli di qualsiasi unità che inizia con “sd”.

mount | grep /dev/sd

montare | grep / dev / sd in una finestra terminale

L'output contiene il singolo disco rigido nella macchina utilizzata per ricercare questo articolo.

montare l'output in una finestra del terminale

La risposta di mount ci dice che drive / dev / sda è montato su / (la radice dell'albero del filesystem) e ha un filesystem ext4. “Rw” indica che è stato montato in modalità lettura / scrittura

Relatime è lo schema utilizzato dalle routine di aggiornamento data / ora del file. Il tempo di accesso non viene scritto sul disco a meno che il tempo modificato (mtime) o il tempo di cambio (ctime) di un file non siano più recenti dell'ultimo tempo di accesso o il tempo di accesso (atime) sia più vecchio di una soglia definita dal sistema . Ciò riduce notevolmente il numero di aggiornamenti del disco necessari per i file a cui si accede frequentemente.

“Errors = remount-ro” indica che se ci sono errori sufficientemente gravi, il filesystem verrà rimontato in modalità di sola lettura.

Per poter scorrere l'output da mount e più facilmente individuare i filesystem montati sui dispositivi, convogliare l'output da mount attraverso less .

mount | less

montare | meno in una finestra terminale

Scorri l'output fino a visualizzare i filesystem collegati a / dev file speciali.

mount (convogliato meno in una finestra terminale

2. Il comando lsblk

Il lsblk Il comando elenca i dispositivi a blocchi, il loro punto di montaggio e altre informazioni. genere lsblk alla riga di comando:

lsblk

Iskk in una finestra terminale

L'output mostra:

  • Nome: il nome del dispositivo a blocchi
  • Maj: Min: Il numero principale mostra il tipo di dispositivo. Il numero minimo è il numero del dispositivo corrente dall'elenco dei dispositivi di quel tipo. 7: 4, ad esempio, indica il dispositivo loop numero 4.
  • RM: Se il dispositivo è rimovibile o meno. 0 significa no, 1 significa sì.
  • Taglia è la capacità del dispositivo.
  • RM: Se il dispositivo è di sola lettura o meno. 0 significa no, 1 significa sì.
  • genere: Il tipo di dispositivo, ad esempio loop, dir (directory), disco, rom (CD ROM) e così via.
  • mountpoint: Dove è installato il filesystem del dispositivo.

Uscita lsblk in una finestra terminale

Per disordinare l'output e rimuovere i dispositivi loop, possiamo usare -e (escludi) e fornisci il numero del tipo di dispositivi che desideriamo ignorare.

Questo comando causerà lsblk per ignorare i dispositivi loop (7) e cd room (11).

lsblk -e 7,11

lsblk -e 7,11 in una finestra terminale

I risultati ora contengono solo il disco rigido sda.

Uscita lsblk in una finestra terminale

3. Il comando df

Il df rapporti di comando sulle capacità del convertitore e sullo spazio utilizzato e libero.

genere df sulla riga di comando e premere Invio.

df

df in una finestra terminale

La tabella di output mostra:

  • Fileystem: Il nome di questo filesystem.
  • 1K-Blocks: Il numero di blocchi 1K disponibili su questo file system.
  • Usato: Il numero di blocchi 1K utilizzati su questo file system.
  • A disposizione: Il numero di blocchi 1K non utilizzati su questo file system.
  • Uso%: La quantità di spazio utilizzata in questo file system in percentuale.
  • File: Il nome del filesystem, se specificato sulla riga di comando.
  • a cavallo su: Il punto di montaggio del filesystem.

output da df in una finestra terminale

Per rimuovere le voci indesiderate dall'output, utilizzare il -x (escludi) opzione. Questo comando impedirà di elencare le voci del dispositivo loop.

df -x squashfs

df -x squashfs in una finestra terminale

L'output compatto è molto più semplice da analizzare per le informazioni importanti.

df output in una finestra terminale

4. Il comando fdisk

Il fdisk Il comando è uno strumento progettato per manipolare la tabella delle partizioni del disco, ma può essere utilizzato anche per visualizzare informazioni. Possiamo usarlo a nostro vantaggio quando stiamo studiando i dispositivi in ​​un computer.

Useremo il -l (elenco) opzione per elencare le tabelle delle partizioni. Poiché l'output potrebbe essere molto lungo, eseguiremo il pipe dell'output fdisk attraverso less. Perché fdisk ha il potenziale per alterare le tabelle delle partizioni del disco, dobbiamo usarle sudo.

sudo fdisk -l

fdisk -l in una finestra terminale

Scorrendo less sarai in grado di identificare i dispositivi hardware. Ecco la voce per il disco rigido sda. Questo è un disco rigido fisico da 10 GB.

output da fdisk in una finestra terminale

Ora che conosciamo l'identità di uno dei dispositivi hardware, possiamo chiedere fdisk per riferire solo su quell'elemento.

sudo fdisk -l /dev/sda

sudo fdisk -l / dev / sda in una finestra terminale

Otteniamo un output di lunghezza considerevolmente ridotta.

output di fdisk in una finestra terminale

5. I file / proc

Gli pseudo-file in / proc possono essere visualizzati per ottenere alcune informazioni di sistema. Il file che esamineremo è / proc / mounts, che ci fornirà alcune informazioni relative ai filesystem montati. Non useremo nulla di più grande di cat per visualizzare il file.

cat /proc/mounts

cat / proc / monta in una finestra terminale

L'elenco mostra lo speciale file del dispositivo in / dev utilizzato per interfacciarsi al dispositivo e il punto di montaggio sull'albero del filesystem.

output da cat / proc / monta in una finestra terminale

Possiamo perfezionare l'elenco usando grep per cercare voci con / dev / sd in esse. Questo filtrerà le unità fisiche.

cat /proc/mounts | grep /dev/sd

gatto / proc / monti | grep / dev / sd in una finestra terminale

Questo ci dà un rapporto molto più gestibile.

output da cat / proc / monta in una finestra terminale

Possiamo essere leggermente più inclusivi utilizzando grep per cercare dispositivi che hanno file speciali di dispositivi / dev / sd e / dev / sr. Ciò includerà i dischi rigidi e il CD ROM per questa macchina.

cat /proc/partitions | grep s(rd)

gatto / proc / partizioni | grep s (rd) in una finestra terminale

Ora ci sono due dispositivi e una partizione inclusi nell'output.

output da cat / proc / monta in una finestra terminale

6. Il comando lspci

Il lspci Il comando elenca tutti i dispositivi PCI nel computer.

lspci

lspci in una finestra terminale

Le informazioni fornite sono:

  • Fessura: Lo slot in cui è installato il dispositivo PCi
  • Classe: La classe del dispositivo.
  • Nome del fornitore: Il nome del produttore.
  • Nome del dispositivo: Il nome del dispositivo.
  • Subsystem: Nome del fornitore del sottosistema (se il dispositivo ha un sottosistema).
  • Nome del sottosistema: Se il dispositivo ha un sottosistema.
  • Numero di revisione: Il numero di versione del dispositivo
  • Interfaccia di programmazione: L'interfaccia di programmazione, se il dispositivo ne fornisce una.

Uscita lspci in una finestra terminale

7. Il comando lsusb

Il lsusb Il comando elencherà i dispositivi collegati alle porte USB del computer, nonché i dispositivi abilitati USB integrati nel computer.

lsusb

lsusb in una finestra terminale

Questo computer di prova ha uno scanner Canon collegato come dispositivo USB 5 e un'unità USB esterna come dispositivo USB 4. I dispositivi 3 e 1 sono gestori di interfaccia USB interni.

Dispositivi USB elencati in una finestra del terminale

Puoi ricevere un elenco più dettagliato usando il -v (verbose) e una versione ancora più dettagliata usando -vv.

8. Il comando lsdev

Il lsdev Il comando visualizza informazioni su tutti i dispositivi installati.

Questo comando genera un sacco di output, quindi ne eseguiremo meno.

lsdev | less

lsdev | meno in una finestra terminale

Ci sono molti dispositivi hardware elencati nell'output.

Uscita lsdev instradata attraverso less in una finestra terminale

9. Il comando lshw

Il lshw Il comando elenca i dispositivi collegati al computer. Questo è un altro comando con un sacco di output. Sul computer di prova sono state generate oltre 260 righe di informazioni. Lo faremo passare less ancora una volta.

Si noti che è necessario utilizzare sudo con lshw per ottenere il massimo da esso. In caso contrario, non sarà in grado di accedere a tutti i dispositivi.

sudo lshw | less

sudo lshw | meno in una finestra terminale

Ecco la voce per il CD ROM con un'interfaccia SCSI. Come puoi vedere, le informazioni fornite per ciascun dispositivo sono molto dettagliate. lshw legge la maggior parte delle sue informazioni dai vari file in / proc.

output di lshw in meno in una finestra terminale

Se si desidera un output più breve e meno dettagliato, è possibile utilizzare il --short opzione.

10. Il comando lsscsi

Come immagineresti ormai, il lsscsi Il comando elenca i dispositivi SCSI collegati al computer.

lsscsi

lsscsi in una finestra terminale

Ecco i dispositivi SCSI collegati a questa macchina di prova.

Uscita lsscsi in un terminale widnow

11. Il comando dmidecode

Il dmidecode i comandi decodifica le tabelle DMI (Desktop Management Interface) ed estrae le informazioni relative all'hardware collegato al computer e all'interno del computer.

Il DMI viene talvolta definito SMBIOS (il sistema di input / output di base della gestione del sistema) sebbene siano due standard diversi.

Ancora una volta, lo faremo attraverso less.

dmidecode | less

dmidecode output in una finestra di terminale

Il dmidecode il comando può riferire su oltre 40 diversi tipi di hardware.

12. Il comando hwinfo

Il hwinfo il comando è il più dettagliato di tutti. Quando diciamo che devi convogliare qualcosa less, questa volta non è facoltativo. Sul computer di prova ha generato 5850 linee di output!

Puoi iniziare le cose delicatamente includendo il --short opzione.

hwinfo --short

hwinfo --short in una finestra terminale

Se hai davvero bisogno di vedere i dettagli più precisi, ripeti questo e ometti il --short opzione.

output da hwinfo in meno in una finestra terminale

Avvolgetelo

Quindi, ecco le nostre dozzine di modi per esaminare i dispositivi all'interno o collegati al tuo computer.

Qualunque sia il tuo particolare interesse nella ricerca di questo hardware, ci sarà un metodo in questo elenco che ti permetterà di trovare quello che ti serve.

Articoli correlati

Ultimi articoli