Come utilizzare il comando findmnt su Linux

Pubblicato: 2022-06-16
Illustrazione di un sistema di gestione dei documenti che galleggia su un laptop aperto
NicoElNino/Shutterstock.com

Scopri tutto sui punti di montaggio del tuo file system con il comando findmnt di Linux. È uno strumento all-in-one con una sintassi molto semplice. Ti mostriamo come usarlo.

Punti di montaggio

Il file system Linux è un grande albero. A seconda delle scelte che hai fatto durante l'installazione di Linux, diversi dischi rigidi all'interno del tuo computer potrebbero avere diversi file system su di essi. Se usi i pacchetti snap , avrai anche gli pseudo-file system squashfs nel tuo sistema. Dispositivi come le chiavette di memoria USB avranno file system assortiti su di essi, soprattutto se li utilizzi anche su computer Windows.

Indipendentemente dal tipo di file system, devono essere tutti innestati nell'albero del file system in un processo chiamato mount . Il montaggio è un passaggio cruciale per ottenere un sistema funzionante. Tendiamo a pensare di montare un dispositivo come un disco rigido, ma in realtà ciò che viene montato è il file system su quel dispositivo. E senza l'accesso a tutti questi vari file system, il tuo computer potrebbe non avviarsi o non sarai in grado di accedere ad applicazioni o dati.

Come montare e smontare i dispositivi di archiviazione dal terminale Linux
CORRELATI Come montare e smontare i dispositivi di archiviazione dal terminale Linux

I file system sono montati su punti di montaggio. Queste sono solo directory vuote. Una volta che il file system è stato montato, l'accesso a quella directory ti porta in quel file system. Ciò offre una grande flessibilità. La radice dell'albero del file system deve essere montata su " / ", ma puoi montare altri file system dove mai ha più senso nelle tue circostanze particolari.

Questa flessibilità significa che può essere difficile tenere traccia di tutti i diversi punti di montaggio, in particolare quelli che sono stati creati automaticamente e sono stati creati senza il tuo coinvolgimento. Linux fornisce una varietà di strumenti da riga di comando per consentirti di rivedere la configurazione e lo stato dei tuoi punti di montaggio. Tra tutti, findmnt è il più facile da usare e ha alcuni trucchi tutti suoi.

Il comando findmnt

Il comando findmnt era già installato sulle build Ubuntu, Manjaro e Fedora che abbiamo verificato. Se non è installato sul tuo computer Linux, sarai in grado di trovarlo facilmente utilizzando il gestore di pacchetti per la tua distribuzione.

Annuncio

Lo strumento da riga di comando utilizzato per montare i file system si chiama mount . I file system montati all'avvio sono definiti nel file "/etc/fstab". È possibile utilizzare il comando mount per ottenere un dump di tutti i punti di montaggio configurati nel file "/etc/fstab".

 montare 

Il comando di montaggio

L'output è dettagliato, ma formattato in un denso muro di testo.

Il dump grezzo delle informazioni dal comando mount

Con un po' di sforzo, puoi scegliere la tua strada o inviarlo tramite utilità come grep per eliminare i bit che ti interessano. L'output di findmnt è molto più accessibile.

 trova 

Il comando trova

Al contrario, l'output predefinito di findmnt è tabulato e contiene un albero che mostra la gerarchia dei punti di montaggio.

L'output tabulato da findmnt

Le colonne sono:

  • Destinazione : la posizione del punto di montaggio nel file system
  • Sorgente : il dispositivo di origine che contiene il file system. Nota che questo potrebbe essere uno pseudo-dispositivo come un dispositivo di loopback.
  • Fstype : il tipo di file system.
  • Opzioni : le opzioni utilizzate con il comando di montaggio della riga di comando o nel file "/etc/fstab" per montare il file system.

Per visualizzare l'output senza l'albero, utilizzare l'opzione -l (list).

 ritrovamento -l 

Il comando findmnt con l'opzione -l list

Annuncio

Le colonne sono le stesse, ma la gerarchia del punto di montaggio non è rappresentata come un albero rientrato.

L'output dell'elenco di findmnt

Selezione di tipi di file system specifici

L'opzione -t (tipo) fa sì che findmnt limiti il ​​suo rapporto per includere solo il tipo di file system richiesto. Ad esempio, per vedere solo i file system ext4 , dovresti usare:

 findmnt -t exta 

Ispezione dei punti di montaggio del file system ext4 con findmnt

Per vedere solo i file system squashfs , devi digitare:

 findmnt -t squashfs 

Ispezione dei punti di montaggio del file system squashfs con findmnt

Per invertire la selezione in modo da vedere tutto il resto a parte il tipo che hai specificato sulla riga di comando, usa l'opzione -i (inverti).

 findmnt -t squashfs -i 

Escludendo i punti di montaggio di squashfs con l'opzione -i invert

I file system squashfs non vengono segnalati.

Output da findmnt con file system squashfs ignorato

L'opzione -t (tipo) consente di utilizzare un elenco di tipi di file system separati da virgole. Non inserire spazi tra di loro, poiché gli spazi bianchi non sono consentiti tra i tipi di file system.

 findmnt -t squashfs,proc,ext4 

Selezione di tre tipi di punto di montaggio del file system contemporaneamente con findmnt

Scelta dell'origine dati

Per impostazione predefinita, findmnt ottiene le sue informazioni da "/etc/fstab", "/etc/mtab" e "/proc/self/mountinfo".

  • /etc/fstab : questo è il file che contiene i dettagli dei mount configurati. Questi vengono agiti al momento dell'avvio.
  • /etc/mtab : questo file contiene i dettagli dei mount attualmente montati.
  • /proc/self/mountinfo : questo interroga il kernel per l'account più autorevole dei mount del tuo sistema.

Puoi dire a findmnt di utilizzare una fonte particolare, se lo desideri. Le opzioni sono:

  • —fstab o -s : cerca solo in "/etc/fstab".
  • —mtab o -m : Cerca solo in "/etc/mtab".
  • —kernel o -k : cerca solo in "/proc/self/mountinfo".
Annuncio

Possiamo vedere la differenza che questo può fare se cerchiamo i file system vfat . Per prima cosa, useremo l'opzione -s (fstab). Questo trova un file system vfat , montato in "/boot/efi".

 findmnt -s -t vfat 

Utilizzo di findmnt per cercare in /etc/fstab i montaggi del file system vfat

Ci riproveremo e questa volta useremo l'opzione -k (kernel).

 findmnt -k -t vfat 

Utilizzo di findmnt per cercare /proc/self/mount per i montaggi del file system vfat

Come scrivere un file fstab su Linux
CORRELATI Come scrivere un file fstab su Linux

Questo riporta su quattro voci. Uno è lo stesso file system vfat trovato dall'opzione -s . Gli altri tre sono montaggi ad hoc che si sono verificati perché sono state collegate due chiavette USB. L'opzione -s non le ha trovate perché non sono configurate nel file “/etc/fstab”.

Una memory stick USB è collegata come "/dev/sdc1", che è la prima partizione sul dispositivo sdc . L'altra memory stick ha due partizioni e queste sono state montate come "/dev/sdb1" e "/dev/sdb2".

CORRELATI: Cos'è il file fstab di Linux e come funziona?

Selezione per Mount Point

Se conosci il punto di montaggio, puoi passarlo a findmnt per scoprire le impostazioni e altri dettagli.

 trova /media/dave/ROSA
 trovamnt /media/dave/WHITEUSB 

Ispezione dei punti di montaggio per nome con findmnt

Annuncio

Possiamo vedere che queste due memory stick USB hanno file system vfat e sono state montate come "/dev/sdb2" e "/dev/sdc1".

Utilizzo della modalità polling in findmnt

Forse la caratteristica più interessante di findmnt è la sua funzione di polling. Scrivere immagini su dispositivi USB è qualcosa che puoi ritrovarti a fare periodicamente. L'identificazione dell'unità corretta è ovviamente fondamentale. Non vuoi sovrascrivere il dispositivo sbagliato. findmnt rende facile vedere a quale dispositivo è collegata un'unità rimovibile.

Come masterizzare un file ISO su un'unità USB in Linux
CORRELATO Come masterizzare un file ISO su un'unità USB in Linux

Ci sono due modi per farlo. Puoi chiedere a findmnt di monitorare i nuovi mount per un periodo di tempo, espresso in millisecondi. Vengono segnalati tutti i montaggi che si verificano durante quel periodo. Questo usa l'opzione --timeout .

Il secondo modo dice a findmnt di attendere fino a quando non ha rilevato un nuovo mount. Questo usa l'opzione --first-only . Aspetterà il tempo necessario affinché si verifichi un nuovo montaggio, ma riporterà solo il primo montaggio che si verifica. L'opzione --timeout riporterà tutti i nuovi montaggi che si verificano durante il periodo di polling specificato.

Questo comando dice a findmnt di monitorare i nuovi mount per 30 secondi.

 findmnt -p --timeout 30000 

Fare il Findmnt monitor per nuovi punti di montaggio per 30 secondi

Durante quel periodo è stata collegata una singola memory stick USB, segnalata e findmnt continua a monitorare per il resto dei 30 secondi.

Questo comando dice a findmnt di monitorare nuovi montaggi finché non vede un nuovo punto di montaggio creato.

 findmnt -p --first-only 

aspettando il prossimo nuovo punto di montaggio con findmnt

Annuncio

Quando un nuovo dispositivo viene collegato, segnala un nuovo punto di montaggio, quindi esce al prompt dei comandi.

Un modo semplice per evitare i falli

Sovrascrivere il dispositivo sbagliato è sempre un disastro. Il comando findmnt semplifica l'identificazione positiva di un dispositivo che hai appena collegato, rendendo il processo di sovrascrittura molto più sicuro.

Facile e più sicuro è un altro modo per dire win win.

CORRELATI: Come sovrascrivere lo spazio libero in modo sicuro in Windows