
正文
linux查硬盘id命令,linux 查询硬盘
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
linux下怎么用c获取硬盘物理序列号
1、在Linux系统中通过C语言获取硬盘序列号,可以借助于ioctl()函数,该函数原型如下:
int ioctl(int fd, unsigned long request, ...);
ioctl的第一个参数是文件标识符,用open()函数打开设备时获取。
ioctl第二个参数为用于获得指定文件描述符的标志号,获取硬盘序列号,一般指明为HDIO_GET_IDENTITY。
ioctl的第三个参数为一些辅助参数,要获取硬盘序列号,需要借助于struct hd_driveid结构体来保存硬盘信息 ,该结构体在Linux/hdreg.h中,struct hd_driveid的声明如下
struct hd_driveid {
unsigned short config; / lots of obsolete bit flags */
unsigned short cyls; /* Obsolete, "physical" cyls */
unsigned short reserved2; /* reserved (word 2) */
unsigned short heads; /* Obsolete, "physical" heads */
unsigned short track_bytes; /* unformatted bytes per track */
unsigned short sector_bytes; /* unformatted bytes per sector */
unsigned short sectors; /* Obsolete, "physical" sectors per track */
unsigned short vendor0; /* vendor unique */
unsigned short vendor1; /* vendor unique */
unsigned short vendor2; /* Retired vendor unique */
unsigned char serial_no[20]; /* 0 = not_specified */
unsigned short buf_type; /* Retired */
unsigned short buf_size; /* Retired, 512 byte increments
* 0 = not_specified
*/
……
};
2、源代码如下
#include stdio.h
//ioctl()的声明头文件
#include sys/ioctl.h
//硬盘参数头文件, hd_driveid结构声明头文件
#include linux/hdreg.h
//文件控制头文件
#include sys/fcntl.h
int main()
{
//用于保存系统返回的硬盘数据信息
struct hd_driveid id;
//这里以第一块硬盘为例,用户可自行修改
//用open函数打开获取文件标识符,类似于windows下的句柄
int fd = open("/dev/sda", O_RDONLY|O_NONBLOCK);
//失败返回
if (fd 0) {
perror("/dev/sda");
return 1; }
//调用ioctl()
if(!ioctl(fd, HDIO_GET_IDENTITY, id))
{
printf("Serial Number=%s\n",id.serial_no);
}
return 0;
}
编译完成后,执行效果如下:
相关问答
Q1: linuxuuid怎么查看?
今天跟大家分享一下查看硬盘uuid的三种方法:
方法一:
[root@wanwan~]#blkid
?
方法二:
[root@wanwan~]#lsblk-f
?
如不想看到树型结构可加上“l”参数:
[root@wanwan~]#lsblk-lf
?
在磁盘分区较多是可以更清爽的查看uuid
方法三:
[root@wanwan~]#ll/dev/disk/by-uuid/
?
以上就是比较常用的三种查看磁盘uuid的方法,写入/etc/fstab文件中时,格式就是把磁盘的绝对路径换成查到的uuid即可。
如:
?
保存退出。
执行:
[root@wanwan~]#mount-a
即可挂载fstab文件中所有的磁盘。
可执行以下命令查看挂载情况:
[root@wanwan~]#df-h
?
查看设备的uuid的三种方法,总结如下:
1命令查看:blkid
2文件查看:ls-l/dev/disk/by-uuid
3命令查看:vol_id/dev/sda1
UUID的作用及意义
1:它是真正的唯一标志符
UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的。如果你在系统中启动的时候,使用盘符挂载时,可能找不到设备而加载失败,而使用UUID挂载时,则不会有这样的问题。
2:设备名并非总是不变的
自动分配的设备名称并非总是一致的,它们依赖于启动时内核加载模块的顺序。如果你在插入了USB盘时启动了系统,而下次启动时又把它拔掉了,就有可能导致设备名分配不一致。
使用UUID对于挂载移动设备也非常有好处,它支持各种各样的卡,而使用UUID总可以使同一块卡挂载在同一个地方。
3:Ubuntu中的许多关键功能现在开始依赖于UUID
Q2: linux怎么查看硬盘的wwid
df命令用于查看挂载点信息与磁盘使用量,格式为:“df [选项] [文件]”。
查看挂载信息与硬盘使用量:“df -h”
参数 作用
-a 显示出所有的文件系统(包括虚拟的)
--total 展出出总体使用量
-h 更易读的容量格式如1K,234M,2G…
-i 展示出Inode的信息(默认是磁盘使用信息)
-T 显示出文件系统的类型
查看到所有已挂载的挂载信息与硬盘使用情况:
[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.5G 15G 20% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 140K 914M 1% /dev/shm
tmpfs 914M 8.8M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sr0 3.5G 3.5G 0 100% /media/cdrom
/dev/sda1 497M 119M 379M 24% /boot
/dev/sdb1 2.0G 33M 2.0G 2% /newFS
du命令用于查看磁盘的使用量,格式为:“ du [选项] [文件]”。
查看根目录中各文件夹所占空间:du -sh /
查看当前目录下各文件所占空间:du -sh *
参数 作用
-a 评估每个文件而非目录整体占用量。
-c 评估每个文件并计算出总占用量总和。
-h 更易读的容量格式如1K,234M,2G…
-s 仅显示占用量总和。
Q3: linux命令SCSI_ID
echo "scsi add-single-device x y z u" /proc/scsi/scsi
其中:
x是硬盘所在SCSI控制器号(一般机器就一个SCSI控制器,所以就是0);
y是硬盘所在SCSI通道的编号(一般单通道的就是0,多通道的要看是哪个通道了);
z是硬盘的SCSI ID号(可以通过具体插入的硬盘插槽来判断);
u是硬盘的lun号(默认情况都是0)
Q4: Linux 查看硬盘序列号 命令
linux下怎样查看硬盘型号和硬盘序列号
hdparm
-i
/dev/hda
这个命令更多的参数
解释
如下
(以下内容来自互联网)
-a
获取/设置硬盘每个簇的大小,默认值是8(即每个簇大小为4kb)。
-a
禁用/开启ide驱动器的
read-lookahead(不懂)
特性(默认是打开的)。
-b
获取/设置
bus
state(不懂)。
-b
设置高级电源管理特性(apm),如果驱动器支持。一个较小的值意味着更省电?一个较大的值意味着更好的性能,将它设置为255将在指定驱动器上关闭apm。
-c
查询/开启
(e)ide
32位
i/o
支持。加上一个数值可以开启或关闭它。一般设置为0,即禁用32位数据传输,为1则开启32位数据传输,为3则开启32位数据传输和一个特别传输序列,但会消耗一些系统资源。
-c
检查当前ide电源模式,可以使用-s/-y/-y/-z等参数控制ide电源模式。
-d
禁用/开启dma。这个参加目前只能在并行ide和pci界面上,适当使用-x和-d1参数是个好主意,打开dma可以获得最好的磁盘性能和降低cpu占用率。
-d
禁用/开启坏扇区管理特性。
-e
设置光驱速度,这不是必需的,因为光驱会自动调速,但是你如果想用它,可以设置一个数值,通常设置为2或4。
-f
为设备退出时同步和填满缓冲区,这个参数也会做-t和-t所做的事。
-g
显示驱动器几何值(柱面,磁头,扇区)和开始扇区。
-h
简要显示此命令的帮助信息。
-i
显示驱动器的基本信息。
-i
显示驱动器的详细信息。
-k
获取/设置“在重启后保持设置”,使用这个参数将使驱动器在软重启后保持-dmu选项(后面还有一大堆,不懂)
-k
获取/设置“在重启后保持设置”,使用这个参数将使驱动器在软重启后保持-apswxz选项,不是所有驱动器都支持这样做。
-l
锁住驱动器?(不懂)
-m
获取/设置在驱动器上为多扇区i/o计算扇区,开启这个参数将减少cpu开支30-50%,在大多数系统上它也能增加数据生产量?5-50%,使用这个参数会使某些型号的驱动器(如wd鱼子酱系列)减慢速度,大多数驱动器支持的最小数值可以是2,4,8,或16,更大也可以,视情况而定,大多数系统设置为16或32比较理想,wd的硬盘推荐设置为4到8,用-i参数可以看到当前硬盘的设置,某些驱动器要求支持复合模式,但在某些设置下会丢失数据。
-m
获取/设置自动噪音管理。很多驱动器支持使用磁盘降速的方法降噪,这个数值可以设置为从0至254,设置为128最为静音(速度最低),设置为254速度最快(噪音最大),某些驱动器自己规定两个级别(静音/快速),虽然你使用128至254之间的数值。
-n
获取或设置“忽略写错误”,最好不要使用在...(不懂)
-p
尝试重新调整ide界面芯片指定的pio模式,或自动设置为驱动器支持的最佳pio模式,这个特性在内核中仅支持少数芯片,某些ide芯片在单驱动器时不允许调整pio模式,大多数ide芯片或多或少地支持0到5的pio模式。
-p
为驱动器的内部预读装置设置最大扇区,不是所有的驱动器都支持。
-q
(不懂)。在使用-i
或-v或-t或-t时无效。
-q
设置标记队列深度(1或更大),或关闭标记队列深度。这只能在2.5.xx或更新的内核中使用,目前还只有很少的驱动器支持它。
-r
获取/设置设备为只读模式,设置之后设备将不能允许写入。
-r
注册一个ide界面,危险。要获得更多信息,看一下-u选项。
-s
设置驱动器等待超时,这个参数决定硬盘在多久未响应之后关闭主轴电机以省电,这个数值设置为0则关闭这个功能,设置为1至240时,时间将为5秒的倍数,即5秒至20分钟,设置为241至251时,时间将为30分钟的1-11倍,即30分钟到5.5小时,设置为252象征着21分钟,253为?(不懂),255即为21分15秒。
-t
测试读缓存的速度。
-t
也是测速度的。
-u
获取/设置???(不懂,晕)
-u
注销一个ide界面,危险!
-v
显示使用-i未显示出的所有设置。
-w
执行设备重启(危险),一般不要用这个参数。
-w
禁用/开启ide驱动器的写缓冲特性,默认设置为设备制造商指定的值。
-x
(看不懂,危险)。
-x
为较新的(e)ide/ata驱动器设置ide传输模式,与-d1参数一起使用,使用-x
mdma2将开启多字dma模式2传输,使用-x
sdma1将开启单字dma模式1传输,使用-x
udma2将开启ultradma模式传输(需要芯片组支持)。现在很多ide设备在启动时就已经自动调整到最佳的pio模式,要使用此参数应该调整好-p参数,严重警告!这个数据是pio模式值+8,即设置为09代表传输模式为pio模式1,10即pio模式2,11即pio模式3,设置为00则恢复默认pio模式,01代表禁用iordy(什么是iordy啊,晕),要开启mdma,这个数值是mdma模式值+32,要开启udma,这个数值是udma模式值+64,即66为udma2(ata33),68为udma4(ata66),69为udma5(ata100,那么70应该是udma6即ata133了?我猜测的)
-y
使ide驱动器立即进入低耗电等待模式,用-c参数可以检查当前的耗电模式。
-y
使ide驱动器立即进入低耗电睡眠模式,用-c参数可以检查当前的耗电模式。
-z
让内核重新读取指定设备上的分区表。
-z
禁用segate驱动器的自动省电功能(st3xxx型号),防止它们在一定时间后闲置。
Q5: linux 如何查看用户id
工具/原料
linux linux客户端 电脑
方法/步骤
1、首先,打开linux客户端。
2、接着,点击上方的连接linux按钮。
3、弹出窗口,输入用户名和主机ip地址。
4、弹出窗口,输入密码,点击“OK”。
5、进入新界面。
6、输入id root命令,即可查看root用户的相关id信息。
关于linux查硬盘id命令和linux 查询硬盘的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







