GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottenere l'elenco completo ed esatto dei filesystem montati in Linux?

L'elenco definitivo dei filesystem montati è in /proc/mounts .

Se hai qualsiasi forma di contenitori sul tuo sistema, /proc/mounts elenca solo i filesystem che si trovano nel tuo contenitore attuale. Ad esempio, in un chroot, /proc/mounts elenca solo i filesystem il cui punto di montaggio è all'interno del chroot. (Ci sono modi per sfuggire al chroot, attenzione.)

C'è anche un elenco di filesystem montati in /etc/mtab . Questa lista è gestita dal mount e umount comandi. Ciò significa che se non usi questi comandi (il che è piuttosto raro), la tua azione (montaggio o smontaggio) non verrà registrata. In pratica, è principalmente in un chroot che troverai /etc/mtab file che differiscono enormemente dallo stato del sistema. Inoltre, i montaggi eseguiti nel chroot si rifletteranno nel /etc/mtab del chroot ma non nel /etc/mtab principale . Azioni eseguite mentre /etc/mtab si trova su un filesystem di sola lettura non vengono registrate lì.

Il motivo per cui a volte vorresti consultare /etc/mtab in preferenza o in aggiunta a /proc/mounts è che poiché ha accesso alla riga di comando di mount, a volte è in grado di presentare le informazioni in un modo più facile da capire; ad esempio vedi le opzioni di montaggio come richiesto (mentre /proc/mounts elenca il mount e anche le impostazioni predefinite del kernel) e i bind mount appaiono come tali in /etc/mtab .


A partire dalla v. 2.18 (luglio 2010) util-linux include uno strumento che consente di visualizzare un elenco dei file system attualmente montati:

findmnt

Puoi passare dalla visualizzazione ad albero predefinita alla visualizzazione elenco con -l , definisci le colonne di output con -o (simile a lsblk ), filtra i risultati in base al tipo di filesystem con -t ecc...

findmnt -lo source,target,fstype,label,options,used -t ext4
SOURCE    TARGET      FSTYPE LABEL OPTIONS                           USED
/dev/sda1 /           ext4   ARCH  rw,noatime,discard,data=ordered  17.6G
/dev/sdb2 /media/DATA ext4   DATA  rw,noatime,discard,data=ordered    44M

Per maggiori dettagli leggi il man pagina (e findmnt --help per ottenere l'elenco delle colonne disponibili)


Forse perché sono passati 5 anni da quando è stata data risposta a questa domanda, le cose sono cambiate. Il cat /proc/mounts crea molte informazioni che non ti interessano. Oggi, IMHO, trovo che questa sia la soluzione definitiva.

df -h --output=source,target

quando leggi le pagine man ci sono tutti i tipi di opzioni che puoi fare, ma questo è quello che fai. Ad esempio, per ripulire ancora di più i risultati, puoi escludere i tipi di file "tmpfs" con questo comando:

df -hx tmpfs --output=source,target

df funziona a livello di filesystem e non a livello di file.

I comandi precedenti includeranno anche i montaggi di rete.

Per vedere un po' più di informazioni usa questo:

df -hT

NOTA Con connessioni di rete montate lente questo può richiedere diversi minuti!

Se non hai o non ti interessano le connessioni di rete montate (e hai i permessi di root) allora è ancora meglio:

sudo lsblk -f

Linux
  1. Come modificare le impostazioni del fuso orario in Linux?

  2. Linux – Unire /usr/bin e /usr/sbin in /bin (gnu/linux)?

  3. comando grpck – Rimuove le voci danneggiate o duplicate nei file /etc/group e /etc/gshadow.

  4. Come possiamo ottenere un elenco di utenti non di sistema su Linux?

  5. Come posso ripristinare un chmod nella directory etc?

Come ottenere la dimensione di una directory in Linux

Come trovare ed elencare in modo ricorsivo i file per data in Linux

Come elencare i filesystem in Linux usando Lfs

Il modo giusto per modificare i file /etc/passwd e /etc/group in Linux

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

Qual è la connessione tra le directory /etc/init.d e /etc/rcX.d in Linux?