[問題] 判斷 /dev/sdx 的裝置類型
各位先進好
小弟最近有個工作
需要用C語言去找到linux下,硬碟的/dev/ 的sd 之編號
小弟對linux很陌生
我們的環境下,主機上只可能插有 兩個usb碟 和 一個硬碟
所以ls /dev/sd*
之後
可能長成
/dev/sda /dev/sda1 /dev/sdb /dev/sdb1
這個樣子
這時候我插了一個硬碟和一個usb
且sda是硬碟,sdb是usb
我的工作就是利用C語言去找出 sda 這個字串
當然硬碟不可能永遠都是sda,如果先插usb再插硬碟
硬碟就可能變成sdb或sdc等等
我目前是先用C語言讀取 /proc/partitions 這個檔案
可以找到類似這樣的資訊
major minor #blocks name
8 0 488386584 sda
8 16 15646720 sdb
8 17 15646688 sdb1
然後判斷 sda的 blocks 比sdb的 blocks 還要大,所以回傳sda字串
但是我想說這個方法感覺很怪異
如果哪一天插了一個小容量的硬碟和一個大容量的usb
就馬上會回傳錯誤的sdx了
所以想請問版上前輩,有沒有什麼linux的command或者哪一個linux的檔案
有在紀錄著 usb 和 hd 掛載在 /dev/sdx 哪裡 的相關資訊呢?
跨檔案分析也可以喔~
先謝謝大家^^
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.7.85
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1508394014.A.183.html
※ 編輯: awpadam (61.216.7.85), 10/19/2017 14:22:40
推
10/19 14:24,
8年前
, 1F
10/19 14:24, 1F
這個指令,上網搜尋好像很符合我的需求
但是在我們公司的電腦下是 : -sh: lsblk: command not found
而在我自己另一台電腦下則可以
可惜的是我們沒有權限在公司電腦系統上 安裝 或 修改 任何設定= =
→
10/19 14:25,
8年前
, 2F
10/19 14:25, 2F
→
10/19 14:25,
8年前
, 3F
10/19 14:25, 3F
→
10/19 14:27,
8年前
, 4F
10/19 14:27, 4F
我們公司的usb和hd都是可以隨插隨拔的
不過我看了removable這個檔案
的確硬碟的是 0
usb的是 1
請問這個方法會有例外還是bug嗎?
不然這個方法不錯唷^^
※ 編輯: awpadam (61.216.7.85), 10/19/2017 14:40:44
→
10/19 14:34,
8年前
, 5F
10/19 14:34, 5F
公司電腦的/dev下 沒有disk這個目錄耶,是linux版本不一樣嗎??
※ 編輯: awpadam (61.216.7.85), 10/19/2017 14:42:09
→
10/19 14:46,
8年前
, 6F
10/19 14:46, 6F
→
10/19 14:47,
8年前
, 7F
10/19 14:47, 7F
→
10/19 14:48,
8年前
, 8F
10/19 14:48, 8F
是燒在機上盒的linux,所以應該算蠻特別的吧?
※ 編輯: awpadam (61.216.7.85), 10/19/2017 14:52:43
推
10/19 15:11,
8年前
, 9F
10/19 15:11, 9F
恩,在下tftp指令時,有看到busybox這個字眼
然後下ps -A 指令後,有看到udevd這個程序在執行
※ 編輯: awpadam (61.216.7.85), 10/19/2017 15:18:49
推
10/19 15:23,
8年前
, 10F
10/19 15:23, 10F
→
10/19 15:23,
8年前
, 11F
10/19 15:23, 11F
可能跟接頭有關吧,外接硬碟是接usb的接頭,用的驅動應該不一樣
我們公司的硬碟不會是接usb孔的
※ 編輯: awpadam (61.216.7.85), 10/19/2017 15:36:43
推
10/19 15:48,
8年前
, 12F
10/19 15:48, 12F
→
10/19 15:48,
8年前
, 13F
10/19 15:48, 13F
推
10/19 15:50,
8年前
, 14F
10/19 15:50, 14F
→
10/19 15:51,
8年前
, 15F
10/19 15:51, 15F
謝謝你^^
※ 編輯: awpadam (61.216.7.85), 10/19/2017 15:59:12
→
10/21 14:32,
8年前
, 16F
10/21 14:32, 16F
推
10/21 14:34,
8年前
, 17F
10/21 14:34, 17F
→
10/22 01:40,
8年前
, 18F
10/22 01:40, 18F
→
10/22 01:40,
8年前
, 19F
10/22 01:40, 19F
→
10/22 01:40,
8年前
, 20F
10/22 01:40, 20F
→
10/22 01:41,
8年前
, 21F
10/22 01:41, 21F
→
10/22 01:41,
8年前
, 22F
10/22 01:41, 22F
→
10/22 01:42,
8年前
, 23F
10/22 01:42, 23F
→
10/22 01:42,
8年前
, 24F
10/22 01:42, 24F
推
10/22 02:31,
8年前
, 25F
10/22 02:31, 25F
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章