How to Find Comprehensive Mac System Info via Terminal
If you’d like to find comprehensive system information about a Mac, you’ll find the Terminal is an excellent way to retrieve this data quickly.
We’ll provide a handy command that reveals extensive system information about a Mac, including the current system software version and build number, kernel version, boot volume, boot mode, computer name, active user name, virtual memory info, SIP status, uptime, Mac model name and identifier, CPU chip, number of CPU cores, memory, firmware version, OS loader version, serial number, hardware UUID, provisioning UDID, and activation lock status. You can also customize the command to get additional details about networking, storage, bluetooth, and other relevant system info data types.
Most Mac users likely use the About This Mac feature and System Information app to get system information about a Mac, and while there is nothing wrong with that approach, some users may find it helpful to get comprehensive system information about a Mac through the command line by using Terminal. The Terminal has several advantages, ranging from remote access, to accessibility even if the GUI is misbehaving, to producing easily scannable output in text format.
Retrieving Mac System Information from Terminal with system_profiler
To get started, open the Terminal application, found in /Applications/Utilities/ or by launching Terminal with Spotlight. Once you’re at the command line, enter the following command to get extensive information about the current Macs hardware and system software:
system_profiler SPSoftwareDataType SPHardwareDataType
Hit return and you’ll see an easily readable output that lists out all sorts of handy system information about the Mac, looking something like:
$ system_profiler SPSoftwareDataType SPHardwareDataType
Software:
System Software Overview:
System Version: macOS 12.1 (21C52)
Kernel Version: Darwin 21.2.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: M1 MacBook Pro
User Name: Paul Horowitz (Paul)
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
Time since boot: 35 days 17:14
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro17,1
Chip: Apple M1
Total Number of Cores: 8 (4 performance and 4 efficiency)
Memory: 16 GB
System Firmware Version: 7429.61.2
OS Loader Version: 7429.61.2
Serial Number (system): C20JJ9PA2QRS
Hardware UUID: B571BB30-C8C9-DF83-312F-D8C265617512
Provisioning UDID: 000000042-0009847128944E
Activation Lock Status: Enabled
As you can see from this information, the Mac is an M1 MacBook Pro with 16GB RAM, running macOS Monterey 12.1 booted normally and with SIP enabled, and a month long system uptime.
That may be good enough for your system information needs, but if you’d like to retrieve more data about the Mac you can find more system information available as well, perhaps about networking or internal storage.
To see the full list of data types available to system_profiler by using the following command:
system_profiler -listDataTypes
Currently the system_profiler data types include the following options:
SPParallelATADataType
SPUniversalAccessDataType
SPSecureElementDataType
SPApplicationsDataType
SPAudioDataType
SPBluetoothDataType
SPCameraDataType
SPCardReaderDataType
SPiBridgeDataType
SPDeveloperToolsDataType
SPDiagnosticsDataType
SPDisabledSoftwareDataType
SPDiscBurningDataType
SPEthernetDataType
SPExtensionsDataType
SPFibreChannelDataType
SPFireWireDataType
SPFirewallDataType
SPFontsDataType
SPFrameworksDataType
SPDisplaysDataType
SPHardwareDataType
SPInstallHistoryDataType
SPInternationalDataType
SPLegacySoftwareDataType
SPNetworkLocationDataType
SPLogsDataType
SPManagedClientDataType
SPMemoryDataType
SPNVMeDataType
SPNetworkDataType
SPPCIDataType
SPParallelSCSIDataType
SPPowerDataType
SPPrefPaneDataType
SPPrintersSoftwareDataType
SPPrintersDataType
SPConfigurationProfileDataType
SPRawCameraDataType
SPSASDataType
SPSerialATADataType
SPSPIDataType
SPSmartCardsDataType
SPSoftwareDataType
SPStartupItemDataType
SPStorageDataType
SPSyncServicesDataType
SPThunderboltDataType
SPUSBDataType
SPNetworkVolumeDataType
SPWWANDataType
SPAirPortDataType
Simply append a data type to the system_profiler command string and execute it to get information about that particular data type.
We have discussed the system_profiler command before, usually just piping it to ‘more’ to allow users to scan through the full page of system information, but that approach shows far more information than many users would need. The abbreviated info shown through ‘system_profiler SPSoftwareDataType SPHardwareDataType’ is likely suitable to most users needs looking to find system information.
If interested, you can also get system information including macOS version and kernel information using sw_vers and uname, or see everything paging through system_profiler output. You can also grab cpu info with sysctl from the command line if you only want information pertaining to the processor.
Thanks to BlackMoonWolf for the tip idea!
It seems this works fine when started up into macOS (Ventura in my case) but not when started in Recovery Mode where I think this would be most handy. In Recovery Mode I just get:
system_profiler: command not found
Or is there a way to use command in Recovery Mode?