How to get various disk information on Linux?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















The purpose is to obtain information about the physical hard disk under the Linux platform. The required information include:



  • physical hard drive name (caption)

  • device path (such as /dev/sda)

  • read/write rate and read and write throughput of each physical disk

  • total disk capacity

  • remaining available capacity per physical disk

I eventually need to get this information in the program in C++. But I would also accept the command line acquisition method.



I have tried lshw, smartctl, hdparm, lsblk, fdisk, etc. But some of these commands are not available on different Linux distributions. As well, these methods can't get all the information I want.



I also tried to get information from /proc/diskstats, /sys/block, etc., but it didn't solve the problem. The confusion between logical disks and physical disks also makes processing difficult. It is important to emphasize that the information you need to obtain is for each physical disk.



Is there a more general way to use on most distributions?










share|improve this question
























  • Have you looked at the source code for these commands?

    – ctrl-alt-delor
    Mar 15 at 10:04











  • I have tracked several commands using the` strace `command. I am going to figure out the specifics of /proc files first, and then see how these commands work.

    – hxysayhi
    Mar 16 at 3:35

















1















The purpose is to obtain information about the physical hard disk under the Linux platform. The required information include:



  • physical hard drive name (caption)

  • device path (such as /dev/sda)

  • read/write rate and read and write throughput of each physical disk

  • total disk capacity

  • remaining available capacity per physical disk

I eventually need to get this information in the program in C++. But I would also accept the command line acquisition method.



I have tried lshw, smartctl, hdparm, lsblk, fdisk, etc. But some of these commands are not available on different Linux distributions. As well, these methods can't get all the information I want.



I also tried to get information from /proc/diskstats, /sys/block, etc., but it didn't solve the problem. The confusion between logical disks and physical disks also makes processing difficult. It is important to emphasize that the information you need to obtain is for each physical disk.



Is there a more general way to use on most distributions?










share|improve this question
























  • Have you looked at the source code for these commands?

    – ctrl-alt-delor
    Mar 15 at 10:04











  • I have tracked several commands using the` strace `command. I am going to figure out the specifics of /proc files first, and then see how these commands work.

    – hxysayhi
    Mar 16 at 3:35













1












1








1


1






The purpose is to obtain information about the physical hard disk under the Linux platform. The required information include:



  • physical hard drive name (caption)

  • device path (such as /dev/sda)

  • read/write rate and read and write throughput of each physical disk

  • total disk capacity

  • remaining available capacity per physical disk

I eventually need to get this information in the program in C++. But I would also accept the command line acquisition method.



I have tried lshw, smartctl, hdparm, lsblk, fdisk, etc. But some of these commands are not available on different Linux distributions. As well, these methods can't get all the information I want.



I also tried to get information from /proc/diskstats, /sys/block, etc., but it didn't solve the problem. The confusion between logical disks and physical disks also makes processing difficult. It is important to emphasize that the information you need to obtain is for each physical disk.



Is there a more general way to use on most distributions?










share|improve this question
















The purpose is to obtain information about the physical hard disk under the Linux platform. The required information include:



  • physical hard drive name (caption)

  • device path (such as /dev/sda)

  • read/write rate and read and write throughput of each physical disk

  • total disk capacity

  • remaining available capacity per physical disk

I eventually need to get this information in the program in C++. But I would also accept the command line acquisition method.



I have tried lshw, smartctl, hdparm, lsblk, fdisk, etc. But some of these commands are not available on different Linux distributions. As well, these methods can't get all the information I want.



I also tried to get information from /proc/diskstats, /sys/block, etc., but it didn't solve the problem. The confusion between logical disks and physical disks also makes processing difficult. It is important to emphasize that the information you need to obtain is for each physical disk.



Is there a more general way to use on most distributions?







linux hard-disk hardware






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 10 at 12:05









Paradox

517318




517318










asked Mar 15 at 9:47









hxysayhihxysayhi

1113




1113












  • Have you looked at the source code for these commands?

    – ctrl-alt-delor
    Mar 15 at 10:04











  • I have tracked several commands using the` strace `command. I am going to figure out the specifics of /proc files first, and then see how these commands work.

    – hxysayhi
    Mar 16 at 3:35

















  • Have you looked at the source code for these commands?

    – ctrl-alt-delor
    Mar 15 at 10:04











  • I have tracked several commands using the` strace `command. I am going to figure out the specifics of /proc files first, and then see how these commands work.

    – hxysayhi
    Mar 16 at 3:35
















Have you looked at the source code for these commands?

– ctrl-alt-delor
Mar 15 at 10:04





Have you looked at the source code for these commands?

– ctrl-alt-delor
Mar 15 at 10:04













I have tracked several commands using the` strace `command. I am going to figure out the specifics of /proc files first, and then see how these commands work.

– hxysayhi
Mar 16 at 3:35





I have tracked several commands using the` strace `command. I am going to figure out the specifics of /proc files first, and then see how these commands work.

– hxysayhi
Mar 16 at 3:35










0






active

oldest

votes












Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f506461%2fhow-to-get-various-disk-information-on-linux%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f506461%2fhow-to-get-various-disk-information-on-linux%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown






Popular posts from this blog

How to check contact read email or not when send email to Individual?

Displaying single band from multi-band raster using QGIS

How many registers does an x86_64 CPU actually have?