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 :
-io--invert- invertire il senso della corrispondenza
-Ro--submounts- stampa tutti i submount per i filesystem corrispondenti
-to--typeslist- 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/fstabfilesystem in cui la directory del punto di montaggio è/mnt/foo. Stampa anche--bindmonta 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 -Dofindmnt --df- Imitare l'output di
df(1). Questa opzione equivale a-o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGETma esclude tutti gli pseudo filesystem. Usa--allper 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).