
私はマウントされたドライブを表示しようとしましたが、あまり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)。スクリプトを拡張せずにこれを行うより良い方法はありますか?私はマウントされた物理ディスクとマウントされたネットワークドライブ(nfs
、)にのみ興味がありますcifs
。
答え1
使用しないでくださいmount
。
からman mount
:
- リストされています。
- リストモードは、以前のバージョンとの互換性のためにのみ維持されます。
- より強力でカスタマイズ可能な出力を使用するため
findmnt
(8)、特にスクリプトで。 - マウントポイント名の制御文字は次に置き換えられます。?。
マニュアルで推奨されているとおりに使用してくださいfindmnt
。以下に説明するいくつかの興味深いオプションがありますfindmnt --help
。
-i
または--invert
- マッチング感反転
-R
または--submounts
- ファイルシステムに一致するすべてのサブマウントを印刷します。
-t
または--types
list
- FSタイプ別に設定されたファイルシステムの制限
これらはそのうちのほんの一部です。たくさんコマンドラインからフィルタを適用できます。
man findmnt
- はい
findmnt --fstab -t nfs
- 定義されているすべてのNFSファイルシステムを印刷します
/etc/fstab
。 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
。
答え2
-t
このオプションはマウントポイントを表示するときにも適用されmount
、カンマで区切られたファイルシステムタイプのリストを使用します。
mount -t ext3,ext4,cifs,nfs,nfs4,zfs
これが正しいかどうかはわかりません。より良いもの解決策。たとえば、を使い始めてbtrfs
リストに追加するのを忘れた場合、その内容は表示されず、おそらく見逃すことはありません。リストが長くなっても新しい「興味深い」ファイルシステムが表示される場合は、事前にフィルタリングすることをお勧めします。
@Graemeが提案したものと同様の興味深いマウントポイントを積極的に使用しようとすることができますが、grep
NFS / CIFSマウント(で始まらない)にも興味があるので、/
次のことを行う必要があります。
mount | grep -E --color=never '^(/|[[:alnum:]\.-]*:/)'
(見つかった行のイニシャル色を--color
抑制する必要があります。)/
Graemeが指摘したように、NFS共有の名前ベースのマウントも許可する必要があります。このモードでは、/
「a-zA-Z0-9」または「a-zA-Z0-9」の組み合わせから始まる行を選択します。以下は:/
(NFSインストール用)です。
答え3
どうですか?
mount | grep '^/[^/]'
物理ディスクに関連するマウントポイントは常にで始まります。/
最初のフィールドがデバイスへのパスであるためです。cifs
インストールは so 除外行で始まり、//
無視/
します。
修正する
質問を間違って読みました。質問したいと思いました。入らないようにする cifs
そしてnfs
。この試み:
mount | grep -E '^[^ ]*[/:]'
答え4
ブロックデバイスをバックアップストレージとして使用するファイルシステムのリストについては、を参照してください/proc/filesystems
。たとえば、次のように使用できます。
mount -t "$(grep -v '^nodev' /proc/filesystems | cut -f2 | paste -s -d ,)"
ファイルシステムをブロックデバイスとネットワークファイルシステムでバックアップしたいので、リストを手動で維持する必要性は完全に排除されません。ただし、使用するネットワークファイルシステムのリストだけを保持してください。
/proc/filesystems
複数のブロックデバイスをバックアップストレージとして使用するファイルシステム(ファイルシステムにRAIDが組み込まれているファイルシステム)をどのようにすればよいかわかりません。特別な人には特別な治療が必要な場合があります。