マウントが「仮想」ファイルシステム(例:df)を一覧表示しないようにします。

マウントが「仮想」ファイルシステム(例:df)を一覧表示しないようにします。

マウントされたすべてのファイルシステムを単に一覧表示するために使用される場合、mount「仮想」ファイルシステムを一覧表示しない方法はありますか?dfこれを実行するファイルシステムのみを一覧表示します。

編集するdf:「仮想」は、このオプションを使用するときに含まれるファイルシステムを意味します。なぜなら、マニュアルページで--allそう呼ぶからです。df

答え1

まず、「愚かな」という言葉は最良の用語ではないかもしれませんし、procfsまったく役に立たないかもしれません。 (type)オプションを使用して、関心のあるファイルシステムのリストをカンマで区切って提供します。sysfsdev(tmp)fs-tmount

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ファイルシステムサイズに直接アクセスすることはできません。同じフィルタリングを得るには、出力を比較するか、別のツールを使用してファイルシステムのサイズを調べる必要がありますmountdf

dfmountこれは、andからソートされた出力を取得、ソート、およびリンクする方法です。

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)

これはPython one-linerを使用する別の方法です。 (Perlはこれらのシングルライナーにとってはるかに優れていますが、標準ライブラリにはありませんstatvfs。)

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]'

関連情報