web-dev-qa-db-ja.com

「興味深い」マウントポイントのみを表示する/興味のないタイプをフィルタリングする

マウントされたドライブを表示するためにmountを使用しましたが、それほど興味深いもの(つまり、物理的でないもの)は表示したくありません。したがって、以前はmntを実行するスクリプトを使用していました。

mount | grep -Ev 'type (proc|sysfs|tmpfs|devpts) '

ubuntu 8.04の下で私に示したext3およびreiserfsマウントポイントのみ。その行は実際にコメント化されており、現在はUbuntu 12.04を使用しています。

mount | grep -Ev 'type (proc|sysfs|tmpfs|devpts|debugfs|rpc_pipefs|nfsd|securityfs|fusectl|devtmpfs) '

ext4およびzfsパーティション(reiserfsを使用して削除しました)。

現在、Ubuntu 14.04の準備をしています。スクリプトを再度拡張する必要があります(cgroup、pstore)。スクリプトを拡張せずにこれを行うより良い方法はありますか?マウントされているネットワークドライブとマウントされているネットワークドライブ(nfscifs)のみに関心があります。

21
Johran

mount-tオプションは、マウントポイントを表示するときにも機能し、ファイルシステムタイプのコンマ区切りリストを取得します。

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

それがbetterソリューションであるかどうかはわかりません。 (btrfsなど)の使用を開始し、それをリストに追加するのを忘れた場合、表示されず、見逃すこともありません。リストが長くなっているにもかかわらず、ポップアップが表示されたら、新しい「興味のない」ファイルシステムを積極的に除外します。

@Graemeが提案したのと同様の興味深いマウントポイントのみを積極的にgrepに試みることができますが、NFS/CIFSマウント(/で始まらない)にも関心があるので、すべきです:

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

(見つかった行の最初の--colorの色付けを抑制するには、/が必要です)。 Graemeが指摘したように、NFS共有の名前ベースのマウントも許可する必要があります。パターンは、/で始まる行、または「a-zA-Z0-9」の任意の組み合わせを選択します。 :/が後に続きます(NFSマウントの場合)。

6
Anthon

どうですか:

mount | grep '^/[^/]'

最初のフィールドはデバイスへのパスであるため、物理ディスクに関連するマウントポイントは常に/で始まります。 cifsマウントは//で始まるため、2番目の/で行を除外して、それらを無視します。

更新

質問を読み間違えたので、excludecifsnfsにしたいと思っていました。代わりにこれを試してください:

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

パーティーは遅いけど

それほど興味深いもの(つまり、非物理的)は見たくない

physicalの場合、PCに接続されているデバイスをブロックすることを意味します。

$ lsblk
NAME          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sdb             8:16   0 238.5G  0 disk  
├─sdb1          8:17   0   100M  0 part  /boot
├─sdb2          8:18   0     1G  0 part  
├─sdb3          8:19   0    45G  0 part  /
└─sdb4          8:20   0 192.4G  0 part  
  └─ssdhomecr 254:0    0 192.4G  0 crypt /home
sdi             8:128  0 931.5G  0 disk  
├─sdi1          8:129  0   801G  0 part  
│ └─test      254:2    0   801G  0 crypt /mnt/esata
└─sdi2          8:130  0 130.6G  0 part  

--fs/-fスイッチ(ファイルシステム情報)と共によく使用します

$ lsblk -f 
NAME          FSTYPE      LABEL  UUID                                 MOUNTPOINT
sdb
├─sdb1        ext2        bootp  7cf4f62a-1111-4e2f-7536-4fc5ad38bd2c /boot
├─sdb2        swap        swapp  4aa6d4ae-11e7-4a35-8bf3-ab42313aca62
├─sdb3        ext4        sysp   b23338ad-5a4b54i54-a842-8164-a9a9a2a /
└─sdb4        crypto_LUKS        112c40c9-7fdd-4158-895c-5344d24c4a6d
  └─ssdhomecr ext4        homecr fc8a92cb-124f-4a0d-b88e-2055c06ffc3g /home
sdi
├─sdi1        crypto_LUKS        a7c9fg87-6962-43e3-b8c6-7605b181630e
│ └─test      ext2        esata1 124657dc-671a-4b7f-b8a7-b64d5341cabe /mnt/esata
└─sdi2        crypto_LUKS        1c5846bb-ce7e-4cbe-bb0a-b687758ea1dc

lsblkutil-linux の一部です。明らかに、Fuseまたはネットワークマウントは表示されません。

4
Sebastian