MacOS终端查询本机详细配置

7,438 阅读3分钟

背景故事

想查看 MacBook Pro 的 CPU 型号,但是点开关于本机并无法获取具体的 CPU 型号。于是查找了在 MacOS 下获取本机详细配置的一些办法。

sw_vers

获取 MacOS 的版本号和编译版本号。

ProductName:	Mac OS X 
ProductVersion:	10.14.6
BuildVersion:	18G95

uname

uname命令的英文全称即Unix name

用于显示系统相关信息,比如主机名、内核版本号、硬件架构等。

如果未指定任何选项,其效果相当于执行uname -s命令,即显示系统内核的名字。

uname -a

Darwin linshantangdeMacBook-Pro.local 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64 x86_64
参数 描述
-a 显示系统所有相关信息
-m 显示计算机硬件架构
-n 显示主机名称
-r 显示内核发行版本号
-s 显示内核名称
-v 显示内核版本
-p 显示主机处理器类型
-o 显示操作系统名称
-i 显示硬件平台

system_profiler

system_profiler 命令是一个由 System Profiler 应用提供的命令行接口 (CLI) 。
执行与 System Profiler 应用程序程序相同的功能。当没有权限访问 GUI 时,可以通过它来读取系统信息。
此命令替换了在 MacOS 10.2(Jaguar)下位于 /usr/sbin 中的 AppleSystemProfiler 。
通过 man命令查看system_profile命令信息如下:

man system_profile

除非你确切知道你查找的内容,否则 system_profiler 输出的大量信息使用起来将非常不方便。

以下为为一些更好使用 system_profiler 的方法:

  • detailLevel

system_profiler 命令提供三种不同级别的报告:mini,basic 和 full 。

  • system_profiler -detailLevel mini :生成来自 System Profiler 的信息文本报告,而不包含任何个人信息或识别信息。
  • system_profiler -detailLevel basic :仅使用基本的硬件和网络信息生成报告。
  • system_profiler -detailLevel full :使用 System Profiler 生成的所有可用信息生成报告。
  • system_profiler -detailLevel - n :指定 n 为以下数字以指定报告的详细程度。
参数 描述
-2 仅简要概述数据
-1 简短数据报告
0 标准数据报告
1 扩展数据报告
  • dataType

虽然将system_profiler-detailLevel标志一起使用会使它更有用,但是当将它与特定的数据类型一起使用时,该命令才能发挥的真正效果。

在查看可用数据类型的列表时,可以使用 -listDataTypes 命令。

system_profiler -listDataTypes

可用的数据类型为:

  • SPParallelATADataType
  • SPUniversalAccessDataType
  • SPApplicationsDataType
  • SPAudioDataType
  • SPBluetoothDataType
  • SPCameraDataType
  • SPCardReaderDataType
  • SPComponentDataType
  • SPDeveloperToolsDataType
  • SPDiagnosticsDataType
  • SPDisabledSoftwareDataType
  • SPDiscBurningDataType
  • SPEthernetDataType
  • SPExtensionsDataType
  • SPFibreChannelDataType
  • SPFireWireDataType
  • SPFirewallDataType
  • SPFontsDataType
  • SPFrameworksDataType
  • SPDisplaysDataType
  • SPHardwareDataType
  • SPHardwareRAIDDataType
  • SPInstallHistoryDataType
  • SPNetworkLocationDataType
  • SPLogsDataType
  • SPManagedClientDataType
  • SPMemoryDataType
  • SPNVMeDataType
  • SPNetworkDataType
  • SPPCIDataType
  • SPParallelSCSIDataType
  • SPPowerDataType
  • SPPrefPaneDataType
  • SPPrintersSoftwareDataType
  • SPPrintersDataType
  • SPConfigurationProfileDataType
  • SPSASDataType
  • SPSerialATADataType
  • SPSPIDataType
  • SPSoftwareDataType
  • SPStartupItemDataType
  • SPStorageDataType
  • SPSyncServicesDataType
  • SPThunderboltDataType
  • SPUSBDataType
  • SPNetworkVolumeDataType
  • SPWWANDataType
  • SPAirPortDataType

若要生成仅包含一种数据类型信息的文本报告,只需将数据类型添加到 system_profiler 命令末尾,如下示例:

system_profiler SPDisplaysDataType

也可以生成包含多种数据类型以准确生成要查看的报告:

system_profiler SPDisplaysDataType SPMemoryDataType

  • 输出到XML

可以使用-xml命令将system_profiler生成的报告输出为 XML 。该命令可以与前面的任何命令相结合使用,以调整报告准确包含所需的信息。

sysctl

sysctl 命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录 /proc/sys 中。
它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用 sysctl 可以读取设置超过五百个系统变量。
sysctl 命令对内核参数的修改仅在当前生效,重启系统后参数丢失。如果希望参数永久生效可以修改配置文件 /etc/sysctl.conf

参数 描述
-n 打印值时不打印关键字
-e 忽略未知关键字错误
-N 仅打印名称
-w 当改变sysctl设置时使用此项
-p 从配置文件“/etc/sysctl.conf”加载内核参数设置
-a 打印当前所有可用的内核参数变量和值
-A 以表格方式打印当前所有可用的内核参数变量和值

文章开始说到的在 MacOS 中查询 CPU 的具体型号就可以使用sysctl -n machdep.cpu.brand_string进行查看:

$ sysctl -n machdep.cpu.brand_string

Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz
参考链接

teczd.com/2015/09/23/…
www.linuxcool.com/sysctl