mac文件目录结构
详解MAC硬盘中各个文件夹
详解MAC硬盘中各个文件夹
打开Macintosh HD你会发现内中有四个文件夹
分别有——应用程序(Applications)、系统(System)、用户(User)、资料库(Library)。四个文件夹中又分别各有若干数量的文件夹存在。
1.Applications:这个当然就是存放各种软件的位置了。
2.System: 包含由Apple安装的系统软件。这此资源是系统正常运行所必须的,位于启动卷宗中
/System/Library/CFMSupport CFM, Code Fragment Manager, 等同旧Mac OS应用程序都会使用的共有程式库. 以确保Mac OS环境的一致性. 当中储存有一个在OS X中极为重要的档桉---CarbonLib, 是执行炭火软件时必不可欠的档桉. 此外还有DiscRecordingLib(CD/R-RW用的程式库), OpenGLLib(OpenGL), stbCLib(C语言)
/System/Library/DTDs 作为存放系统所使用的各种XML档桉, 并为其格式定义之档桉. Mac OS X Data形式製成的文书, 分别由三个档桉管理, 分别是PropertyList.dtd, KeyboardLayout.dtd及sdef.dtd三个档桉所组成. 而DTD, 全名为Document Type Definition. 此外, .plist档桉亦是由XML撰写出来的.
/System/Library/Extensions 其实这裡就是用作存放硬件驱动的地方, 苹果不称驱动程序为driver, 而是称为Extension.
/System/Library/Filesystems 主要就是用以存放OS X对应及支持何种档桉格式的资料. 例同标准的AppleShare(苹果档桉分享标准), ISO 9660/FTP/HFS及至网络上用的如Samba等
/System/Library/HelpViewer 一切和Mac OS Help有关的档桉及文件都存放于此
/System/Library/Find 就是搜寻机能了. 是对应多国语言的.
/System/Library/OpenSSL 全名为Secure Sockets Layer. 是一套通讯加密技术, 一般用于Web服务器上, 会将密码传送时以加密的暗号处理, 从而减低第三方成功盗 取资料的可能. 一般应用于以https开首的URL上. Mac OS X内置的Web Server---Apache, 亦包含这个服务.
/System/Library/CoreServices/Dock这是OS X的特徵之一, 这部份是有关Dock的资料
/System/Library/CoreServices/Finder.app这个比较特别, 因为这是一个应用而非一个档桉夹, Finder.app可说是负责掌控整个OS上的一切资源.
/System/Library/CoreServices/Kerberos由MIT(麻省理工大学)开发的网络认证技术. 能够很简单地以单一ID登入系统的检证技术. Mac OS X支援其版本4的Kerberos. 所谓Kerberos, 在希腊神话中是一头住在冥界, 拥三头, 蛇尾的地狱守门犬
/System/Library/CoreServices/Menu ExtrasStatus bar上面所有系统自带工具的原文件,双击打开可以直接在status bar上添加相应文件
/System/Library/CoreServices/Setup Assistant所有有关设定助理的资料都存放于此.
/System/Library/CoreServices/Software Update这裡就是负责Software update的地方
- Library:系统资源库。 比如字体、ColorSync 配置、偏好设置以及插件都应该安装在 Library 目录下适当的子目录中。
Application Support包含了应用相关的数据以及支持文件,比如第三方的插件,帮助应用,模板以及应用使用到但是并不需要用来支持运行的额外资源文件。按照惯例,所有这些内容都会被存储在以应用名称命名的子目录当中。
Assistants包含了帮助用户进行配置或者其它任务的程序。
ColorPickers包含了用来选择色彩的资源,它们根据某种模型,比如 HLS (色彩角、饱和度、亮度) 选择器或者 RGB 选择器。
ColorSync包含了 ColorSync 配置和脚本。
Components包含了系统包和扩展。
Contextual Menu Items包含了用于扩展系统级菜单的插件。
Dictionaries包含了系统自带的字典文件。
Desktop Pictures桌面图片目录。
Documentation包含了供计算机用户和管理员参考的文档文件和 Apple 帮助包。(Apple 帮助包在Help 子目录当中。) 在本地域中,这个目录包含了 Apple 公司发布的帮助包(不包括开发者文档)。
Extensions包含了设备驱动和其它内核扩展。(只存在于系统域当中。)
Favorites包含了指向经常访问的文件夹、文件或者网站的别名。(仅仅存在于用户域当中。)
Fonts包含了用于显示和打印的字体文件。
Java包含了Java运行环境。
StartupItems包含了在系统导入时刻运行的系统以及第三方脚本和程序。 (更多有关系统导入时刻启动步骤的信息请参考系统启动程序主题 )
具
- User: 包含了某个用户专有的资源。这里也有一个Library文件夹,不同与上边的那个Library,是专为你的帐号服务,里面放的是你自己的个性化字体、配置文件等
Applications包含仅仅当前用户可用的应用。
Desktop 包含了 Finder 在当前登录用户桌面上显示的桌面项。
Documents 包含了用户的个人文档。
Download 包含了下载的各种文档。
Library 包含了应用设置、偏好设置一起其他用户专有的系统资源
Documentation包含了供计算机用户和管理员参考的文档文件和 Apple 帮助包。(Apple 帮助包在Help 子目录当中。) 在本地域中,这个目录包含了 Apple 公司发布的帮助包(不包括开发者文档)。
Extensions包含了设备驱动和其它内核扩展。(只存在于系统域当中。)
~~~硬盘中还有几个隐藏文件夹~~~
-
bin---------储存有基本的UNIX指令
-
sbin--------UNIX 系统指令的储存地方, 是比较进阶的指令
-
etc---------系统设定档桉储存地方
-
var---------改动频繁的档桉, 都置放于此, 例如各log档桉
-
tmp--------系统的暂存档
-
usr---------UNIX的使用者专用档桉夹
MAc OS X系统深入了解2
MAc OS X系统深入了解--系统文件结构篇
OS X采用的是类UNIX的多用户系统。
通常我们在启动盘下面都只能看到应用程序、资源库、系统、用户这4个目录。但其实还有很多的隐藏目录,如bin、sbin之类的,这些都是系统的一些资源,一般是不用普通用户去访问,是些比较重要的系统文件及配置文件。
所以我这里就只是探讨一下通常在Finder中可以触及的文件项目和资源。
首先我们来了解一下OS X系统的几大组成部分:
文件系统区域:
作为了一个多用户的操作系统,控制系统资源的访问对于保证系统的稳定性是非常重要的。通过目录的设置,由当前用户的操作权限来决定该用户对每部分资源的访问。
在OS X系统中,存在以下4个文件系统区域:
User:这个区域包含了登录到系统的用户可供使用的特定资源。该区域由用户的主目录来定义,在这个区域中,用户具有完全的控制权限。
Local: Local区域包括如文件、程序这些被系统中所有用户共享的资源,但它不是系统运行所必须的。Local区域没有一个相应的单独的目录,它包含于启动卷宗的多个目录中。具有系统管理员权限的用户可以添加、删除或修改此区载的项目。
Network:此区域包含了本地局域网中可被所有用户共享的资源,如文件或应用程序。该区域的代表项目在网络文件服务中的位置,并受网络管理员的控制。
System:包含由Apple安装的系统软件。这此资源是系统正常运行所必须的,位于启动卷宗中,在该区域中,用户不允许添加、删除或更改这些资源。
用户区域包含指定给一个单独的用户的资源。由当前用户的个人目录来表示。每个Mac OS X系统用户必须有一个账号,在文件系统中给每个用户账号指定一个目录空间。目录中包括了用户的应用程序、资源以及文档。用户个人目录以用户账号的短名称来命名,并且是唯一的。
用户区域可以让用户为自己定义一个合理的工作环境,当用户登录时,Finder将恢复用户的工作环境,并按预置设置为用户上次使用时的状态。同样的,应用程序及其它系统软件按程序预置、网络设置、email设置、字体设置及其它设置来进行恢复。
用户的个人目录的位置依赖于用户的账号。如果用户账号是本地账号,那么用户的个人目录则位于启动卷宗的"User"目录中,如果是一个网络账号,则个人目录位于网络服务器中。
无论用户的个人目录实际位置在哪里(实际上,我们还是可以通过终端命令更改个人目录的实际位置的),OS X都使用"~"字符来代表当前登录用户的个人目录。这个符号可以与其它路径来组合使用。
表一:
~ 当前用户目录的顶级目录,相当于"/User/当前用户名"这个目录
~/Library/Fonts 当前用户个人目录中的字体储存位置
~Steve 用户Steve的个人目录。
说明:这里我们需要注意的是,终端或系统中,我们其实都可以多重登录的,因此,在使用""的时候,连接的是“当前登录用户“的个人目录。所以,当你登录为不同的用户时,""所指的位置并不相当。
表二:
这里我们列出的是个人目录下一些常见的目录:
Applications 包含一些只有当前用户可以使用的程序,比如我们安装了一个程序,安装时选Applications,应用程序将会默认安装到这里!
Desktop:包含当前用户显示在Finder桌面上的所有项目。
Documents:用户个人的一些文档。经常会包含一些程序使用的文件或者下载的文件,以及程序安装的纪录文件。
Library:包括应用程序设置、预置及其它用户指定的系统资源或设置(具体内容将在下一章中进行说明)。
Movies:QuickTime或其它格式的影片
Music:数字音乐文件(如.aiff, .mp3, .m4p或其它格式),包括iTunes自动倒入的歌曲。
Pictures:图片文件,包括iPhoto自动导入的数码相机中的图片
Public:你可以把需要与其它用户共享的文件放在这个目录中,默认状态下,这个目录可以被其它所有用户访问。
Sites:用户的个人站点网页文件。在被其它用户访问之前,你必须在“系统预置-共享-Web共享“中打开共享。
当新建账号时,"Applications"目录并不会自动添加到该用户的个人目录中。用户可以自已手工建一个"Applications",并把自己的程序放在该目录中,系统会自动搜索该目录中的项目。
在'/User'目录中包含一个叫"Shared"的子目录,这个目录可以被本地的所有用户访问(不过请不要把应用程序放置在该目录中),所有用户都可以从该目录中读取或写入文件,用于本地用户的文件交换及共享。
本地区域包括本地计算机所使用的资源,但它不是系统运行所必须的。比较典型的包括:应用程序、实用工具、自定义字体、自定义的启动项目以及应用程序全局设置。在"Applications" 以及 "Library"目录中也包含了部分资源,这些资源仅代本地用户使用,而网络用户则无法访问。
如果希望本地所有用户共享资源,那么系统管理员可以安装资源到本地区域,苹果公司开发的应用程序都安装在"/Applications" 及 "/Applications/Utilities "目录中,第三方的程序及工具也可以安装在这些目录中。其它的系统资源,如字体、预置以及插件放置在"/Library"相应的子目录中。
网络部分
网络区域包括本地局域网中的的资源。网络用户可以访问程序、文档以及其它资源,包括AplleShare及 Web共享。
表三:
/Network/Applications 包括可以被本地局域网中其它用户运行的一些应用程序。
/Network/Library 包含如:插件,音频文件, 文档, 框架, 色彩,及字体这些供本地局域网用户使用的资源.
/Network/Servers 包含本地局域网中提供的NFS文件服务的连接
/Network/Users/ 包括所有本地网用户的个人目录。这是个人目录默认的位置。个人目录也可以存储在其它服务器中。
系统区域
系统区域包括了Mac OS X运行所必须的资源,它全部位置于启动盘的"/System"目录中。这些资源由苹果公司提供并只有'root'用户可以修改其内容。管理员用户以及程序将不会安装任何资源在这个目录或直接修改其内容。
默认时,"/System"仅包括一个"Library"子目录,这个子目录包含了许多与其它Library目录相同类型的资源。
请不要手工添加、删除或者修改此目录的资源,否则有可能导致系统无法正常启动。
MAC文件夹简述
大部份Mac用家都只会说, Mac OS X是个拥有先进功能及介面的作业系统, 但一提到内部构造, 却没有多少用家了解. 大家就只知道是个UNIX系的作业系统, 那UNIX究竟是什麽? 从以前的完全GUI介面OS至加入指令行模式的意义是什麽? 网路上BBS中的各玩家答不到你, Windows用家更是帮不上忙. 对于老用户来说, 打开硬盘后, 从中看到的东西和之前的Classic OS比较, 简直像是魔宫一样的构造…..究竟各个档桉夹代表什麽, 用以储存什麽, 我想, 在未去了解OS X的UNIX架构时, 我们先来了解一下OS X中各个阶层的构造吧!
閒话不多说了, 原因是, 这将会又是一篇超长篇的文章. 会连续十多期连载, 因为涉及的范围太大…相信全文看完后, 各位会对你的OS有更深入的了解吧(希望如此)
我们从老Mac的用户角度去看OS X时, 一般老Mac用户都会感觉对比之前的Classic系统, OS X明显不具之前OS的透明性. 很多东西都隐藏其中. 苹果手册上没有说明, 苹果也不太愿意告诉你. 这多少是因为两个OS在设计上的意念之分别, 之前的Mac OS, 是个人电脑史上直至现在都是唯一的完全GUI OS, 意念上是空前绝后, 对比其他OS, 如Windows—MSDOS, UNIX更是个完全的指令为主OS(请把UNIX的X-Window理解成是UNIX上的其中一个应用程序). 相对OS X来说, 虽然一般操作上. 仍是以力求简单为原则, 但无论如何, OS X始终是比之前的OS, 或是任何版本的Windows都来得複杂. 原因是, 太多不知用途的档桉夹, 档桉存在其中, 而这些东西是老Mac用户从未见过的…特别是多了很多称为Library或Services的档桉或档桉夹…对比从前的用户只需认识plug-in及 extension..现在要了解OS X真是比之前困难得多了…
先了解一下OS X的构造…OS X的基本构造可分为四层, 最下层的是OS的核心称为Darwin, 由Mach Kernel及FreeBSD的Library所组成, 第二层为Common Services. 由一般服务组成.(什麽叫服务, 之后的文章会对其深入解释). 第三层由Classic, Java, Carbon及Cocoa四个元件所组成. Classic就是OS X之前的OS核心, Java就是SUN MICRO的Java了(留意Java并不等同Java script, 之所以特地详细地说明, 是因为不少人都以为Java script是Java的一种, 实际是两样不同的东西来的, Java是Sun Micro开发出来的Cross-platform程序语言, 而Java script是由Netscape开发, 借Java的名字来溷淆视听的东西而矣). Carbon是炭化, 一般Classic软件可经炭化成可在OS X中执行, 但不能完全利用OS X的特性. 而Cocoa就是完全为OS X而撰写的native software原生软件了. 最上层就是Aqua..一般使用者最常接触到, 亦只会接触到的就是Aqua...Mac OS X专有的视窗管理程序了.
从打开你的硬盘开始….
当用mouse打开你的硬盘后, 你会发现内中有四个档桉夹存在(可能会更多, 视各机械及你预载的软件而定, 在此只提及任何预载了OS X的机械都必定存在的四个档桉夹). 分别有—应用程式(Applications), 系统(System). 使用者(User). 资料库(Library).四个档桉夹中又分别各有若干数量的档桉夹存在, 这种储存档桉的方法我们业界称为阶层式目录架构. 现在我们节录当中较为重要的几个档桉夹, 抽丝剥茧地逐个分析吧
System
先谈System, 老Mac用户会发现, 不像从前的Classic般, 现在OS X的System档桉夹之下, 只会出现一个叫Library的档桉夹. 从Library当中再细分其他的档桉夹. 其实, 这个档桉夹虽称为System, 但对个人电脑基一定知识的用家都会发现, 这个名叫系统档桉夹的系统档桉夹, 内中其实是不存在任何启动电脑时所必需具备的资料(即开机用的档桉). 这和UNIX的架构有关.
/System/Library/caches
就是用来储存系统标准会利用到的缓冲档桉. 例同系统起动时一同起动的ATSServer服务, 都会存取此档桉夹.
/System/Library/CFMSupport
CFM, Code Fragment Manager, 等同旧Mac OS应用程序都会使用的共有程式库. 以确保Mac OS环境的一致性. 当中储存有一个在OS X中极为重要的档桉---CarbonLib, 是执行炭火软件时必不可欠的档桉. 此外还有DiscRecordingLib(CD/R-RW用的程式库), OpenGLLib(OpenGL), stbCLib(C语言), TWAINSourceManager.Shlb(TWAIN对应), vecLib(AltiVec)等程序库, 都是储存于此.
/System/Library/HelpViewer
一切和Mac OS Help有关的档桉及文件都存放于此
/System/Library/DTDs
作为存放系统所使用的各种XML档桉, 并为其格式定义之档桉. Mac OS X Data形式製成的文书, 分别由三个档桉管理, 分别是PropertyList.dtd, KeyboardLayout.dtd及sdef.dtd三个档桉所组成. 而DTD, 全名为Document Type Definition. 此外, .plist档桉亦是由XML撰写出来的.
/System/Library/Extensions
其实这裡就是用作存放硬件驱动的地方, 苹果不称驱动程序为driver, 而是称为Extension.
/System/Library/Filesystems
主要就是用以存放OS X对应及支持何种档桉格式的资料. 例同标准的AppleShare(苹果档桉分享标准), ISO 9660/FTP/HFS及至网络上用的如Samba等
/System/Library/Find
就是搜寻机能了. 是对应多国语言的.
/System/Library/Fonts
不用笔者说你们也知道是用来储存字型的吧
/System/Library/Frameworks
这个Frameworks在OS X中很常见了, 其实就是应用程序对于OS的环境设定数据, 例如Address, Audio, OpenGL机能等. 可以说是担当起Cocoa技术的中核. 旧Mac OS及共通应用是利用前述的CFM, 而纯粹的Cocoa应用就是利用这个档桉夹了.
/System/Library/Image Capture
储存有多个DC厂商的标准驱动程序, 当中还细分有两个档桉夹, 其中Devices中, 苹果将各款不同DC细分成8个种类不同的驱动. 此外, 这裡还存放了各种和相机, Scanner有关的驱动, 例同PTP(Picture Transfer Protocol), TWAIN等.
/System/Library/Java
夸平台程式语言的一种, 由Sun Micro开发, 以Java开发出来的程序籍Java虚拟机执行时, 可不受任何平台的原生码所限制, 目前Mac所使用的Java, 是Sun Micro提倡的主流标准Java 2 Standard Edition. 而Mac OS X的Java虚拟机械(JVM)是存放在 /System/Library/Frameworks/JavaVM.framework/中
Mac OS X中的Java, 可籍CoreAudio.jar档桉充分利用Mac的Audio机能, 同时Mac的另一核心技术Quicktime亦充份和Java整合(QTJava.zip). 同档桉夹中还有一个叫MRJToolkit.jar的档桉, 这其实就是旧Mac OS所用的Mac OS Run Time for Java. Classic环境时执行Java程序就会利用到此个档桉了.
/System/Library/OpenSSL
全名为Secure Sockets Layer. 是一套通讯加密技术, 一般用于Web服务器上, 会将密码传送时以加密的暗号处理, 从而减低第三方成功盗取资料的可能. 一般应用于以https开首的URL上. Mac OS X内置的Web Server---Apache, 亦包含这个服务.
/System/Library/PreferencePanes
其实即是Mac OS X的Control Panels, 所有对应OS的环境设定程序都存放于此, 一般这种档桉的扩充格式都为 .prefPane
/System/Library/QuickTime
又是个不用笔者多说的档桉夹, 一切有关Quicktime的, 都尽存放于此地
/System/Library/Screen Savers
存放Screen saver资料的地方
/System/Library/Scripting Additions
这可说是扩张版本的Apple Script吧. 这种档桉的副档名一般都为 .osax 可以说成是OSX专用的script语言, 应用性高, 撰写出来的script能应用于多方面, 包括Color-Sync, FontSync, Image Capture等, 还可以改变图片的大小及令图片回转等…
其实还有太多太多, 好像专门用来存放软件Installer的/Library Receipts, 存放系统日志的/Library/Logs, 还有/etc这些UNIX上才有的档桉夹等, 不过如果要全部讲解, 也差不多已经可写成书了. 因此, 就唯有放弃某些目前还不太重要的档桉夹, 反正日后在Shell的应用章节中, 总有机会谈及的. 璋在反而想集中讲解最后一个最为重要的档桉夹/System/Library/CoreServices, 因为, 差不多所有Mac OS X中最重要的东西, 大部份都是存在其中的
CORE SERVICES
/System/Library/CoreServices/Classic
不用笔者多说, 有关Classic的一切都存放在此
/System/Library/CoreServices/Dock
这是OS X的特徵之一, 这部份是有关Dock的资料
/System/Library/CoreServices/Finder
/System/Library/CoreServices/System
这个要两个一起讲解了, Finder是什麽? 就是Mac OS的中核! 在旧Mac OS中, 这两个档桉是互相依存的. Mac OS X和旧OS的最大分别, 在于, 这个Finder其实是中空的..实际的Finder在Mac OS X中, 是由Finder.app负责的
/System/Library/CoreServices/Finder.app
这个比较特别, 因为这是一个应用而非一个档桉夹, Finder.app可说是负责掌控整个OS上的一切资源.
/System/Library/CoreServices/Kerberos
由MIT(麻省理工大学)开发的网络认证技术. 能够很简单地以单一ID登入系统的检证技术. Mac OS X支援其版本4的Kerberos. 所谓Kerberos, 在希腊神话中是一头住在冥界, 拥三头, 蛇尾的地狱守门犬
/System/Library/CoreServices/Menu Extras
Finder desktop上的Menu icon就由此控制, 例如Airport.menu, Bluetooth.menu等, 你只要点击他们, 就会长注在Finder的右手边的了. 可利用此製作出一个方便你自己的Finder桌面.
/System/Library/CoreServices/Setup Assistant
所有有关设定助理的资料都存放于此.
/System/Library/CoreServices/Software Update
这裡就是负责Software update的地方
其实还是有不少, 但我相信一般用户也没有太大兴趣的了, 反而有六个隐藏的档桉夹是有必要提及一下, 在Mac OS X上, 你即使打开硬盘也不会看到这六个档桉夹, 因为苹果设定上是把他们隐藏起来了, 这六个档桉夹全放在根目录上, 是UNIX内核系OS都必会具备的档桉夹, 分别是:
-
bin---------储存有基本的UNIX指令
-
sbin--------UNIX 系统指令的储存地方, 是比较进阶的指令
-
etc---------系统设定档桉储存地方
-
var---------改动频繁的档桉, 都置放于此, 例如各log档桉
-
tmp--------系统的暂存档
-
usr---------UNIX的使用者专用档桉夹
一般进入的方法除了可在Terminal上以指令进入外, 也可以在Finder上, 直接输入, 如想前往etc, 只需输入/etc就成. 档桉夹会直接打开, 你会看到内中有一大堆像空白文本一样的图标, , 这裡的档桉基本上你可用文本编辑程序直接打开加以修改. 当然你要有相应的权限了. 因为苹果在预设上, 亦把UNIX最高权限用户—root锁死掉. 必需要在Terminal上键入相应指令把他重新打开(Mac OS X用户选项上的所谓管理者, 只拥有Super-User权限, 并不具备Root权限的)