web-dev-qa-db-ja.com

一部のデータがデバイスディスクにすでに存在するかどうかを知る方法は?

ディスクにファイルシステムが含まれているかどうかを確認する簡単な方法は、次のとおりです。

mount /grid/sdb /mnt

sdbまたは他の/ dev/sdxにファイルシステムがある場合、マウントは成功します。そうでない場合は成功します。おそらくファイルシステムが存在します!

しかし、これはそれをチェックするための醜い方法です。

ディスク上のファイルシステムをチェックするための他のエレガントな代替手段は何ですか?

私の目標は、ファイルシステムがディスク上で/ dev/sdb-/dev/sdxとしてすでに構成されているかどうかを確認することです。

2
shalom

ディスク上のファイルシステムをチェックするための最良のショットはlsblk --output NAME,FSTYPE,LABEL,UUID,MODE

これは、マシン上のすべてのブロックハードデバイスを出力するlist blockdevicesコマンドです。これらのオプションを使用すると、達成したいものが得られます。

$ Sudo lsblk --output NAME,FSTYPE,LABEL,UUID,MODE
NAME        FSTYPE LABEL     UUID                                 MODE
sda                                                               brw-rw----
├─sda1      ntfs   WinHyperX 2D6BFC4E0CDCFAD8                     brw-rw----
├─sda2      ext4   HyperX    ef761208-bab3-4a26-87d2-ed21a7f5a1bb brw-rw----
└─sda3      swap             74259007-a80b-4866-b059-0bdbe6331040 brw-rw----
sdb                                                               brw-rw----
└─sdb1      ext4   4TB       91e32977-0656-45b8-bcf5-14acce39d9c2 brw-rw----
sr0                                                               brw-rw----
mmcblk0                                                           brw-rw----
└─mmcblk0p1 exfat            9C33-6BBC                            brw-rw----

追加するだけで、ディスク上にファイルシステムがあるかどうかを確認したいだけで、ファイルシステムがどれであるかを知りたくない場合は、このコマンドを使用することもできますfile -s /dev/sda1またはリストfdisk -lこれはすべてのディスクを表示し、ディスクにファイルシステムがない場合はエラーを返すと思います。

2
Andrej