Unix目录结构的来历

系统 其他OS
Unix系统采用树型的目录结构来组织文件,每一个目录可能包含了文件和其他的目录。该结构以根目录“/”为起点向下展开,每个目录可以有许多子目录,但每个目录都只能有一个父目录。 那么Unix目录结构是怎么来的呢?本文是阮一峰在博客中对Unix目录结构的解释。

Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在。

举例来说,根目录下面有一个子目录/bin,用于存放二进制程序。但是,/usr子目录下面还有/usr/bin,以及/usr/local/bin,也用于存放二进制程序;某些系统甚至还有/opt/bin。它们有何区别?

长久以来,我也感到很费解,不明白为什么这样设计。像大多数人一样,我只是根据《Unix文件系统结构标准》(Filesystem Hierarchy Standard),死记硬背不同目录的区别。

昨天,我读到了Rob Landley的简短解释,这才恍然大悟,原来Unix目录结构是历史造成的。

话说1969年,Ken ThompsonDennis Ritchie在小型机PDP-7上发明了Unix。1971年,他们将主机升级到了PDP-11。

 

[[57086]]

当时,他们使用一种叫做RK05的储存盘,一盘的容量大约是1.5MB。

 

[[57087]]

没过多久,操作系统(根目录)变得越来越大,一块盘已经装不下了。于是,他们加上了第二盘RK05,并且规定第一块盘专门放系统程序,第二块盘专门放用户自己的程序,因此挂载的目录点取名为/usr。也就是说,根目录"/"挂载在第一块盘,"/usr"目录挂载在第二块盘。除此之外,两块盘的目录结构完全相同,第一块盘的目录(/bin, /sbin, /lib, /tmp...)都在/usr目录下重新出现一次。

后来,第二块盘也满了,他们只好又加了第三盘RK05,挂载的目录点取名为/home,并且规定/usr用于存放用户的程序,/home用于存放用户的数据。

从此,这种目录结构就延续了下来。随着硬盘容量越来越大,各个目录的含义进一步得到明确。

/:存放系统程序,也就是At&t开发的Unix程序。

/usr:存放Unix系统商(比如IBM和HP)开发的程序。

/usr/local:存放用户自己安装的程序。

/opt:在某些系统,用于存放第三方厂商开发的程序,所以取名为option,意为"选装"。

原文地址

【编辑推荐】

  1. 如何克服Unix到Linux迁移的常见问题
  2. 如何培训Unix员工管理Linux环境?
  3. 用Syslog记录UNIX和Windows日志的方法
  4. Unix服务器是否已经过时了?
  5. Linux和Unix的区别
责任编辑:张浩 来源: 阮一峰的博客
相关推荐

2014-04-28 16:13:11

Unix目录结构

2010-05-04 15:09:29

Unix命令

2011-01-10 10:30:05

linux目录结构

2010-01-08 13:33:06

JSON来历

2013-01-17 15:26:21

Android工程目录结构Android开发

2010-05-26 19:05:06

SVN库

2010-05-05 09:52:06

Unix BSD

2011-05-31 13:12:15

Android 目录结构

2013-10-30 22:50:30

Clouda结构

2014-03-24 09:40:11

编程语言编程起源

2010-04-25 23:13:26

活动目录物理结构

2010-03-26 15:14:49

CentOS发行版

2010-04-19 10:18:30

Unix操作系统

2010-04-09 10:08:22

Unix操作系统

2013-01-16 14:19:03

Android工程目录结构Android开发

2018-04-27 10:59:30

Linux目录结构lib

2010-03-09 14:04:28

2010-04-19 17:56:54

Unix操作系统

2010-05-26 19:36:34

SVN目录结构

2010-11-03 16:50:23

DB2目录结构
点赞
收藏

51CTO技术栈公众号