unix下收集系统信息的命令

unix下收集系统信息的命令

我可以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 -qRHEL基于系统(如 CentOS)和dpkg -l基于 Debian 的系统(如 Ubuntu)上运行。

答案2

要在基于文本的 shell 会话中显示硬件信息和操作系统类型,请使用以下命令:

lshw -xml | less  

-xml选项将 xml 描述标签添加到硬件列表中。将 的输出通过管道传输lshwless程序允许滚动 的输出lshw

如果您不是超级用户,您将收到警告。

WARNING: you should run this program as super-user.

并且lshw无论如何都会运行,但如果您不是超级用户,它将显示少于全部的硬件信息。

答案3

除了已经提供的命令之外,

  • dmesg:将显示内核环形缓冲区。无需以 root 身份运行。
  • hwinfo:提供更多信息的替代方案lshw。但:需要 root 权限才能运行。

关于lshwhwinfo:就个人而言,为了获得最完整的硬件信息,我更喜欢同时提供这两种信息。根据我的经验,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)

相关内容