Verwenden Sie nicht mount
.
Ab man mount
:
- Der Eintrag.
- Der Auflistungsmodus wird nur aus Gründen der Abwärtskompatibilität beibehalten.
- Für eine robustere und anpassbare Ausgabe verwenden Sie
findmnt
(8), insbesondere in Ihren Skripten. - Beachten Sie, dass Steuerzeichen im Mountpoint-Namen durch ? ersetzt werden .
Verwenden Sie findmnt
, wie die Dokumentation vermuten lässt. Hier sind einige interessante Optionen, wie von findmnt --help
beschrieben :
-i
oder--invert
- Umkehrung der Übereinstimmungsrichtung
-R
oder--submounts
- alle Submounts für die passenden Dateisysteme ausgeben
-t
oder--types
list
- Beschränken Sie den Satz von Dateisystemen nach FS-Typen
Das sind nur einige von vielen Filter, die Sie auf der Kommandozeile anwenden können.
man findmnt
- BEISPIELE
findmnt --fstab -t nfs
- Druckt alle in
/etc/fstab
definierten NFS-Dateisysteme . findmnt --fstab /mnt/foo
- Druckt alle
/etc/fstab
Dateisysteme, bei denen das Mountpoint-Verzeichnis/mnt/foo
ist . Es gibt auch--bind
aus Mounts wo/mnt/foo
ist eine Quelle.
Sie könnten Folgendes verwenden:
findmnt -it sysfs,cgroup,proc,devtmpfs,devpts,pstore,debugfs,hugetlbfs,mqueue,configfs
Das sollte alle Pseudo-Dateisysteme herausfiltern, glaube ich.
Trotzdem können Sie dasselbe mit mount
tun :
mount -t nosysfs,nodevtmpfs...
Möglicherweise ist ein besserer Weg, einen der folgenden Befehle zu verwenden, die findmnt --help
beschreibt wie angegeben:
findmnt -D
oderfindmnt --df
- Imitieren Sie die Ausgabe von
df
(1). Diese Option entspricht-o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET
schließt aber alle Pseudo-Dateisysteme aus. Verwenden Sie--all
um alle Dateisysteme zu drucken.
- Imitieren Sie die Ausgabe von
Mit findmnt -Do
können Sie Listenfelder zu den Standardwerten hinzufügen +field,+field
.... Sie können Ihre eigene Liste von Feldern angeben, indem Sie nur die Dateisysteme -D
verwenden würde durch Weglassen des +
angezeigt wie findmnt -Do
field,field
.
Wie wäre es mit:
mount | grep '^/[^/]'
Einhängepunkte, die sich auf physische Laufwerke beziehen, beginnen immer mit einem /
da das erste Feld der Pfad zu einem Gerät ist. cifs
Halterungen beginnen mit //
Schließen Sie also Zeilen mit einem zweiten /
aus sie zu ignorieren.
Aktualisieren
Ich habe die Frage falsch verstanden, ich dachte, Sie wollten ausschließen cifs
und nfs
. Versuchen Sie stattdessen Folgendes:
mount | grep -E '^[^ ]*[/:]'
Der -t
Option für mount
funktioniert auch beim Anzeigen von Einhängepunkten und nimmt eine kommagetrennte Liste von Dateisystemtypen:
mount -t ext3,ext4,cifs,nfs,nfs4,zfs
Ich bin mir nicht sicher, ob das besser ist Lösung. Wenn Sie beginnen, (z. B. btrfs
) und vergessen Sie, das zur Liste hinzuzufügen, Sie werden es nicht sehen und vielleicht nicht verpassen. Ich würde lieber jedes neue "uninteressante" Dateisystem aktiv herausfiltern, wenn es auftaucht, auch wenn diese Liste lang wird.
Sie können aktiv nur grep
versuchen die interessanten Mount-Punkte ähneln denen, die @Graeme vorgeschlagen hat, aber da Sie auch an NFS/CIFS-Mounts interessiert sind (die nicht mit /
beginnen ), sollten Sie Folgendes tun:
mount | grep -E --color=never '^(/|[[:alnum:]\.-]*:/)'
( der --color
ist notwendig, um die Einfärbung des initialen /
zu unterdrücken auf den gefundenen Zeilen). Wie Graeme betonte, sollte das namensbasierte Mounten von NFS-Freigaben ebenfalls erlaubt sein. Das Muster wählt entweder Zeilen aus, die mit einem /
beginnen oder eine beliebige Kombination aus „a-zA-Z0-9“. gefolgt von :/
(für NFS-Mounts).