mount
は使用しないでください .
man mount
から :
- リスト。
- リスティング モードは下位互換性のためにのみ維持されています。
- より堅牢でカスタマイズ可能な出力を得るには、
findmnt
を使用します (8)、特にスクリプトで。 - マウントポイント名の制御文字は ? に置き換えられることに注意してください。 .
findmnt
を使用 、ドキュメントが示唆するように。 findmnt --help
で説明されているいくつかの興味深いオプションを次に示します。 :
-i
または--invert
- 一致の意味を反転
-R
または--submounts
- 一致するファイルシステムのすべてのサブマウントを表示
-t
または--types
list
- 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 --df
df
の出力を模倣する (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 マウントの場合)。