Misalkan saya memiliki disk yang terletak di /dev/DISK_NAME
. Saya ingin tahu apakah ada perintah untuk menemukan n
partisi disk ini.
Sepertinya hal semacam ini bisa dilakukan dengan lsblk
. Yang terbaik yang bisa saya temukan adalah:
lsblk -nlpo NAME,TYPE /dev/DISK_NAME | awk '/part$/ {print $1}' | grep "[^0-9]n$"
Di sini, n
di grep terakhir mewakili nomor partisi yang dimaksud.
Perintah di atas berfungsi untuk mesin arch linux yang saya gunakan saat ini, di mana DISK_NAME=sda
dan output dari lsblk -nlpo NAME,TYPE
adalah
/dev/sda disk
/dev/sda1 part
/dev/sda2 part
/dev/sda3 part
/dev/sda5 part
Perintah saya juga berfungsi di mesin arch linux saya di mana DISK_NAME=nvme0n1
dan output dari lsblk -nlpo NAME,TYPE
adalah
/dev/nvme0n1 disk
/dev/nvme0n1p1 part
/dev/nvme0n1p2 part
Namun, ini terasa agak rumit, dan saya tidak yakin apakah ini akan berfungsi pada disk sembarang.
Apakah ada cara yang lebih baik untuk melakukan ini?
Jawaban yang Diterima:
Tidak ada jaminan bahwa sda1
ada sama sekali – Saya memiliki SSD dengan hanya sda4 dan sda5. Jadi, apakah partisi pertama akan menjadi partisi dengan LBA awal terendah?
Atau mungkin entri pertama di tabel partisi? Menurut parted -l
,
...
Number Start End Size File system Name Flags
2 316MB 333GB 333GB ext4 /mnt/backup
3 333GB 791GB 457GB ext4 /mnt/filestore
4 791GB 832GB 41.9GB ext4 /run/timeshift/backup
1 832GB 841GB 8590MB ext4 /mnt/music
Yang merupakan partisi pertama – apakah itu 2 (yang memiliki LBA terendah) atau 1 (yang memiliki nomor partisi terendah).
Jika Anda lebih suka fdisk -l
ancient perintah, maka ini akan mengurutkan tabel partisi untuk Anda [sehingga partisi bernomor terendah didahulukan].