Unix目录结构的来历
Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在。
举例来说,根目录下面有一个子目录/bin,用于存放二进制程序。但是,/usr子目录下面还有/usr/bin,以及/usr/local/bin,也用于存放二进制程序;某些系统甚至还有/opt/bin。它们有何区别? 长久以来,我也感到很费解,不明白为什么这样设计。像大多数人一样,我只是根据《Unix文件系统结构标准》(Filesystem Hierarchy Standard),死记硬背不同目录的区别。 昨天,我读到了Rob Landley的简短解释,这才恍然大悟,原来Unix目录结构是历史造成的。 话说1969年,Ken Thompson和Dennis Ritchie在小型机PDP-7上发明了Unix。1971年,他们将主机升级到了PDP-11。
当时,他们使用一种叫做RK05的储存盘,一盘的容量大约是1.5MB。
没过多久,操作系统(根目录)变得越来越大,一块盘已经装不下了。于是,他们加上了第二盘RK05,并且规定第一块盘专门放系统程序,第二块盘专门放用户自己的程序,因此挂载的目录点取名为/usr。也就是说,根目录"/"挂载在第一块盘,"/usr"目录挂载在第二块盘。除此之外,两块盘的目录结构完全相同,第一块盘的目录(/bin, /sbin, /lib, /tmp...)都在/usr目录下重新出现一次。 后来,第二块盘也满了,他们只好又加了第三盘RK05,挂载的目录点取名为/home,并且规定/usr用于存放用户的程序,/home用于存放用户的数据。 从此,这种目录结构就延续了下来。随着硬盘容量越来越大,各个目录的含义进一步得到明确。 /:存放系统程序,也就是At&t开发的Unix程序。 /usr:存放Unix系统商(比如IBM和HP)开发的程序。 /usr/local:存放用户自己安装的程序。 /opt:在某些系统,用于存放第三方厂商开发的程序,所以取名为option,意为"选装"。
相关文章
- 使用OpenCV中的Structured-Light(结构光)模块做三维重建(流程 + 代码)
- Go语言结构体struct之创建、初始化(十七)
- 【说站】js链表结构如何实现
- 【说站】c语言中使用指向结构指针的原因
- Tomcat的目录结构
- 13. Groovy 语言结构-包名,imports导入知识学习
- [随笔]文件系统上存储哈希对象:哈希算法以及目录结构对性能的影响
- 舍百万年薪造“哪吒”?稚晖君开发双足机器人实现轮足切换结构创新设计!
- WordPress 默认后台菜单结构
- oracle逻辑结构分析
- [android]android项目的目录结构详解手机开发
- 栈的存储结构的实现(C/C++实现)详解编程语言
- [javaEE] web应用的目录结构&配置虚拟主机详解编程语言
- [二]Java虚拟机 jvm内存结构 运行时数据内存 class文件与jvm内存结构的映射 jvm数据类型 虚拟机栈 方法区 堆 含义详解编程语言
- Linux编译环境搭建:探究目录结构(linux编译目录)
- 结构Oracle数据库查看表结构的实用方法(oracle数据库查看表)
- 结构探索 Linux 系统全部目录结构(linux全部目录)
- MySQL数据库:由构成壳构成的基础结构(mysql数据库的组成)
- Linux文件存储:深入探索目录结构(linux文件的存储结构)
- MySQL数据存储结构探索(mysql的数据目录)
- 探索 Linux 驱动程序的内在结构(linux驱动程序的结构)
- 结构Linux 默认路径结构探究(linux默认目录)
- MySQL查看表结构的DESCRIBE命令(mysql查看表结构命令)
- 结构MySQL安装掌握目录结构技巧(mysql安装目录)
- 深入了解Linux系统——目录结构详解(linux目录说明)
- 探索linux的神秘树状目录结构(linux树状目录结构)
- 结构探索Linux内核源码的神秘目录结构(linux内核源码目录)
- Linux目录结构下的命令操作指南(linux 目录 命令)
- asp.ent下合并两个结构相同的DataTable