我可以ssh
访问基于 unix 的计算机。哪些 shell 命令集最适合帮助识别计算机类型(例如 CPU 类型、内核数、缓存大小、内存大小、制造商、型号)、运行的操作系统、本地磁盘驱动器、安装的软件(可能不在我的默认设置中PATH
)等?
(希望在基于文本的 shell 会话中并且不需要 root 权限。)
我已经知道df
如何获取有关映射磁盘的信息。
答案1
有多个针对这些信息的命令。
lspci
:将显示任何与 PCI 相关的信息。无需以 root 身份运行。lscpu
:将显示任何与 CPU 相关的信息。无需以 root 身份运行。lsscsi
:将显示任何 scsi/sata 相关信息。无需以 root 身份运行。lsusb
:将显示任何与 USB 相关的信息。无需以 root 身份运行。lsblk
:将显示所有块设备相关信息。无需以 root 身份运行。dmidecode
:将以人性化的输出形式显示 DMI 信息。root
不过,此命令需要权限。lshw
:将显示有关硬件的一般信息:CPU、内存、硬盘、PCI、网络接口……可能是您能找到的最完整的命令。可能以非 root 身份运行,但是,它可能截断一些信息(并会显示警告)。free
:有关内存的信息:总计、已用、缓存...cat /proc/meminfo
还将提供有关内存的信息。可能以非 root 身份运行。cat /proc/cpuinfo
还将提供有关机器 CPU 的信息。可以以非 root 身份运行。
就软件和操作系统而言,我怀疑所有发行版都没有“标准”命令。例如,在基于 RHEL 的系统(如 CentOS)上,发行版可能运行cat /etc/redhat_release
。在基于 Debian 的系统(如 Ubuntu)上,您可以运行lsb_release -a
。
对于软件信息,您可以rpm -q
在RHEL
基于系统(如 CentOS)和dpkg -l
基于 Debian 的系统(如 Ubuntu)上运行。
答案2
要在基于文本的 shell 会话中显示硬件信息和操作系统类型,请使用以下命令:
lshw -xml | less
该-xml
选项将 xml 描述标签添加到硬件列表中。将 的输出通过管道传输lshw
到less
程序允许滚动 的输出lshw
。
如果您不是超级用户,您将收到警告。
WARNING: you should run this program as super-user.
并且lshw
无论如何都会运行,但如果您不是超级用户,它将显示少于全部的硬件信息。
答案3
除了已经提供的命令之外,
dmesg
:将显示内核环形缓冲区。无需以 root 身份运行。hwinfo
:提供更多信息的替代方案lshw
。但:需要 root 权限才能运行。
关于lshw
和hwinfo
:就个人而言,为了获得最完整的硬件信息,我更喜欢同时提供这两种信息。根据我的经验,hwinfo
提供更详细的标识和寻址信息,而lshw
显示更多有关硬件功能的详细信息。但是,lshw
的明显优势在于,当从非 root 帐户调用时,它会提供(尽管部分删节)信息。
答案4
由于这两个ls...
命令hwinfo
对我来说都不可用(在 Solaris 下),所以我最终编写了这个作为替代方案:
看一下uname -X
提供的信息:参见维基百科
来自手册页:
NAME
uname - print name of current system
SYNOPSIS
uname [-aimnprsvX]
uname [-S system_name]
DESCRIPTION
The uname utility prints information about the current sys-
tem on the standard output. When options are specified, sym-
bols representing one or more system characteristics will be
written to the standard output. If no options are specified,
uname prints the current operating system's name. The
options print selected information returned by uname(2),
sysinfo(2), or both.
OPTIONS
The following options are supported:
-a Prints basic information currently available
from the system.
-i Prints the name of the platform.
-m Prints the machine hardware name (class).
Use of this option is discouraged. Use uname
-p instead. See NOTES section below.
-n Prints the nodename (the nodename is the
name by which the system is known to a com-
munications network).
-p Prints the current host's ISA or processor
type.
-r Prints the operating system release level.
-s Prints the name of the operating system.
This is the default.
...
-v Prints the operating system version.
-X Prints expanded system information, one
information element per line, as expected by
SCO UNIX. The displayed information
includes:
o system name, node, release, version,
machine, and number of CPUs.
o BusType, Serial, and Users (set to
"unknown" in Solaris)
o OEM# and Origin# (set to 0 and 1,
respectively)