GNU/Linux >> Linux Esercitazione >  >> Linux

Esercitazione sui comandi Linux lsblk per principianti (8 esempi)

In Linux, i dispositivi a blocchi sono file speciali che fanno riferimento o rappresentano un dispositivo (che potrebbe essere qualsiasi cosa, da un disco rigido a un'unità USB). Quindi, naturalmente, ci sono strumenti da riga di comando che ti aiutano con il tuo lavoro relativo ai dispositivi a blocchi. Una volta che tale utilità è lsblk .

In questo tutorial, discuteremo questo comando usando alcuni esempi di facile comprensione. Ma prima di farlo, vale la pena ricordare che tutti gli esempi qui menzionati sono stati testati su una macchina Ubuntu 18.04 LTS.

Comando Linux lsblk

Il comando lsblk in Linux elenca i dispositivi a blocchi. Di seguito è riportata la sua sintassi:

lsblk [options] [device...]

Ed ecco come lo spiega la pagina man dello strumento:

       lsblk  lists  information  about  all  available or the specified block
       devices.  The lsblk command reads the sysfs filesystem and udev  db  to
       gather  information.  If  the udev db is not available or lsblk is com?
       piled without udev support than it tries  to  read  LABELs,  UUIDs  and
       filesystem  types  from the block device. In this case root permissions
       are necessary.

       The command prints all block devices (except RAM disks) in a  tree-like
       format  by  default.   Use  lsblk --help to get a list of all available
       columns.

       The default output, as well as the default  output  from  options  like
       --fs  and  --topology, is subject to change.  So whenever possible, you
       should avoid using default outputs in your scripts.  Always  explicitly
       define  expected columns by using --output columns-list in environments
       where a stable output is required.

       Note that lsblk might be executed in time when udev does not  have  all
       information  about recently added or modified devices yet. In this case
       it is recommended to use udevadm settle  before  lsblk  to  synchronize
       with udev

Di seguito sono riportati alcuni esempi in stile domande e risposte che dovrebbero darti un'idea migliore di come funziona lsblk.

Q1. Come usare il comando lsblk?

L'utilizzo di base è abbastanza semplice:basta eseguire 'lsblk' senza qualsiasi opzione.

lsblk

Di seguito è riportato l'output prodotto da questo comando sul mio sistema:

La prima colonna elenca i nomi dei dispositivi, seguiti dai corrispondenti numeri dei dispositivi principali e secondari, indipendentemente dal fatto che il dispositivo sia rimovibile o meno (1 nel caso lo sia), dimensioni del dispositivo, se il dispositivo è di sola lettura o meno, tipo di dispositivo (disco , partizione, ecc.) e infine il punto di montaggio del dispositivo (se disponibile).

Q2. Come fare in modo che lsblk visualizzi anche i dispositivi vuoti?

Per impostazione predefinita, il comando lsblk visualizza solo i dispositivi non vuoti. Tuttavia, puoi forzare lo strumento a visualizzare anche i dispositivi vuoti. Per questo, usa l'opzione della riga di comando -a.

lsblk -a

Ad esempio nel mio caso, il comando precedente ha prodotto il seguente output:

La riga "loop 13" è la nuova aggiunta in questo caso.

T3. Come rendere le informazioni sulle dimensioni di stampa di lsblk in byte?

Per impostazione predefinita, lsblk stampa le informazioni sulle dimensioni in un formato leggibile dall'uomo. Anche se questo è buono, ci sono momenti in cui potresti aver bisogno di dimensioni in byte. La cosa buona è che c'è un'opzione (-b) che fa questo.

lsblk -b

Di seguito è riportato un esempio di output:

Quindi puoi vedere che la colonna "Dimensione" ora contiene voci in byte.

Q4. Come creare un modello di zona di stampa lsblk per ogni dispositivo?

Puoi farlo usando l'opzione della riga di comando -z.

lsblk -z

Ad esempio, ecco l'output del suddetto comando prodotto sul mio sistema:

NAME   ZONED
loop0  none
loop1  none
loop2  none
loop3  none
loop4  none
loop5  none
loop6  none
loop7  none
loop8  none
loop9  none
loop10 none
loop11 none
loop12 none
sda    none
??sda1 none
??sda2 none
??sda3 none
??sda4 none
??sda5 none
??sda6 none
??sda7 none
??sda8 none
sdb    none
??sdb1 none
??sdb2 none

Q5. Come fare in modo che lsblk salti le voci per gli slave?

Per questo, devi utilizzare l'opzione della riga di comando -d, che dice a lsblk di non stampare le informazioni relative ai dispositivi holder o slave.

lsblk -d

Ecco un esempio di output:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0   3.3M  1 loop /snap/gnome-system-monitor/36
loop1    7:1    0  86.6M  1 loop /snap/core/4486
loop2    7:2    0   140M  1 loop /snap/gnome-3-26-1604/59
loop3    7:3    0    21M  1 loop /snap/gnome-logs/25
loop4    7:4    0    87M  1 loop /snap/core/5145
loop5    7:5    0   1.6M  1 loop /snap/gnome-calculator/154
loop6    7:6    0   2.3M  1 loop /snap/gnome-calculator/180
loop7    7:7    0  14.5M  1 loop /snap/gnome-logs/37
loop8    7:8    0   3.7M  1 loop /snap/gnome-system-monitor/51
loop9    7:9    0  12.2M  1 loop /snap/gnome-characters/69
loop10   7:10   0    13M  1 loop /snap/gnome-characters/103
loop11   7:11   0 140.9M  1 loop /snap/gnome-3-26-1604/70
loop12   7:12   0  86.9M  1 loop /snap/core/4917
sda      8:0    0 931.5G  0 disk
sdb      8:16   1  14.7G  0 disk

Se si confronta con l'output prodotto nei casi precedenti, in questo caso non vengono prodotte voci slave nell'output.

Q6. Come fare in modo che lsblk utilizzi i caratteri ascii per la formattazione dell'albero?

Per impostazione predefinita, il tipo di formattazione dell'albero utilizzato da lsblk potrebbe non essere facile da usare in molti casi. Ad esempio, il copia-incolla può causare problemi di formattazione. Quindi, se lo desideri, puoi forzare lo strumento a utilizzare i caratteri ascii per la formattazione dell'albero, cosa che puoi fare usando l'opzione della riga di comando -i.

lsblk -i

Ecco un esempio di output:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0   3.3M  1 loop /snap/gnome-system-monitor/36
loop1    7:1    0  86.6M  1 loop /snap/core/4486
loop2    7:2    0   140M  1 loop /snap/gnome-3-26-1604/59
loop3    7:3    0    21M  1 loop /snap/gnome-logs/25
loop4    7:4    0    87M  1 loop /snap/core/5145
loop5    7:5    0   1.6M  1 loop /snap/gnome-calculator/154
loop6    7:6    0   2.3M  1 loop /snap/gnome-calculator/180
loop7    7:7    0  14.5M  1 loop /snap/gnome-logs/37
loop8    7:8    0   3.7M  1 loop /snap/gnome-system-monitor/51
loop9    7:9    0  12.2M  1 loop /snap/gnome-characters/69
loop10   7:10   0    13M  1 loop /snap/gnome-characters/103
loop11   7:11   0 140.9M  1 loop /snap/gnome-3-26-1604/70
loop12   7:12   0  86.9M  1 loop /snap/core/4917
sda      8:0    0 931.5G  0 disk
|-sda1   8:1    0   100M  0 part
|-sda2   8:2    0  52.5G  0 part
|-sda3   8:3    0   293G  0 part
|-sda4   8:4    0     1K  0 part
|-sda5   8:5    0  93.4G  0 part
|-sda6   8:6    0   293G  0 part
|-sda7   8:7    0   3.9G  0 part
`-sda8   8:8    0 195.8G  0 part /
sdb      8:16   1  14.7G  0 disk
|-sdb1   8:17   1   200M  0 part
`-sdb2   8:18   1  14.5G  0 part

Quindi puoi vedere l'output (vedi voci sda) ora contiene caratteri ASCII nella formattazione ad albero.

Q7. Come fare in modo che lsblk visualizzi informazioni su proprietario, gruppo e modalità del dispositivo?

Questo può essere ottenuto usando l'opzione della riga di comando -m.

lsblk -m

Ecco l'output del suddetto comando prodotto nel mio caso:

Q8. Come fare in modo che l'output di lsblk selezioni le colonne?

Se lo desideri, puoi anche indirizzare lsblk in modo che produca solo colonne selezionate, cosa che puoi fare usando l'opzione della riga di comando -o (che richiede di passare un elenco di colonne separate da virgole che desideri visualizzare).

Ad esempio:

lsblk -o NAME,SIZE

Il suddetto comando ha prodotto il seguente output:

Conclusione

Se il tuo lavoro su Linux prevede l'accesso alle informazioni relative ai dispositivi a blocchi, lsblk è un comando da conoscere per te. Qui, in questo tutorial, abbiamo discusso diverse opzioni della riga di comando offerte da questo strumento. Per saperne di più su lsblk, vai alla sua pagina man.


Linux
  1. Tutorial sul comando cd di Linux per principianti (8 esempi)

  2. Tutorial comando Linux comm per principianti (5 esempi)

  3. Linux df Command Tutorial per principianti (8 esempi)

  4. Tutorial sul comando della data di Linux per principianti (8 esempi)

  5. Tutorial sul comando del nome host Linux per principianti (5 esempi)

Linux who Command Tutorial per principianti (8 esempi)

Linux nl Command Tutorial per principianti (7 esempi)

Tutorial sui comandi Linux nm per principianti (10 esempi)

Esercitazione sui comandi OD Linux per principianti (6 esempi)

Linux w Command Tutorial per principianti (5 esempi)

Tutorial sui comandi Linux ss per principianti (8 esempi)