1. 程式人生 > >Linux下判斷磁碟是SSD還是HDD的幾種方法

Linux下判斷磁碟是SSD還是HDD的幾種方法

環境介紹

Fedora release 25 (Twenty Five)

判斷方法

方法一

判斷cat /sys/block/*/queue/rotational的返回值(其中*為你的硬碟裝置名稱,例如sda等等),如果返回1則表示磁碟可旋轉,那麼就是HDD了;反之,如果返回0,則表示磁碟不可以旋轉,那麼就有可能是SSD了。

[[email protected] ~]$ cat /sys/block/nvme0n1/queue/rotational
0
[[email protected] ~]$ grep ^ /sys/block/*/queue/rotational
/sys/block/dm-0
/queue/rotational:0 /sys/block/dm-1/queue/rotational:0 /sys/block/dm-2/queue/rotational:0 /sys/block/nvme0n1/queue/rotational:0 /sys/block/sda/queue/rotational:1 [[email protected] ~]$

這種方法有個問題,那就是/sys/block/下面不只有硬碟,還可能有別的塊裝置,它們都在干擾你的判斷。

方法二

使用lsblk命令進行判斷,引數-d表示顯示裝置名稱,引數-o表示僅顯示特定的列。

[[email protected] ~]$ lsblk -d
-o name,rota NAME ROTA nvme0n1 0 [[email protected] ~]$

這種方法的優勢在於它只列出了你要看的內容,結果比較簡潔明瞭。還是那個規則,ROTA1的表示可以旋轉,反之則不能旋轉。

方法三

可以通過fdisk命令檢視,引數-l表示列出磁碟詳情。在輸出結果中,以Disk開頭的行表示磁碟簡介,下面是一些詳細引數,我們可以試著在這些引數中尋找一些HDD特有的關鍵字,比如:”heads”(磁頭),”track”(磁軌)和”cylinders”(柱面)。

下面分別是HDD和SSD的輸出結果,HDD拷貝自網路。

Disk /dev/sda: 120.0
GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00074f7d
[cheshi@cheshi-laptop2 ~]$ sudo fdisk -l
Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xad91c214
......
[cheshi@cheshi-laptop2 ~]$

其他方法

可以使用第三方工具判斷,比如smartctl,這些工具的結果展示比較直觀,但是需要單獨安裝。

參考文獻

相關推薦

Linux判斷磁碟SSD還是HDD方法

環境介紹 Fedora release 25 (Twenty Five) 判斷方法 方法一 判斷cat /sys/block/*/queue/rotational的返回值(其中*為你的硬碟裝置名稱,例如sda等等),如果返回1則表示磁碟可旋轉,那

Linux判斷cpu物理個數,核,是超執行緒還是多核心

目前intel新的多核心cpu都會在後面顯示具體的型號數字,例如: model name : Intel(R) Xeon(R) CPU           X3230   @ 2.66GHz     說明是 Xeon 3230的cpu,而不顯示型號的具體數字的,大部分都是奔

Linux Ubuntu 編譯Opencv c++專案的方法

Table of Contents 4.瞭解 1.使用g++命令列 pkg-config引數方法 新建一個cpp檔案:main.cpp,功能是輸入一幅影象檔案的路徑並顯示該影象: #include<opencv2/opencv.hpp>

liunx獲取網卡地址的方法

liunx下獲取網卡地址的幾種方法CentOS Linux release 7.2.1511 (Core)系統獲取網卡ipifconfig em1|awk ‘NR==2 {print $2}‘ifconfig em1|sed -n ‘2p‘|cut -d ‘ ‘ -f 10ifconfig em1|sed -

Python爬蟲系列:判斷目標網頁編碼的方法

qpi data- tps 分享 運行 ofo html nbsp 來看 在爬取網頁內容時,了解目標網站所用編碼是非常重要的,本文介紹幾種常用的方法,並使用幾個網站進行簡單測試。 代碼運行結果: 從不同國家的幾個網站測試結果來看,utf8使用的較多(對於純英文網站,用什

linux查看mysql版本的四方法

ace linux下 help upload width lin sql 四種 xid Linux查看MySQL版本的四種方法 1 在終端下執行 mysql -V 2 在help中查找 mysql --help |grep Distrib 3 在mysql 裏查看 sele

Linux檢視分割槽檔案系統型別的方法

​  在Linux 中如何檢視分割槽的檔案系統型別,下面總結幾種檢視分割槽檔案系統型別的方法。 1、df -T 命令檢視   這個是最簡單的命令,檔案系統型別在Type列輸出。只可以檢視已經掛載的分割槽和檔案系統型別。如下所示: 2、parted -l命令檢視   如下所示

Linux切換Python2和Python3的4方法

  原文標題:Linux下切換Python2和Python3的4種方法 原文連結:http://www.codesec.net/view/430627.html   本篇博文面向linux使用者,在Linux下(Ubuntu)下測試通過,Win使用者嘛,…… 0x

windowsmysql每天定時備份資料庫方法

在windows中備份mysql 資料庫的方法有很多種,如有常用的WinRAR備份mysql、mysqldump備份成sql檔案、xcopy 直接複製檔案形式備份資料庫,下面我來總結一下這些方法,並給出相關例項。 第一種:新建批處理檔案 backup.dat,裡

select拉框回顯的方法

第一種: jsp程式碼: <selectid="csrqnf"name="csrqnf"id="selecte"class="shortselect"value="${nfResult}">                               

Android StudioSvn忽略檔案配置的方法

一、Android Studio建立的Android專案一般需要忽略 1、.idea資料夾 2、.gradle資料夾 3、所有的build資料夾 4、所有的.iml檔案 5、local.

linux ssh 不用密碼自動登入的方法

2. 控制n個機器如上所述自動登入 那就需要n對鑰匙(金鑰和公鑰), ssh-keygen 命令可以隨意更改鑰匙對的名字, 比如: # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save

linux配置jdk環境變數的三方法總結

原文連結:http://www.jb51.net/article/93887.htm 一、修改/etc/profile檔案當本機僅僅作為開發使用時推薦使用這種方法,因為此種配置時所有使用者的shell都有權使用這些環境變數,可能會給系統帶來安全性問題。用文字編輯器開啟/etc/profi

linux配置jdk環境變數的三方法

一、修改/etc/profile檔案當本機僅僅作為開發使用時推薦使用這種方法,因為此種配置時所有使用者的shell都有權使用這些環境變數,可能會給系統帶來安全性問題。用文字編輯器開啟/etc/profile,在profile檔案末尾加入:JAVA_HOME=/usr/sha

嵌入式 自動判斷是否插入網線的方法

 在嵌入式產品上,如何讓使用者選擇有線還是無線上網呢?如何讓他們判斷使用了哪種方式上網呢?我們是這樣處理的:優先使用網線上網,穩定。即程式自動判斷,如果查了網線,則使用網線上網,如果沒有網線連線,則無線上網。    所以,問題的重點是如何判斷使用者是否插了網線!下面介紹四種方法,僅供參考。 方法一: /mnt

Linux載入.ko驅動模組的兩方法:insmod與modprobe

假設要載入的驅動程式模組名為SHT21.ko 載入驅動模組 方法一: 進入SHT21.ko驅動模組檔案所在的目錄,然後直接 insmod SHT21.ko 即可 方法二: 將SHT21.ko檔案拷貝到/lib/module/#uname -r#/目

linux執行緒間同步(通訊)的方法——互斥鎖、條件變數、訊號量、讀寫鎖

Linux下提供了多種方式來處理執行緒同步,最常用的是互斥鎖、條件變數、訊號量和讀寫鎖。  下面是思維導圖:  一、互斥鎖(mutex)    鎖機制是同一時刻只允許一個執行緒執行一個關鍵部分的程式碼。 1 . 初始化鎖 int pthread_mutex_init(p

PHP中判斷變數為空的方法小結

1. isset功能:判斷變數是否被初始化 說明:它並不會判斷變數是否為空,並且可以用來判斷陣列中元素是否被定義過 注意:當使用isset來判斷陣列元素是否被初始化過時,它的效率比array_key_exists高4倍左右 複製程式碼程式碼如下: $a = '';

【轉】Shell判斷字串包含關係的方法

下面是直接copy的內容: (本來是不打算copy的,但是每次用到或看的時候都要跳轉,感覺挺麻煩的。就直接copy了。) 方法一:利用grep查詢 1 strA="long string" 2 strB="string" 3 result=$(echo $

linux安裝軟體和解除安裝的方法

一、rpm包安裝方式步驟:  1、找到相應的軟體包,比如soft.version.rpm,下載到本機某個目錄;  2、開啟一個終端,su -成root使用者;  3、cd soft.version.rpm所在的目錄;  4、輸入rpm -ivh soft.version.