mount は使用しないでください .
man mount から :
- リスト。
- リスティング モードは下位互換性のためにのみ維持されています。
- より堅牢でカスタマイズ可能な出力を得るには、
findmntを使用します (8)、特にスクリプトで。 - マウントポイント名の制御文字は ? に置き換えられることに注意してください。 .
findmnt を使用 、ドキュメントが示唆するように。 findmnt --help で説明されているいくつかの興味深いオプションを次に示します。 :
-iまたは--invert- 一致の意味を反転
-Rまたは--submounts- 一致するファイルシステムのすべてのサブマウントを表示
-tまたは--typeslist- FS タイプごとにファイルシステムのセットを制限する
これらは 多く のほんの一部です コマンドラインで適用できるフィルタ
man findmnt
- 例
findmnt --fstab -t nfs/etc/fstabで定義されているすべての NFS ファイルシステムを表示します .findmnt --fstab /mnt/foo- すべての
/etc/fstabを出力します マウントポイント ディレクトリが/mnt/fooであるファイル システム .--bindも出力します/mnt/fooの場所にマウント ソースです。
以下を使用できます:
findmnt -it sysfs,cgroup,proc,devtmpfs,devpts,pstore,debugfs,hugetlbfs,mqueue,configfs
すべき すべての疑似ファイルシステムを除外すると思います.
それでも、 mount でも同じことができます :
mount -t nosysfs,nodevtmpfs...
findmnt --help の次のコマンドのいずれかを使用することをお勧めします。 次のように説明します:
findmnt -Dまたはfindmnt --dfdfの出力を模倣する (1)。このオプションは-o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGETと同等です ただし、すべての疑似ファイルシステムを除外します。--allを使用 すべてのファイルシステムを印刷します。
findmnt -Do でリスト フィールドをデフォルトに追加できます +field,+field .... ファイル システム -D のみを使用して、独自のフィールド リストを指定できます。 + を省略すると表示されます findmnt -Do のように field,field .
どうですか:
mount | grep '^/[^/]'
物理ディスクに関連するマウント ポイントは常に / で始まります 最初のフィールドはデバイスへのパスであるためです。 cifs マウントは // で始まります したがって、2 番目の / を持つ行を除外します
更新
質問を読み間違えました。除外したいと思っていました cifs と nfs .代わりにこれを試してください:
mount | grep -E '^[^ ]*[/:]'
-t mount のオプション マウント ポイントを表示するときにも機能し、ファイル システム タイプのコンマ区切りのリストを受け取ります:
mount -t ext3,ext4,cifs,nfs,nfs4,zfs
それがより良いかどうかはわかりません 解決。使い始めたら (例:btrfs )、それをリストに追加するのを忘れると、それは表示されず、見逃すことはありません.そのリストが長くなってきたとしても、新しい「興味のない」ファイルシステムがポップアップしたときに積極的に除外したいと思います.
grep のみを積極的に試すことができます @Graeme が提案したものと同様の興味深いマウント ポイントですが、NFS/CIFS マウントにも関心があるため (/ で始まらない) )、次のことを行う必要があります:
mount | grep -E --color=never '^(/|[[:alnum:]\.-]*:/)'
( --color 最初の / の色付けを抑えるために必要です 見つかった行で)。 Graeme が指摘したように、NFS 共有の名前ベースのマウントも許可する必要があります。パターンは / で始まる行を選択します または「a-zA-Z0-9」の任意の組み合わせ。続いて :/ (NFS マウントの場合)。