Tôi đang tìm kiếm một cách di động để có được tên thiết bị khối cha mẹ (ví dụ /dev/sda
) được đặt tên thiết bị phân vùng (ví dụ /dev/sda1
). Tôi biết tôi chỉ có thể bỏ nhân vật cuối cùng, nhưng điều đó sẽ không hoạt động trong một số trường hợp:
- Đầu đọc thẻ MMC thường có tên như thế
/dev/mmcblk0
, trong khi phân vùng của chúng có tên như/dev/mmcblk0p1
(chú ý thêmp
). - tùy chọn: một số thiết bị khối không có bảng phân vùng nào cả và được định dạng dưới dạng một phân vùng. Trong trường hợp này, thiết bị phân vùng và thiết bị khối cha là như nhau.
Khối lượng LVM là một ấm cá hoàn toàn khác nhau. Tôi không cần phải hỗ trợ họ ngay bây giờ, nhưng nếu tính đến họ cần ít nỗ lực hơn, tôi sẽ không phiền.
/dev/sda1
và /dev/mmcblk0p1
dù sao cũng là dành riêng cho Linux. lsblk
là tương đối gần đây mặc dù.
lsblk
cũng sử dụng số nút thiết bị để tìm đúng số, thay vì chỉ sử dụng tên. Dường như giải pháp đơn giản nhất cho Linux và tiện ích linux có thể luôn luôn có sẵn.
lsblk -dpno pkname $devname
đã vượt qua tất cả các bài kiểm tra của tôi! Có lẽ bạn nên thêm một câu trả lời.
/dev/sd0c
trong trường hợp đó. Làm các câu trả lời dưới đây làm việc cho bạn?
/dev/sd0a
nhưng không có/dev/sd0
thiết bị (có một/dev/sd0c
...)