在传统的Unix系统或者Linux系统中,你是很难在根目录下找到大写开头的文件夹的, 但是看一下OS X:

ls /
Applications Users etc private var
Developer Volumes home sbin ~
Library bin OS Xh_kernel tmp
Network cores net uer
System dev opt usr

它的目录结构中有几个小写的目录/bin /sbin /usr(开发时最常用到的目录)/dev(设备文件目录)
/etc(配置文件目录)/opt(第三方软件安装目录)/var /tmp(临时目录)是按照Unix的要求来分配的,
但是几个大写字母开头的目录则是来源于它之前的内核,/Applications 存放应用程序,
/Users存放用户的家目录(每个用户的家目录都在这下面),/Developer是给开发者要用到的目录,
/Volumes是挂载目录(一些磁盘或者文件系统都挂到这里)

OS X下有一种的概念,简而言之就是把相关的资源组合在一起。
比如:Linux下开发,你用到的头文件可能在/usr/include下,用到的可能在/usr/lib下,
而OS X直接用Framework直接将头文件、库文件以及一些文档等资源组合成一个包,
在编译时不再需要分别指定头文件、库文件,而是仅仅指定一个Framework即可。

在发布应用程序时,也是利用包的特性,将应用程序连同它用到的动态库图片等资源组合成一个包(*.app),
双击这个包就可以运行此应用。

/Applications/Cashway.app/
└── Contents
├── Info.plist
├── MacOS
│   └── Cashway
└── Resources
└── main.icns

包的好处在于将相关的资源进行统一集中的管理。

OS X 与传统Unix的一点区别的更多相关文章

  1. POP动画引擎中Layer与CALayer的一点区别

    POP动画引擎是facebook提供的一个开源框架, 可以实现很多的动画效果, 这里就不一一介绍啦, 有兴趣的童鞋请移步: https://github.com/facebook/pop 下面简单的讲 ...

  2. 【转】mac os、linux及unix之间的关系

    mac os.linux及unix之间的关系   unix 是由贝尔实验室开发的多用户.多任务操作系统 linux是一类Unix操作系统的统称,严格来说,linux系统只有内核叫“linux”,而li ...

  3. os.path.abs()与os.path.realpath()的一点区别

    相同点 1. 两者都是返回绝对路径,如果参数path为空,则返回当前文件所在目录的绝对路径 当前py文件所在的目录是revise print(os.path.abspath("") ...

  4. Ajax与传统Web开发的区别

    基本概念 1.1,Ajax AJAX:即“Asynchronous Javascript And XML”(异步的JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,尤其是在一种 ...

  5. 【Ajax 1】Ajax与传统Web开发的区别

    导读:从用户体验度的角度来说,利用Ajax进行开发的网站,其体验度高于利用传统Web开发技术,那么,是什么因素导致了这一现象呢?难道说Ajax开发,就一定优于传统Web技术吗?本篇文章,将主要介绍Aj ...

  6. getch 和 getchar 在 windows 和 unix下的区别

    注意getch()是从console读取,(非标准函数) getch()需要的头文件是<conio.h>. 而getchar()是从stdin,一般是指键盘 windows平台下ENTER ...

  7. MongoDB与传统数据库的使用区别——批量插入与批量查询

    我在百X知道上回答问题时经常遇到类似与这样的问题:MongoDB有没有像MySQL一样的ODBC驱动?MongoDB能不能像MySQL一样获取字段名称或类型. 我的回答是:不行,因为MongoDB不是 ...

  8. 前端框架framework和库library的一点区别和记录

    本篇纯文字,无关代码,只是一点概念的记录 关于所谓前端 首先学的是HTML5.CSS3.JavaScript这三个 之后接触了一下UI框架,如layui和bootstrap 目前是打算去学VUE和an ...

  9. 传统路由和OVS区别

    本文主要描述了一种将三层路由变成二层交换转发(以及二层转发变成三层路由)的实现方式,以应对OVS(OpenFlow)跨网段路由复杂的问题:当然技术本身是客观的,具体应用还要看场景. 随着SDN技术不断 ...

随机推荐

  1. 微信全局获取并缓存Accesstoken的值

    由于本项目中使用自定义菜单接口.获取用户信息接口.用户分组接口.消息发送接口等,都需要传入一个相同的参数access_token,其有效期 是7200秒(两小时),在有效期内可以使用,一旦access ...

  2. htm5 俄罗斯方块

    <!DOCTYPE html> <html manifest="tetris.manifest"> <!--在HTML标签里manifest=”cac ...

  3. Web services 把 Web 应用程序提升到了另外一个层面

    通过使用 Web services,您的应用程序可向全世界发布功能或消息. Web services 使用 XML 来编解码数据,并使用 SOAP 借由开放的协议来传输数据. 通过 Web servi ...

  4. Eclipse 添加书签

    Eclipse 添加书签 关于书签 Eclipse 中可以在编辑器的任意一行添加书签. 您可以使用书签作为提示信息,或者使用书签快速定位到文件中的指定的行. 添加书签 如果你想设置书签,你只需要在垂直 ...

  5. VS2005 Manifest 配置问题总结

    一.问题 编译某个遗留工程后,运行程序时报错,“由于应用程序的配置不正确,应用程序无法启动.重新安装应用程序可能会解决这个问题.” 查看生成的Manifest文件如下: <?xml versio ...

  6. SSH框架解析

    当也许能够说是与你的初恋.妙龄的少女開始有些羞涩.是时候说说SHH的故事了.SHH是指Spring+Struts+Hibernate.还记研究生复试那天的面试,老师说了一句话Spring的核心是控制反 ...

  7. OKhttp3

    针对上一博文订单调用用户使用默认数据交互方式,下面介绍下使用 Okhttp3网络数据交换方式. 1.订单启动类变化 package com.tycoon.orderService; import or ...

  8. PHP实现对短信验证码发送次数的限制(防机刷验证码)

    PHP实现对短信验证码发送限制(防止机刷验证码) 对用户获取短信验证码的手机号.ip.和浏览器(使用唯一标识)进行限制.本文介绍的方法是对用户每天只能通过同一浏览器或同一ip地址获取验证码10次或者同 ...

  9. Xamarin.Forms学习之位图(一)

    在开始我的分享之前呢,让我先问下我的问题: 1.最近更新了Xamarin 4.1.1.3,我想问下版本更新信息在哪里看? 2.更新后我新建的项目没有UWP项目了(虽然没有用过,但是我想确认是4.1.1 ...

  10. 巨蟒python全栈开发django1:自定义框架

    今日大纲: 1.val和text方法的补充 2.信息收集卡用bootstrap实现 3.自定义web框架 4.http协议 5.自定义web框架2 今日内容详解: 1.val和text方法的补充 ht ...