Linux CPU和HDD信息

Linux CPU和HDD信息,linux,Linux,我搜索了一下,但没有找到解决我问题的答案。 我希望在Linux命令行中包含有关CPU使用情况和本地HDD的信息,以及与我的程序的下面示例完全相同的格式化文本。 这些示例是MS Windows上的命令行输出。 我希望这在Linux上也是可能的 多谢各位 wmic logicaldisk where drivetype=3 get caption,freespace,size Caption FreeSpace Size C: 135314194432 2559532032

我搜索了一下,但没有找到解决我问题的答案。 我希望在Linux命令行中包含有关CPU使用情况和本地HDD的信息,以及与我的程序的下面示例完全相同的格式化文本。 这些示例是MS Windows上的命令行输出。 我希望这在Linux上也是可能的

多谢各位

wmic logicaldisk where drivetype=3 get caption,freespace,size

Caption  FreeSpace     Size
C:       135314194432  255953203200
D:       126288519168  128033222656
E:       336546639872  1000194015232
F:       162184503296  1000194015232

wmic cpu get loadpercentage

LoadPercentage
4
您将无法找到与您提供的输出完全相同的内容。 唯一的选项是用于磁盘空间
df

Filesystem                   1K-blocks      Used Available Use% Mounted on
/dev/root                     73216256  27988724  41485276  41% /
devtmpfs                       8170164         0   8170164   0% /dev
tmpfs                          8203680       544   8203136   1% /dev/shm
tmpfs                          8203680     12004   8191676   1% /run
tmpfs                             5120         4      5116   1% /run/lock
tmpfs                          8203680         0   8203680   0% /sys/fs/cgroup
/dev/sdb1                       482922     83939    374049  19% /boot
对于cpu,你有更多的选择,例如。
vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 11865304 149956 1474172    0    0    53    46  126  707  3  0 96  0  0
top-b | head

top - 21:48:43 up 54 min,  1 user,  load average: 0.13, 0.17, 0.22
Tasks: 188 total,   1 running, 187 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.0 us,  0.4 sy,  0.1 ni, 96.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 16407364 total, 11848936 free,  2888844 used,  1669584 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 13230972 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0   40544   6440   3780 S   0.0  0.0   0:01.15 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.00 ksoftirqd/0

没有命令提供cpu的负载百分比。实际上,通过系统调用是不可能做到这一点的(linux和Windows都不可能做到)。您可以得到的是当前执行的刻度数(对于每个字段、用户、系统、io、irq idle)…,然后在一定时间后再次调用它并计算它。这就是读取cpu百分比的所有命令的工作方式

下面是一个脚本bash,它为您提供:(只需创建一个名为example cpu.sh的文件,粘贴此代码并执行以查看结果)

对于可用空间,您可以使用以下内容:

df -h  -x tmpfs -x devtmpfs | awk -F " " '{print $1 " " $4 " " $2}'
wich将为您提供以下输出:

Filesystem Free Size
/dev/sda1 16G 25G
/dev/sda5 46G 79G
/dev/sdb8 130G 423G

sda表示第一个磁盘,sda1表示第一个分区,sda2表示第二个分区,等等。您可以在打印中添加(或更改)6美元,以获得装入点,而不是分区,更改顺序或更多内容

mandf
(df可以满足您的需要)并且:linux没有用于cpu使用的“driveletters”?在我的程序中,我检查每个硬盘的空闲空间并发送警告。如果没有信件,我怎么办。我将在工作中尝试使用命令。谢谢。Unix系统通常有挂载点的概念,您可以将其视为Windows中的驱动器号。装入点是一个已装入给定文件系统的路径。挂载点可以是,例如,
/home
/
/mnt/pendrive
单词sda相当于驱动器号?不,
sda
只是第一个使用SCSI接口连接的磁盘(
a
)(
s
,尽管现在它也用于其他接口)。一个磁盘可以有多个分区,这些分区在
sda
hdb
后面用数字表示。但我不会把它称为驱动器号,在它被装入之前,你不能
cd
。在Windows中,所有磁盘都会自动装入驱动器号。在Linux中,人们通常必须自行决定将给定磁盘装入何处。在我的程序中,我用Java检索字符串中的信息,检查每个硬盘的可用空间,并发送警告。如果没有信件,我怎么办。我已经看到了这个命令,但是有很多文本要删除,我怎么能只保留我需要的信息呢?感谢您如果出现
df
您有6列,而不是您的3列,这不需要删除很多。您已经必须在程序中将Windows输出拆分为列,因此对6列执行相同操作应该很容易。
Filesystem Free Size
/dev/sda1 16G 25G
/dev/sda5 46G 79G
/dev/sdb8 130G 423G