GNU/Linux >> Znalost Linux >  >> Linux

Zobrazují se pouze zajímavé přípojné body / filtrování nezajímavých typů

Nepoužívejte mount .

Od man mount :

  • Zápis.
    • Režim výpisu je zachován pouze pro zpětnou kompatibilitu.
    • Pro robustnější a přizpůsobitelný výstup použijte findmnt (8), zejména ve vašich skriptech.
    • Všimněte si, že řídicí znaky v názvu přípojného bodu jsou nahrazeny ? .

Použijte findmnt , jak napovídá dokumentace. Zde je několik zajímavých možností, které popisuje findmnt --help :

  • -i nebo --invert
    • převrátit smysl shody
  • -R nebo --submounts
    • vytisknout všechna dílčí připojení pro odpovídající souborové systémy
  • -t nebo --types list
    • omezení sady souborových systémů podle typů FS

To je jen pár z mnoha filtry, které můžete použít na příkazovém řádku.

man findmnt
  • PŘÍKLADY
    • findmnt --fstab -t nfs
    • Vytiskne všechny souborové systémy NFS definované v /etc/fstab .
    • findmnt --fstab /mnt/foo
    • Vytiskne všechny /etc/fstab souborové systémy, kde je adresář bodu připojení /mnt/foo . Vytiskne také --bind připojí kde /mnt/foo je zdrojem.

Můžete použít:

findmnt -it sysfs,cgroup,proc,devtmpfs,devpts,pstore,debugfs,hugetlbfs,mqueue,configfs

To by mělo odfiltrovat všechny pseudo-souborové systémy, věřím.

Přesto můžete udělat totéž s mount :

mount -t nosysfs,nodevtmpfs...

Možná by bylo lepší použít jeden z následujících příkazů, který findmnt --help popisuje, jak je uvedeno:

  • findmnt -D nebo findmnt --df
    • Napodobujte výstup df (1). Tato možnost je ekvivalentní -o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET ale vylučuje všechny pseudo souborové systémy. Použijte --all vytisknout všechny souborové systémy.

Pole seznamu můžete přidat k výchozím hodnotám pomocí findmnt -Do +field,+field .... Můžete zadat svůj vlastní seznam polí pouze pomocí souborových systémů -D zobrazí se vynecháním + jako findmnt -Do field,field .


Co třeba:

mount | grep '^/[^/]'

Přípojné body týkající se fyzických disků budou vždy začínat / protože první pole je cesta k zařízení. cifs mounts budou začínat // takže vylučte řádky s druhým / ignorovat je.

Aktualizovat

Špatně jsem si přečetl otázku, myslel jsem, že chcete vyloučit cifs a nfs . Zkuste toto:

 mount | grep -E '^[^ ]*[/:]'

-t možnost pro mount funguje také při zobrazování přípojných bodů a bere čárkami oddělený seznam typů souborových systémů:

mount -t ext3,ext4,cifs,nfs,nfs4,zfs

Nejsem si jistý, jestli je to lepší řešení. Pokud začnete používat (např. btrfs ) a zapomeňte dodat, že do seznamu to neuvidíte a možná ani nepřehlédnete. Raději bych aktivně odfiltroval jakýkoli nový "nezajímavý" souborový systém, když se objeví, i když se tento seznam prodlužuje.

Aktivně můžete zkusit pouze grep zajímavé body připojení podobné tomu, co navrhl @Graeme, ale protože vás zajímají také připojení NFS/CIFS (která nezačínají / ), měli byste udělat:

mount | grep -E --color=never  '^(/|[[:alnum:]\.-]*:/)'

(--color je nutné potlačit zabarvení iniciály / na nalezených řádcích). Jak zdůraznil Graeme, mělo by být povoleno také připojování NFS akcií na základě názvu. Vzor buď vybere řádky začínající / nebo jakákoli kombinace "a-zA-Z0-9." následuje :/ (pro připojení NFS).


Linux
  1. Připojit Disk Google a Dropbox do systému (pouze online)?

  2. Dva různé montážní body s jedním zařízením

  3. Bind-mount pouze pro čtení?

  1. Linux – jaké přípojné body existují na typickém systému Linux?

  2. Linux – zobrazuje pouze „zajímavé“ přípojné body / Filtrování Nezajímavých typů?

  3. Proč připojení nerespektuje možnost pouze pro čtení pro připojení připojení?

  1. Rsync, zahrnuje pouze určité typy souborů s výjimkou některých adresářů?

  2. Jak správně exportovat a importovat sdílené položky Nfs, které mají také podadresáře jako přípojné body?

  3. Only Root Can Mount, proč?