System Information (formerly System Profiler) in OS X provides a detailed breakdown of the hardware and software configuration of a Mac, from Bluetooth information and attached USB devices to installed software and extensions.

While most of us have used System Information at one time or another, it’s an often overlooked and undervalued tool. To get the most out of it, we’ll exploring the app, and its lesser-known command-line options, in further detail.

Launching System Information

There are a number of ways you can access System Information as it has a number of shortcuts in different places, the most common way is from the About This Mac pane.

Click on More Info to reveal some additional information about the Mac and then click System Report…

You can bypass this process completely by holding down the Alt key when in the Apple menu. This will swap About This Mac to System Information… and allow you to launch it directly.

Finally, you can simply launch the app from where it resides: within /Applications/Utilities.

The System Information App

The System Information app is nothing more than a tweaked XML viewer. It doesn’t do anything itself, instead relying upon the system_profiler command (which we’ll come to later) to generate hardware and software configuration reports.

The report that the command generates is then opened by System Information and formatted in a way that’s easy to view. System Information also views a report that has already been created, though it can be refreshed at any time by selecting File > Refresh Information.

Each section is broken down into its respective categories, such as Hardware, Network and Software, and their related reports are separated into subcategories.

Within the app’s menu are a few options that can alter the output of the report. If you’d prefer not to view a full report, you can select Show Less Information which will hide most Software reports. This can be toggled by selecting Show More Information to bring them back.

System Reports

A great benefit of System Information is that reports can be saved and opened on any Mac. You can save a report from one Mac and open it on another, useful when trying to troubleshoot an issue with a remote Mac.

To save a report, select File > Save. The report saved reflects the current view of System Information so if you’ve opted to display less information, a basic report is saved.

A full report can be several megabytes in size whereas a basic report can be only a few hundred kilobytes. Unless there’s a need to include all software information, it can be sometimes worth displaying less information before saving a report.

All system reports are saved with the .spx file extension and opening any system reports will launch System Information automatically.

System Information Via the Command-Line

As we touched upon earlier, System Information is just a viewer for system reports, all of the work for creating them is done by the command system_profiler .

Sometimes it may be necessary to bypass System Information when we’re wanting to view a report. For example, you may need a system report of a Mac that you only have remote access to via SSH so opening System Information wouldn’t be possible, but that doesn’t mean we can’t create a system report.

Generating Reports

To get started, open Terminal and enter the command system_profiler . You’ll notice that (after a brief delay) a lot of system information is displayed within the Terminal window.

Running the command without any arguments just dumps the entire system report to the screen. If we wanted to find out what the Mac’s Model Identifier is, we could use:

system_profiler | grep "Model Identifier"

This isn’t very efficient as running system_profiler generates a complete report each time, which can be time consuming if the Mac contains a lot of software or isn’t particularly speedy.

Instead, we can generate a report only on a particular part of the Mac, such as network or storage information, by specifying a Data Type. What data types are available depend on the Mac’s hardware capabilities and configuration.

To list all of the available types of data, use the listDataTypes argument:

system_profiler -listDataTypes

You can request a system report on only a specific part of the hardware by invoking the system_profiler command, along with the data type, like so:

system_profiler SPCameraDataType

The Mac’s Model Identifier is located within the SPHardwareDataType data type. By generating a report just using that data type, the result to our grep search is substantially quicker:

system_profiler SPHardwareDataType | grep "Model Identifier"

Saving a System Report

To save a text-only version of a system report to your desktop, you can use the following command:

system_profiler > ~/Desktop/system_report.txt

As you’re redirecting the output to a text file rather than the terminal window, any reports you generate (including on specific data types) can be saved.

Full Report Detail Level

By default, system_profiler generates a complete system report. Just like System Information, we can choose to generate a more basic one using the argument detailLevel :

system_profiler -detailLevel [basic|mini|full] > ~/Desktop/system_report.txt

There are three different levels of detail that can be used:

mini (report with no personal information, such as Serial Number of Hardware UUID)

basic (basic hardware and network information)

full (all available information)

So to generate a basic report, the command would be:

system_profiler -detailLevel basic > ~/Desktop/system_report_basic.txt

Opening Reports in System Information

So far, the reports generated have all been plaintext. To create System Information-compatible reports, an additional argument would be needed, xml , and the file extension specified must be .spx .

Combining all of this together, an example command would be:

system_profiler -detailLevel mini -xml > ~/Desktop/system_report_mini.spx

These reports can then be opened within System Information and more easily viewed.

Wrapping Up