Linux查找硬盘转速

wget -P /data/soft/ http://sg.danny.cz/sg/p/sg3_utils-1.44.tar.xz
cd /data/soft/
xz -d sg3_utils-1.44.tar.xz
ls -lsa
sg3_utils-1.44.tar
tar -xvf sg3_utils-1.44.tar
cd sg3_utils-1.44
./configure
make
make install
fdisk -l |grep sd*
sg_vpd -all /dev/sdb |grep rpm
显示结果:
Nominal rotation rate: 7200 rpm

 

转载于:https://www.cnblogs.com/vincent-liang/p/10965391.html

<think>好的,我现在需要帮助用户解决在Linux下检测SSD和HDD容量及类型的问题。首先,我得回忆一下用户提供的引用内容,看看有没有相关的信息可以引用。 引用[3]提到可以使用`cat /proc/partitions`结合grep和awk来列出设备,引用[4]展示了一个具体的命令例子,可能是用来获取分区名的。不过用户现在更关心的是区分SSD和HDD,并查看它们的容量和类型。根据引用[3],固态硬盘和机械硬盘Linux中的检测方法,可能需要通过检查设备属性来判断类型。 首先,我应该考虑常见的命令,比如`lsblk`和`fdisk`,这两个命令可以用来查看磁盘信息,包括容量。不过要区分SSD和HDD,可能需要查看设备的旋转属性。旋转速度(rotational)是一个关键指标,机械硬盘通常为1,SSD为0。这可以通过`lsblk -d -o name,rota`命令来实现,如引用[3]中的方法。 另外,smartctl工具也是一个好选择,因为它能提供详细的设备信息,包括类型。用户可能需要安装smartmontools包,然后使用`smartctl -a /dev/sda`来检查。如果输出中的Rotation Rate字段显示为SSD或Solid State Device,那么就是固态硬盘。例如,引用[3]中提到StorageTek 4305是早期的SSD,可能兼容HDD接口,所以这种方法更可靠。 接下来是具体步骤的整理。首先使用`lsblk`查看所有块设备及其大小,然后用`lsblk -d -o name,rota`确定类型。如果rota为0,则是SSD;为1则是HDD。此外,使用`hdparm -I /dev/sdX`也能查看信息,但可能需要root权限。引用[4]中的命令可能用于列出分区,但需要调整来显示类型和容量。 用户可能需要安装一些工具,比如smartmontools,所以需要提醒他们安装步骤,比如`sudo apt install smartmontools`。此外,对于每个磁盘,可以编写脚本循环检查,比如用循环遍历/dev/sd*设备,然后应用上述命令。 总结一下,步骤大概是: 1. 使用`lsblk`查看所有磁盘及其容量。 2. 使用`lsblk -d -o name,rota`判断类型。 3. 使用smartctl进一步确认。 4. 结合脚本自动化这个过程。 需要检查是否有权限问题,比如是否需要sudo来执行某些命令。例如,smartctl可能需要root权限才能访问详细信息。同时,用户可能需要知道如何解析这些命令的输出,所以给出示例输出会更有帮助。 最后,确保回答结构清晰,分步骤说明,并引用相关的引用内容。例如,在提到检查旋转属性时引用[3],提到命令行工具时引用[4]。</think>### 如何在Linux下检测SSD和HDD的容量及类型? #### **方法1:使用 `lsblk` 查看磁盘类型与容量** 1. **列出所有块设备信息** 执行以下命令查看磁盘名称、类型及容量: ```bash lsblk -d -o NAME,ROTA,SIZE,MODEL ``` - `ROTA=1` 表示机械硬盘(HDD)[^3] - `ROTA=0` 表示固态硬盘(SSD) - `SIZE` 列显示磁盘容量 - `MODEL` 列显示磁盘型号 **示例输出**: ``` NAME ROTA SIZE MODEL sda 1 2TB ST2000DM001 sdb 0 500GB Samsung SSD 860 ``` #### **方法2:通过 `smartctl` 工具验证磁盘类型** 1. **安装 smartmontools** ```bash sudo apt install smartmontools # Debian/Ubuntu sudo yum install smartmontools # CentOS/RHEL ``` 2. **查看磁盘详细信息** 执行以下命令(替换 `sda` 为实际磁盘名称): ```bash sudo smartctl -a /dev/sda ``` - 若输出包含 `Rotation Rate: Solid State Device`,则为SSD - 若显示具体转速(如 `7200 rpm`),则为HDD #### **方法3:检查 `/sys/block` 属性** 1. **直接查看旋转属性** 通过以下命令检查磁盘的 `rotational` 标志: ```bash cat /sys/block/sda/queue/rotational ``` - 输出 `1` 为HDD,`0` 为SSD[^3] #### **方法4:脚本自动化检测(综合容量与类型)** ```bash #!/bin/bash for disk in /dev/sd*; do disk_name=${disk#/dev/} rota=$(cat /sys/block/$disk_name/queue/rotational) size=$(lsblk -d -o SIZE $disk | tail -n1) type="SSD" [ "$rota" -eq 1 ] && type="HDD" echo "$disk: Type=$type, Size=$size" done ``` #### **输出示例**: ``` /dev/sda: Type=HDD, Size=2TB /dev/sdb: Type=SSD, Size=500GB ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值