GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Nur interessante Einhängepunkte anzeigen / uninteressante Typen filtern

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 oder findmnt --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.

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).


Linux
  1. Linux – Welche Einhängepunkte gibt es auf einem typischen Linux-System?

  2. Linux – nur „interessante“ Einhängepunkte anzeigen / uninteressante Typen filtern?

  3. Wie ändere ich Mount-Punkte?

  4. Nur Root kann mounten, warum?

  5. Read only bind-mount?

Diff -r nur für bestimmte Dateitypen?

18.04:Color Emoji wird in Chrome überhaupt nicht angezeigt, in Firefox nur teilweise?

rsync kopiert nur bestimmte Dateitypen mit der Option include

Zwei unterschiedliche Mount-Punkte mit einem Gerät

Kann ps unter Linux nur Nicht-Kernel-Prozesse anzeigen?

Warum respektiert mount die Nur-Lesen-Option für Bind-Mounts nicht?