ブロックデバイス(たとえば/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