Unix目录结构的来历

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

bg2012020601.jpg

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

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

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

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

bg2012020602.jpg

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

bg2012020603.jpg

没过多久,操做系统(根目录)变得愈来愈大,一块盘已经装不下了。因而,他们加上了第二盘RK05,而且规定第一块盘专门放系统程序,第二块盘专门放用户本身的程序,所以挂载的目录点取名为/usr。也就是说,根目录"/"挂载在第一块盘,"/usr"目录挂载在第二块盘。除此以外,两块盘的目录结构彻底相同,第一块盘的目录(/bin, /sbin, /lib, /tmp...)都在/usr目录下从新出现一次。unix

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

今后,这种目录结构就延续了下来。随着硬盘容量愈来愈大,各个目录的含义进一步获得明确。htm

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

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

  /usr/local:存放用户本身安装的程序。

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

相关文章
相关标签/搜索