Saya mencari cara portabel untuk mendapatkan nama perangkat induk blok (misalnya /dev/sda) mengingat nama perangkat partisi (misalnya /dev/sda1). Saya tahu saya bisa menghilangkan karakter terakhir, tetapi itu tidak akan berhasil dalam beberapa kasus:
- Pembaca kartu MMC biasanya memiliki nama seperti
/dev/mmcblk0, sementara partisi mereka memiliki nama seperti/dev/mmcblk0p1(perhatikan tambahanp). - opsional: beberapa perangkat blok tidak memiliki tabel partisi sama sekali dan diformat sebagai satu partisi. Dalam hal ini, perangkat partisi dan perangkat blok orang tua adalah sama.
Volume LVM adalah ketel ikan yang sama sekali berbeda. Saya tidak perlu mendukung mereka sekarang, tetapi jika memperhitungkannya membutuhkan sedikit usaha ekstra, saya tidak akan keberatan.
/dev/sda1dan /dev/mmcblk0p1khusus untuk Linux. lsblkrelatif baru.
lsblkjuga menggunakan nomor simpul perangkat untuk menemukan yang benar, bukan hanya menggunakan nama. tampaknya solusi paling sederhana untuk Linux dan util-linux sepertinya akan selalu tersedia.
lsblk -dpno pkname $devnamelulus semua tes saya! Mungkin Anda harus menambahkan jawaban.
/dev/sd0cdalam kasus itu. Apakah jawaban di bawah ini cocok untuk Anda?
/dev/sd0atetapi tidak ada/dev/sd0perangkat (ada/dev/sd0c...)