The Folder Structure of macOS: Everything You Need to Know
Introduction
In macOS, the folder structure is integral to understanding how the system organizes files and applications. For many of us, knowing the correct path for everything is only to fulfill our sense of curiosity. However, for some people, specially programmers and software developers, knowing what is where in their computer means more than that.
Why Am I Writing This?
As someone with a keen interest in this operating system, I spent some time understanding the correct folder structure of a Mac system and gathering this information all in one place, so you don’t have to. :)
Please note that all these data are subjective to change. If you find anything missing, or stated incorrectly, please let me know in the comments and I will fix them for the next fellow Mac user who’s reading this.
Enough Talking. Let’s Dive In!
Here’s a detailed list of what you need to know:
- Applications: This folder contains all the applications installed on your Mac, such as Mail, Calendar, Safari, etc. These apps are also accessible through Launchpad. Any new apps that you install, will end up here.
- Library: This is where fonts and other items used by applications are stored. It’s accessible to all users on the Mac and is not intended for personal file storage. Some of the apps store the files that they need to function with in this directory.
- System: This folder houses the macOS operating system itself. You cannot change its name, location, or contents.
- Users: It contains the home folders of all users on your Mac. Each user’s home folder is represented by a house icon when logged in. It also includes a Shared folder for items available to all users.
- Home: Named after your username, this folder holds your personal files and folders, such as desktop files, downloads, pictures, documents, movies, music, and public files. You can create new folders here. This is where you mostly work in. Well, usually.
- Developer: Appears only if Apple’s Developer Tools are installed, containing tools, documentation, and files for development. (If you’re planning to make and publish apps for macOS, iOS, or any other Apple devices.)
- Network: Contains network-related devices, servers, libraries, etc.
- Volumes: This directory includes mounted devices and volumes, such as hard disks, CDs, DVDs, DMG mounts, etc.
- Root Directory (/): The topmost directory in macOS, parent to all other files and directories.
- Bin (/bin): Holds essential common binaries necessary for booting the operating system and its proper functioning. (Not the OS itself)
- Etc (/etc): Contains local system configuration files, including administrative and system files.
- Dev (/dev): Includes device files representing peripheral devices like keyboards, mice, and trackpads.
- Usr (/usr): A major hierarchy containing subdirectories with information, configuration files, and other essentials used by the operating system.
- Sbin (/sbin): Contains essential system binaries and utilities for system administration. Somehow similar to Bin (/bin).
- Tmp (/tmp): A directory for temporary files and caches.
- Var (/var): Holds variable data, which includes files whose contents change as the operating system runs.
- Opt (/opt): This directory is typically used for installing optional software packages that are not part of the core operating system. It provides a location for add-on software that is not managed by the package manager of the operating system. For example, third-party software like Homebrew may install packages under `/opt`. [UPDATED on 2024/05/11 — Thanks to PyProcrast for their comment.)
Now this, specially the part that contains /bin
, /usr
, /tmp
etc. may trick you into thinking that these are the same as a Linux operation system. While your guess is not incorrect, it’s not totally correct neither. Let’s see how.
How macOS and Linux Differ?
Both macOS and Linux are UNIX-based operating systems, and their file structures share similarities. Like macOS, Linux also has a hierarchical tree structure starting from the root directory (denoted by a forward slash /
). However, Linux treats everything as a file, including external devices, and allows files with the same name in the same directory if they use different cases, which is not the case in macOS.
Sooo, Why Is It Called “A Closed OS” Then?!
If the folder structure in macOS is very much similar to Linux and other Unix-based systems, then why is it called “A Closed Operating System”?
Well, the answer is, that’s not directly related to the folder structure. macOS is often referred to as a closed operating system compared to Linux, but for these reasons:
- Source Code Accessibility: macOS, developed by Apple, is proprietary software. Its source code is not publicly accessible, unlike Linux, which is open-source and allows users to view, modify, and distribute its code.
- Customization and Control: macOS offers limited customization options compared to Linux. Linux users have more freedom to alter the system’s core functionalities, including its kernel, which is not possible with macOS.
- Software Ecosystem: Apple controls the macOS software ecosystem tightly. This includes restrictions on software installation sources and stringent app store policies. Linux, conversely, supports a wide range of software from various sources without such restrictions.
- Hardware Compatibility: macOS is designed primarily for Apple hardware and is not officially supported on non-Apple hardware. In contrast, Linux can be installed on a wide variety of hardware platforms, including Apple hardware.
Thus, the “closed” nature of macOS stems more from its proprietary, controlled approach to software distribution, customization, and hardware compatibility, rather than its folder structure or file system organization.
Conclusion
Understanding the macOS folder structure is crucial, especially for new users transitioning from other operating systems. I hope this guide could serve as a comprehensive overview for anyone new to macOS, providing insights into how the system organizes and manages files.