Mac OSX 系统目录结构(转)

摘要

在OS X的系统中,不再有Windows用户熟悉的C盘、D盘,这是因为OS X底层是Unix系统,其目录机构符合Unix系统的规范。MAC机器主板使用了Intel主导的EFI标准,硬盘分区格式采用GPT。这种EFI+GPT的方式相比传统的BIOS+MBR的方式有很多好处,具体可以参考我之前写的博客。

1 硬盘分区

默认情况下,MAC OS X把硬盘分成了3个GPT分区。第一个就是GPT标准要求的ESP分区,这个分区很小,200MB,FAT文件系统格式。按照EFI惯例,应该用来存放操作系统的引导程序。但是苹果没有遵守这个惯例,它的引导程序boot.efi并没有存放在ESP中,这个分区只是被苹果用来存放升级固件的文件。第二个分区就是OS X的系统分区了,它占用了大部分磁盘空间,用来存放整个OS X系统和用户数据,分区文件系统格式为HFS+。第三个分区是系统恢复分区,里面存放了一个精简的OS X系统,用来完成系统恢复、安装等任务,类似于WindowsPE。默认情况下,OS X自带的磁盘工具并不能显示ESP分区和恢复分区,需要开启DEBUG菜单才可以。开启方法为:

defaults write com.apple.DiskUtility DUDebugMenuEnabled 1

然后重启“磁盘工具”,菜单栏里会多出一项“调试”菜单,选中此菜单中的“显示所有分区”菜单项,就会在左侧显示出磁盘的隐藏分区。如下图所示:

此时, ESP分区和恢复分区都显示为灰色,因为此分区虽然存在,但是没有被挂载到系统目录树中,右键点击分区,选择挂载就可以正常显示了,而且可以直接在Finder中查看这个分区。

其中ESP分区的目录结构如下:

2 OS X系统分区的目录结构

Mac OS X已经是被认证的Unix系统,所以其目录结构基本符合Unix系统目录结构。但是有很多目录在Finder中并看不到,这是因为这些目录的被设置了隐藏属性,我们可以在终端窗口中利用unix命令查看

可以看出,根目录下存在着传统的unix系统目录,也存在着一些os x特有的目录。

2.1 符合unix传统的目录

  • /bin 传统unix命令的存放目录,如ls,rm,mv等。
  • /sbin 传统unix管理类命令存放目录,如fdisk,ifconfig等等。
  • /usr 第三方程序安装目录。
  • /usr/bin, /usr/sbin, /usr/lib,其中/usr/lib目录中存放了共享库(动态链接库).
  • /etc. 标准unix系统配置文件存放目录,如用户密码文件/etc/passwd。此目录实际为指向/private/etc的链接。
  • /dev 设备文件存放目录,如何代表硬盘的/dev/disk0。
  • /tmp 临时文件存放目录,其权限为所有人任意读写。此目录实际为指向/private/tmp的链接。
  • /var 存放经常变化的文件,如日志文件。此目录实际为指向/private/var的链接。

这些标准的Unix目录在Finder中并不可见,如下图所示:

2.2 os x特有的目录

OS X系统中,除了标准的unix目录外,还增加了特有的目录。

  • /Applications 应用程序目录,默认所有的GUI应用程序都安装在这里;
  • /Library 系统的数据文件、帮助文件、文档等等;
  • /Network 网络节点存放目录;
  • /System 他只包含一个名为Library的目录,这个子目录中存放了系统的绝大部分组件,如各种framework,以及内核模块,字体文件等等。
  • /Users 存放用户的个人资料和配置。每个用户有自己的单独目录。
  • /Volumes 文件系统挂载点存放目录。
  • /cores 内核转储文件存放目录。当一个进程崩溃时,如果系统允许则会产生转储文件。
  • /private 里面的子目录存放了/tmp, /var, /etc等链接目录的目标目录。

3 用户的资料应该存放到什么目录?

对于普通OS X用户来说,对系统目录树结构的理解与否并不影响正常使用系统,以至于OS X把很多目录都故意隐藏,让普通用户通过Finder不能看到。用户真正关心的是把自己的资料存放到哪里更加方便和安全。Windows用户通常会把个人资料存放在非系统盘(C)的其他分区中,因为Windows系统一旦死掉,C盘的内容很可能就找不回来了。Mac OS X的用户则不用担心这个问题,OS X发生崩溃和不能启动的概率实在是太低了,就算是系统出现问题,由于用户目录和系统目录是彼此独立的,所以也容易找回。所以通常情况下,用户直接把资料存放在自己的用户目录中,OS X也建议用户这么做,并且已经为用户准备好了常用的子目录,如下图所示:

应用程序,文档,下载,音乐,电影,图片,公共,对于普通用户这些子目录也就够用了,当然如果你觉得不够,可以自己随便添加,例如上图中就增加了Work目录来存放一些工作的项目文件,家庭照片视频则用来存放来自手机、Dv等等的照片视频资料。

从Windows过来的用户,如果还想保持原来的习惯,把用户文件和系统文件存放在不同的分区中,那么就需要利于“磁盘工具”,重新分区,把系统分区调整小一些,留出空间建立一个新的HFS+分区,使用的时候把这个分区挂载到系统目录树上就可以使用了。

时间: 2024-10-30 09:23:05

Mac OSX 系统目录结构(转)的相关文章

Mac OSX 10.9.5, PHP5.4 安装 memcached

Mac安装memcached Mac安装memcached 安装环境 Mac OSX 10.9.5 Mavericks PHP5.4 使用 homebrew 安装过程 首先使用通过brew寻找需要安装的相关软件 brew install memcached 结构为 libmemcached  php53-memcached  php55-memcached memcached     php54-memcached   php56-memcached 然后依次安装 brew install me

苹果系统Mac OSX用花生壳phddns

苹果系统Mac OSX用花生壳phddns 博客分类: 苹果系统 Mac OSX gcc程序 Linux 刚刚修改了一下花生壳的文件,介绍给大家方法 1. 下载花生壳文件phddns-2.0.3.16858.tar.gz 这个文件是花生壳官方的linux版 重新编译OSX版 附件有编译好的phddns-2.0.3.16858-osx.tar.bz2 中有一个phddns文件夹可以有简单设定 2. 你的系统要有xcode喽 tar xzvf phddns-2.0.3.16858.tar.gz cd

解决mac osx下pip安装ipython权限的问题

1 pip install ipython --user -U 下面是pip install gevent的错误提示, 又是 Operation not permitted … 1 2 3 4 5 #xiaorui.cc pip install gevent ... raise Error, errors Error: [('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/

Mac OSX (EI Capitan)搭建Caffe环境并配置python接口

Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清.Caffe是纯粹的C++/CUDA架构,支持命令行.Python和MATLAB接口:可以在CPU和GPU直接无缝切换.我在MacbookPro(无NVIDIA显卡)上大费周章地配置了Caffe的环境,并花了许多时间配置其python接口. 一.下载Caffe github上的下载地址:https://github.com/BVLC/caffe进入到下载后的路径,并复制 Makefile.config.ex

Mac OSX系统、Linux、Windows命令行教程

Mac OSX系统.Linux.Windows命令行教程 一.各系统终端的使用方法 二.各系统命令的功能 用你的终端做一些事情 (command line, Terminal, PowerShell). 一.各系统终端的使用方法 Mac OSX 在Mac OSX系统上,你应该 按住 command 键,并敲空格键. 屏幕顶部会弹出一个蓝色的"搜索框". 输入"terminal". 点击终端应用程序,这个程序的图标看起来有点像一个黑盒子. 终端就打开了. 现在你可以在

mac osx下安装mysql

操作系统版本:mac osx 10.11mysql版本:官网下载dmg  v5.6.33  https://www.mysql.com/ 安装步骤1.双击dmg安装2.开启mysql服务系统偏好设置-底部-mysql-打开服务这个时候还不能使用mysql命令,需要配置mysql命令的路径. 3.配置环境变量mysql的路径在当前用户根目录下编辑.bash_profile文件,添加一行:export PATH=${PATH}:/usr/local/mysql/bin 注:/usr/local/my

如何在Mac OSX上安装xgboost

听说xgboost效果很不错,于是准备学习下,但是发现大多数资料都是在讲如何在windows或linux下安装xgboost,而且照着官方文档也没有正确的安装好多线程的xgboost.最后还是从there找到了方法. 1. Mac OSX系统一般自带python,打开终端输入python即可写python代码,所以python环境已经具备了. 2.安装 Homebrew , 类似于ubuntu中的apt-get和centos中的yum,是OSX里面的一个非常有用软件安装工具. /usr/bin/

Webstorm 10 for mac osx 注册机,序列号,kegen

小菜最近get到mac体验机会,早就耳闻mac非常适合做开发,于是迫不及待的安装各种开发工具,不知不觉,轮到前端开发神器webstorm了,看了一下官网的价格,心拔凉拔凉的. 果断搜索注册机,搜到的结果不少,20%是版本太旧,80%需要vip才能下载. 目前最新的是10+版本,勉强可以下载的都是8+版本,不太符合心思,而其他号称9+版本带注册机的,或者10+版本带序列号的,vip才能下载,既然不想买正版,却给盗版充值,哪有这样的道理. 如果读者因为这件事而苦恼,恰好又看到这篇文章,那么您的问题至

Mac OSX下卸载Nodejs

有时手贱看到新版本就升级,升级后发现一堆模块不能用了,心情好慢慢调,但也有调不好的时候,只能卸载重装低版本的node了. 我的机器环境如下 1. Mac OSX 10.10.3 2. node为0.12.2 卸载过程 1. 拷贝如下代码放到一个sh文件中(如uninstall_node.sh) #!/bin/bash lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read i; do sudo rm /usr/loc