
Scopri tutto sui punti di montaggio del tuo file system con Linux findmnt comando. È 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 snap pacchetti che avrai squashfs pseudo-file system anche 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 montaggio. 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.
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 findmnt comando 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.
Viene chiamato lo strumento da riga di comando che usi per montare i file system mount. I file system montati all’avvio sono definiti nel file “/etc/fstab”. Puoi usare il mount comando per ottenere un dump di tutti i punti di montaggio configurati nel file “/etc/fstab”.
mount

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

Con un po ‘di sforzo, puoi scegliere la tua strada o convogliarlo attraverso utilità come grep per strizzare l’occhio ai bit che ti interessano. L’output da findmnt è molto più accessibile.
findmnt

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

Le colonne sono:
- Obbiettivo: La posizione del punto di montaggio nel file system
- Fonte: 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 mount da riga di comando o nel file “/etc/fstab” per montare il file system.
Per vedere l’output senza l’albero, utilizzare il file -l opzione (elenco).
findmnt -l

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

Selezione di tipi di file system specifici
L’opzione -t (tipo) causa findmnt per limitare il suo rapporto in modo da includere solo il tipo di file system richiesto. Ad esempio, solo per vedere ext4 file system, useresti:
findmnt -t exta

Solo per vedere squashfs file system che digiteresti:
findmnt -t squashfs

Per invertire la selezione in modo da vedere tutto il resto a parte il tipo che hai specificato nella riga di comando, usa il comando -i opzione (invertire).
findmnt -t squashfs -i

Il squashfs i file system non vengono segnalati.

Il -t L’opzione (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

Scelta dell’origine dati
Per impostazione predefinita, findmnt ottiene le sue informazioni da “/etc/fstab”, “/etc/mtab” e “/proc/self/mountinfo”.
- /ecc/fstab: questo è il file che contiene i dettagli dei montaggi configurati. Questi vengono agiti al momento dell’avvio.
- /etc/mtab: questo file contiene i dettagli delle cavalcature attualmente montate.
- /proc/self/mountinfo: Questo interroga il kernel per l’account più autorevole dei mount del tuo sistema.
Lo puoi dire findmnt utilizzare una fonte particolare, se lo si desidera. 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”.
Possiamo vedere la differenza che questo può fare se cerchiamo vfat file system. Per prima cosa, useremo il -s opzione (fstab). Questo ne trova uno vfat file system, montato in “/boot/efi”.
findmnt -s -t vfat

Ci riproveremo e questa volta useremo il -k opzione (kernel).
findmnt -k -t vfat

Questo riporta su quattro voci. Uno è lo stesso vfat file system che il -s opzione trovata. Gli altri tre lo sono ad hoc montaggi che si sono verificati perché sono state inserite due memory stick USB -s l’opzione non li ha trovati perché non sono configurati 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”.
IMPARENTATO: Che cos’è il file fstab di Linux e come funziona?
Selezione per Mount Point
Se conosci il punto di montaggio puoi passarlo findmnt per scoprire le impostazioni e altri dettagli.
findmnt /media/dave/PINK
findmnt /media/dave/WHITEUSB

Possiamo vedere che queste due memory stick USB hanno vfat file system e sono stati montati come “/dev/sdb2” e “/dev/sdc1”.
Utilizzo della modalità polling in findmnt
Forse la caratteristica più interessante di findmnt è la sua caratteristica 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.
Ci sono due modi per farlo. Puoi chiedere findmnt per monitorare nuove montature per un periodo di tempo, espresso in millisecondi. Vengono segnalati tutti i montaggi che si verificano durante quel periodo. Questo usa il --timeout opzione.
Il secondo modo racconta findmnt attendere fino a quando non ha rilevato una nuova montatura. Questo usa il --first-only opzione. Aspetterà il tempo necessario affinché si verifichi un nuovo montaggio, ma riporterà solo il primo montaggio che si verifica. Il --timeout l’opzione riporterà su tutti i nuovi montaggi che si verificano durante il periodo di polling specificato.
Questo comando dice findmnt per monitorare le nuove cavalcature per 30 secondi.
findmnt -p --timeout 30000

Durante tale periodo è stata inserita una singola memory stick USB, segnalata e findmnt continua a monitorare per il resto dei 30 secondi.
Questo comando dice findmnt per monitorare nuovi montaggi finché non vede un nuovo punto di montaggio creato.
findmnt -p --first-only

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 findmnt comando 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.
IMPARENTATO: Come sovrascrivere lo spazio libero in modo sicuro in Windows
