Non utilizzare mount
.
Da man mount
:
- L'elenco.
- La modalità elenco viene mantenuta solo per compatibilità con le versioni precedenti.
- Per un output più solido e personalizzabile usa
findmnt
(8), specialmente nei tuoi script. - Notare che i caratteri di controllo nel nome del punto di montaggio vengono sostituiti con ? .
Usa findmnt
, come suggerisce la documentazione. Ecco alcune opzioni interessanti descritte da findmnt --help
:
-i
o--invert
- invertire il senso della corrispondenza
-R
o--submounts
- stampa tutti i submount per i filesystem corrispondenti
-t
o--types
list
- limitare l'insieme dei filesystem in base ai tipi di FS
Questi sono solo un paio dei molti filtri che puoi applicare sulla riga di comando.
man findmnt
- ESEMPI
findmnt --fstab -t nfs
- Stampa tutti i filesystem NFS definiti in
/etc/fstab
. findmnt --fstab /mnt/foo
- Stampa tutto
/etc/fstab
filesystem in cui la directory del punto di montaggio è/mnt/foo
. Stampa anche--bind
monta dove/mnt/foo
è una fonte.
Potresti usare:
findmnt -it sysfs,cgroup,proc,devtmpfs,devpts,pstore,debugfs,hugetlbfs,mqueue,configfs
dovrebbe filtrare tutti gli pseudo-filesystem, credo.
Tuttavia, puoi fare lo stesso con mount
:
mount -t nosysfs,nodevtmpfs...
Forse un modo migliore potrebbe essere quello di utilizzare uno dei seguenti comandi, quale findmnt --help
descrive come indicato:
findmnt -D
ofindmnt --df
- Imitare l'output di
df
(1). Questa opzione equivale a-o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET
ma esclude tutti gli pseudo filesystem. Usa--all
per stampare tutti i filesystem.
- Imitare l'output di
Puoi aggiungere campi elenco ai valori predefiniti con findmnt -Do
+field,+field
.... Puoi specificare il tuo elenco di campi utilizzando solo i file system -D
mostrerebbe omettendo il +
come findmnt -Do
field,field
.
Che ne dici di:
mount | grep '^/[^/]'
I punti di montaggio relativi ai dischi fisici inizieranno sempre con un /
poiché il primo campo è il percorso verso un dispositivo. cifs
i montaggi inizieranno con //
quindi escludi le righe con un secondo /
ignorarli.
Aggiorna
Ho interpretato male la domanda, pensavo volessi escludere cifs
e nfs
. Prova invece questo:
mount | grep -E '^[^ ]*[/:]'
Il -t
opzione per mount
funziona anche durante la visualizzazione dei punti di montaggio e accetta un elenco separato da virgole di tipi di filesystem:
mount -t ext3,ext4,cifs,nfs,nfs4,zfs
Non sono sicuro che sia meglio soluzione. Se inizi a utilizzare (ad es. btrfs
) e dimentica di aggiungere che alla lista non lo vedrai e forse non lo perderai. Preferirei filtrare attivamente qualsiasi nuovo filesystem "poco interessante" quando compare, anche se l'elenco sta diventando lungo.
Puoi provare attivamente a solo grep
gli interessanti punti di montaggio simili a quelli proposti da @Graeme, ma dal momento che sei interessato anche ai montaggi NFS/CIFS (che non iniziano con /
), dovresti eseguire:
mount | grep -E --color=never '^(/|[[:alnum:]\.-]*:/)'
( il --color
è necessario sopprimere la colorazione dell'iniziale /
sulle linee trovate). Come ha sottolineato Graeme, dovrebbe essere consentito anche il montaggio basato sul nome delle condivisioni NFS. Il modello seleziona le righe che iniziano con un /
o qualsiasi combinazione di "a-zA-Z0-9". seguito da :/
(per montaggi NFS).