特定のブロックデバイスのパーティション名を見つけるには?

特定のブロックデバイスのパーティション名を見つけるには?

ブロックデバイス(たとえば/dev/sda)がある場合は、スクリプトで(つまり、ユーザーの対話なしで)そのパーティションの名前(存在する場合)をどのように確認できますか?

答え1

lsblk関連するすべてのブロックデバイスを印刷します。これにはそのデバイスのパーティションが含まれます。もちろん、デバイス自体が含まれており、特定lsblkのデバイスの除外は許可されていないため、以下のソリューションの例では inverted のみを使用しますgrep

lsblk -o KNAME -n /dev/mmcblk0 | grep -v "^mmcblk0$"

フルパス(grep文字列の生成も単純化)の場合に使用できます-p。たとえば、次のようになります。

lsblk -po KNAME -n /dev/mmcblk0 | grep -v "^/dev/mmcblk0$"

答え2

これを行うために使用できるツールがあります。私がよく使用するツールの1つは、fdiskブロックデバイスのパーティションを一覧表示し、正確なサイズを示すfdiskです。fdiskは、ストレージの観点からパーティションの内部プロパティを変更することができる非常に汎用性の高いプログラムなので、使用するときは非常に注意する必要があります。

リストされたパーティションを使用すると、次のコマンドを簡単に実行できます fdisk -l <name of block device>。この時点で、探しているパーティションの正確なサイズ、名前、および種類を確認できます。他のハードディスク関連の目的でさらに使用するには、fdisk次のmanコマンドを使用してマニュアルページを開きますfdisk

man fdisk

関連情報