GNU/Linux >> Linux Esercitazione >  >> Linux

Trovare tutti i dispositivi di archiviazione collegati a una macchina Linux

Se uno è interessato solo al blocco dispositivi di archiviazione, si può usare lsblk dal pacchetto util-linux ampiamente disponibile:

$ lsblk -o KNAME,TYPE,SIZE,MODEL
KNAME TYPE   SIZE MODEL
sda   disk 149.1G TOSHIBA MK1637GS
sda1  part  23.3G 
sda2  part    28G 
sda3  part  93.6G 
sda4  part   4.3G 
sr0   rom   1024M CD/DVDW TS-L632M

Si presta bene allo scripting con molte altre colonne disponibili.


Potresti esaminare l'output di lshw ed estrarre i dettagli sui dispositivi nel disk o tape class (e forse altri - storage class fornisce dettagli su controller di archiviazione, scsi, sata, sas, ecc.).

ad esempio

lshw -class disk -class tape

Il -short L'opzione fornisce un bel riassunto compatto. per esempio. sul mio server/workstation/experiment-box zfsonlinux di casa (nessun dispositivo a nastro purtroppo):

# lshw -class tape -class disk -class storage -short
H/W path              Device      Class       Description
=========================================================
/0/100/4/0                        storage     JMB362 SATA Controller
/0/100/5/0            scsi10      storage     JMB362 SATA Controller
/0/100/5/0/0.0.0      /dev/sdc    disk        120GB Patriot Wildfire
/0/100/b/0            scsi1       storage     SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]
/0/100/b/0/0.0.0      /dev/sdd    disk        1TB WDC WD10EARS-00Y
/0/100/b/0/0.1.0      /dev/sde    disk        1TB WDC WD10EACS-00Z
/0/100/b/0/0.2.0      /dev/sdf    disk        1TB WDC WD10EACS-00Z
/0/100/b/0/0.3.0      /dev/sdg    disk        1TB ST31000528AS
/0/100/b/0/0.4.0      /dev/sdh    disk        1TB ST31000528AS
/0/100/b/0/0.5.0      /dev/sdi    disk        1TB ST31000528AS
/0/100/b/0/0.6.0      /dev/sdj    disk        1TB ST31000528AS
/0/100/11             scsi2       storage     SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
/0/100/11/0           /dev/sda    disk        128GB Patriot Torqx 2
/0/100/11/1           /dev/sdb    disk        1TB ST31000528AS
/0/1                  scsi11      storage     
/0/1/0.0.0            /dev/sdk    disk        1967MB SCSI Disk
/0/1/0.0.1            /dev/sdl    disk        SCSI Disk
/0/1/0.0.2            /dev/sdm    disk        SCSI Disk
/0/1/0.0.3            /dev/sdn    disk        SCSI Disk
/0/2                  scsi66      storage     
/0/2/0.0.0            /dev/sdo    disk        SCSI Disk
/0/3                  scsi67      storage     
/0/3/0.0.0            /dev/sdp    disk        4057MB SCSI Disk

I dispositivi /0/1 sono in realtà un lettore di schede USB (c'è una scheda SD da 2 GB collegata a uno degli slot) e il dispositivo /0/2 è il mio telefono Android collegato solo per la ricarica. Il dispositivo 0/3 è un'unità flash USB da 4 GB.

lshw può produrre output di testo normale, html, xml e json. Può anche eseguire il dump dei dettagli hardware in un formato di database sqlite.

È impacchettato per Debian e la maggior parte delle altre distribuzioni. La home page e la fonte sono all'indirizzo http://ezix.org/project/wiki/HardwareLiSter


Puoi usare lsblk per elencare tutti i dispositivi a blocchi, insieme all'indicazione se ogni dispositivo è di sola lettura o meno.

Puoi quindi utilizzare grep e awk per stampare i nomi dei dispositivi a blocchi che non sono di sola lettura:

lsblk -d -n -oNAME,RO | grep '0$' | awk {'print $1'}

Linux
  1. Esegui una macchina virtuale Linux in Podman

  2. Trova tutti i dispositivi di archiviazione collegati a una macchina Linux

  3. Linux può montare una normale directory di immagini del disco in bundle sparse di Time Machine?

  4. Aumentare la frequenza di polling USB su tutti i dispositivi in ​​Linux?

  5. Montaggio automatico di tutte le partizioni sul disco rigido su Linux Mint

Come estendere la dimensione del disco della macchina virtuale KVM in Linux

Come elencare le partizioni del disco in Linux

RAID Linux

4 esempi per elencare tutte le unità (montate e smontate) su Linux

Come crittografare la partizione su Linux

Tutti i metodi per eseguire una macchina virtuale su sistema Linux