マウント時に「ダミー」ファイルシステム(df など)をリストしないようにする

マウント時に「ダミー」ファイルシステム(df など)をリストしないようにする

マウントされているすべてのファイルシステムを単純に一覧表示する場合mount、「ダミー」ファイルシステムを一覧表示しないようにする方法はありますか? つまり、ダミーファイルシステムのみを一覧表示しますdf

編集df: 「ダミー」とは、オプションを使用するときに によって組み込まれるファイルシステムを意味します。これは、マニュアル ページで--allそのように呼ばれているためです。df

答え1

まず第一に、「ダミー」はおそらく最適な用語ではありません - procfssysfsまたははdev(tmp)fs役に立たないというわけではありません。 の-t(type) オプションを使用しmountて、関心のあるファイルシステムのカンマ区切りのリストを入力します。

mount -t tmpfs,xfs

または、grep必要なものをフィルタリングするために使用します(おそらくgrep -v一致しないものを表示するため)。

mount | grep -Ev "(cgroup|proc|sysfs)"

答え2

別のオプションとしては以下を使用しますlsblk -f:

lsblk は、使用可能なすべてのブロック デバイスまたは指定されたブロック デバイスに関する情報を一覧表示します。

つまり、ネットワーク共有(nfs、sshfs)または仮想ファイルシステム(dev、run、sys、procなど)は ない表示されます。また、tmpfs通常表示されるファイルシステムはdf -hない現れる。

この-fオプションは、ファイルシステムに関する情報を出力します。これには、マウントポイント

たとえば、私のマシンでは次のように表示されます:

NAME    FSTYPE          LABEL       UUID                                 MOUNTPOINT
sda                                                                      
|-sda1  ext2            bootpar     ab2e48a8-5f1c-484e-a4a1-f8545e4b2019 /boot
|-sda2  swap            swappar     6e9f6e70-141a-417c-82a5-113a3d4c5a53 [SWAP]
`-sda3  ext4            homepar     52f7164d-fac7-4abe-bf78-71353fac7850 /home
sdb     isw_raid_member                                                  
`-md126 ext4            rootparraid 4275f5ba-8244-4039-9100-06afee678557 /
sdc     isw_raid_member                                                  
`-md126 ext4            rootparraid 4275f5ba-8244-4039-9100-06afee678557 /
sr0                                                                      

答え3

dfGNU coreutils には無視されるファイルシステムの種類のリストがありますが、エントリ数は多くありません。ほとんどの場合、サイズが 0 のファイルシステムが除外されます。これにより、無視されるファイルシステムの種類がカバーされます。

mountはファイルシステムのサイズに直接アクセスできません。同じフィルタリングを行うには、 の出力を の出力mountと照合するdfか、ファイルシステムのサイズを取得する他のツールを使用する必要があります。

dfおよびからソートされた出力を取得しmount、それをソートして結合する方法を次に示します。

join -o 2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9 <(df -P | tail -n +2 | sort) <(mount | sort)

statvfsこれは Python ワンライナーを使用した別のアプローチです。(Perl はこのようなワンライナーに非常に優れていますが、標準ライブラリには含まれていません。)

mount | python -c 'import os, sys; [sys.stdout.write(line) for (dev, line) in [(line.split(" ")[2], line) for line in sys.stdin.readlines()] if os.statvfs(dev).f_blocks]'

関連情報