当前位置:  技术问答>linux和unix

通过设备名,获取接口类型 SATA,USB, ESATA接口

    来源: 互联网  发布时间:2017-04-23

    本文导语:  有没有函数接口获取,存储设备的接口类型 例如: /dev/sda  /dev/sdb 设备名的 接口类型有可能是USB,SATA的. 怎样通过一个函数获取 | 命令行下可以通过 readline /sys/block/sda等判断类型,所以内核态...

有没有函数接口获取,存储设备的接口类型

例如:
/dev/sda 
/dev/sdb
设备名的
接口类型有可能是USB,SATA的.
怎样通过一个函数获取

|
命令行下可以通过 readline /sys/block/sda等判断类型,所以内核态应该是有数据结构保存了这个信息的。
具体的函数需要看/sys文件系统中block设备驱动注册的回调函数

total 0
lrwxrwxrwx 1 root root 0 Sep  3 23:59 dm-0 -> ../devices/virtual/block/dm-0
lrwxrwxrwx 1 root root 0 Sep  3 23:59 dm-1 -> ../devices/virtual/block/dm-1
lrwxrwxrwx 1 root root 0 Sep  3 23:59 dm-2 -> ../devices/virtual/block/dm-2
lrwxrwxrwx 1 root root 0 Sep  4 00:02 fd0 -> ../devices/platform/floppy.0/block/fd0
lrwxrwxrwx 1 root root 0 Sep  4 00:02 loop0 -> ../devices/virtual/block/loop0
lrwxrwxrwx 1 root root 0 Sep  4 00:02 loop1 -> ../devices/virtual/block/loop1
lrwxrwxrwx 1 root root 0 Sep  4 00:02 loop2 -> ../devices/virtual/block/loop2
lrwxrwxrwx 1 root root 0 Sep  4 00:02 loop3 -> ../devices/virtual/block/loop3
lrwxrwxrwx 1 root root 0 Sep  4 00:02 loop4 -> ../devices/virtual/block/loop4
lrwxrwxrwx 1 root root 0 Sep  4 00:02 loop5 -> ../devices/virtual/block/loop5
lrwxrwxrwx 1 root root 0 Sep  4 00:02 loop6 -> ../devices/virtual/block/loop6
lrwxrwxrwx 1 root root 0 Sep  4 00:02 loop7 -> ../devices/virtual/block/loop7
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram0 -> ../devices/virtual/block/ram0
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram1 -> ../devices/virtual/block/ram1
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram10 -> ../devices/virtual/block/ram10
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram11 -> ../devices/virtual/block/ram11
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram12 -> ../devices/virtual/block/ram12
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram13 -> ../devices/virtual/block/ram13
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram14 -> ../devices/virtual/block/ram14
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram15 -> ../devices/virtual/block/ram15
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram2 -> ../devices/virtual/block/ram2
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram3 -> ../devices/virtual/block/ram3
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram4 -> ../devices/virtual/block/ram4
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram5 -> ../devices/virtual/block/ram5
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram6 -> ../devices/virtual/block/ram6
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram7 -> ../devices/virtual/block/ram7
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram8 -> ../devices/virtual/block/ram8
lrwxrwxrwx 1 root root 0 Sep  4 00:02 ram9 -> ../devices/virtual/block/ram9
lrwxrwxrwx 1 root root 0 Sep  3 23:59 sda -> ../devices/pci0000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 Sep  4 00:01 sdb -> ../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.0/host3/target3:0:0/3:0:0:0/block/sdb
lrwxrwxrwx 1 root root 0 Sep  4 00:02 sr0 -> ../devices/pci0000:00/0000:00:07.1/ata2/host1/target1:0:0/1:0:0:0/block/sr0

|
可以查查看类似hdparm等与硬盘信息相关的命令,有没有对应参数;然后用popen函数读出结果。

不过好像Linux对于SATA和USB是识别成同一接口类型的,SCSI好像是。

|
可以查查看类似hdparm等与硬盘信息相关的命令,有没有对应参数;然后用popen函数读出结果。

 不过好像Linux对于SATA和USB是识别成同一接口类型的,SCSI好像是。 

    
 
 

您可能感兴趣的文章:

  • 请问 linux 是如何调用 alsa的控制接口的??是通过控制接口名字吗?
  • 通过linux驱动接口读取串口来自另外一个CPU发送的数据,有几个疑问:
  • 在linux下有没办法使开发出来的库不能通过nm查看接口
  • 用户通过mozilla访问页面文件,提交的参数要记录到系统的配置文件中去,如何来实现这个接口?
  • 请高手指点:怎样在Linux里访问格式化成fat32的移动硬盘,通过USB接口?
  • Java通过接口实现匿名类的实例代码
  • 通过spring用beanshell实现java接口示例
  • 如何用Java通过POST方法向HTTP接口传递数据?
  • C#通过接口与线程通信(捕获线程状态)示例代码
  • android中可以通过两种方式调用接口发送短信
  • Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • 怎么通过snmp获取远程主机指定进程信息?
  • 如何通过PID 获取username?
  • 如何通过gtk的函数在程序里获取显示器的分辨率????????
  • 在solaris中如何通过SNMP获取磁盘容量等信息。
  • 高手请教!linux怎样通过pid获取进程信息,如:进程名、进程状态等?
  • 如何通过C编程获取当前用户的进程列表
  • unix环境如何通过shell或java获取windows机器上的csv文件?
  • LAMP环境下,通过非root用户,可以获取mysql的用户名和密码吗?
  • C语言调用shell脚本后,通过何种方法能获取脚本中变量的值
  • 请问如何在linux下通过编程获取硬盘的参数?100分奉上!急!!
  • jquery如何通过name名称获取当前name的value值
  • 怎么样通过端口获取它对应的pid
  • 请问, 怎样通过程序方式,获取到当前系统的CPU,内存等情况
  • unix/linux下通过c/c++获取内存大小的方法。
  • 某些IE客户端无法通过WCF获取数据的解决方法
  • js获取通过ajax返回的map型的JSONArray的方法
  • 如何通过进程名获取PID?
  • 请问用java通过pop3协议如何获取信件内容.
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问:在proc程序中,若里面有模板的类型,能不能通过预编译啊,(编译时老是无法识别类型,我的头文件都已包含了)
  • linux与java如何通过socket传float类型
  • 高分:有那位大大虾知道通过Socket得到服务器的类型,等等
  • C++如何通过ostringstream实现任意类型转string
  • const类型重新赋值,编译通过,结果出乎意料,大家帮忙看看
  • linux编程设计:如何实时监控并统计应用程序通过linux服务器各端口的流量,以及显示及时速率,源IP,目的IP,类型(TCP、UDP、FTP、HTTP等)?
  • 关于互斥量类型属性,在LINXU系统中为什么总是编译不通过?
  • 通过C#调用cmd来修改服务启动类型
  • .net文件上传时实现通过文件头确认文件类型的方法
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • applet可以不通过数字签名,通过设置IE直接在本地访问本地文件吗
  • php通过socket_bind()设置IP地址代码示例
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()
  • 通过javascript库JQuery实现页面跳转功能代码
  • 紧急求救!能通过jdbc怎样连接sqlsever 然后通过 for xml 关键字得到xml流吗?
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 我想我的网站屏蔽掉通过某些网站过来的访问,我想通过htaccess 文件来做,请大家帮帮我。
  • linux下通过crond实现自动执行程序
  • 如何通过INTERNET访问通过共项一条线路上网的局域网中的机器???
  • 通过docker commit命令保存对docker容器的修改
  • 为什么g++编译通过了,而gcc却编译通过不了???
  • 通过docker run命令运行新的docker镜像
  • Jbuilder第一次编译说缺包,引入通过!然后把原来引入的注释,又通过!上帝,救我!
  • 通过docker ps命令检查运行中的docker镜像
  • 请高手指点:怎样在Linux里访问格式化成fat32的移动硬盘,通过USB接口? iis7站长之家
  • Session id实现通过Cookie来传输方法及代码参考
  • 工作站Redhat Linux7.2如何通过NT4.0 proxy代理服务器上网,我不能通过其验证!请高手指点思路和方法!
  • 通过docker search命令搜索可用docker镜像
  • linux下能通过ip地址ping通其它机器,通过计算机名ping不通怎么解决?
  • Python3通过request.urlopen实现Web网页图片下载
  • 现在java开发中流行通过什么方式实现对数据库操作?就好像Visual Stadio通过ADO访问数据库。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,