在penSUSE上安装pgplot图形库时接触了一些Linux下c++编译动态库的一些知识,牵扯了/usr/share,/usr/include等目录,不太清楚为什么要把有些东西放在指定的目录下,于是觉得还是有必要了解下linux下的目录结构。
该文源自阮一峰的博文,谢谢 !!! http://www.ruanyifeng.com/blog/2012/02/a_history_of_unix_directory_structure.html
疑惑Unix(Linux)目录结构的含义吗?
举例来说,根目录下面有一个子目录/bin,用于存放二进制程序。但是,/usr子目录下面还有/usr/bin,以及/usr/local/bin,也用于存放二进制程序;某些系统甚至还有/opt/bin。它们有何区别?
话说1969年,Ken Thompson和Dennis Ritchie在小型机PDP-7上发明了Unix。1971年,他们将主机升级到了PDP-11。
当时,他们使用一种叫做RKo5的储存盘,一盘的容量大约是1.5MB。
没过多久,操作系统(根目录)变得越来越大,一块盘已经装不下了。于是,他们加上了第二盘RKo5,并且规定第一块盘专门放系统程序,第二块盘专门放用户自己的程序,因此挂载的目录取名为/usr。也就是说,根目录"/"挂载在第一块盘,"/usr"目录挂载在第二块盘。除此之外,两块盘的目录结构完全相同,第一块盘的目录(/bin,/sbin,/lib,/tmp ...)都在/usr目录下重新出现了一次。
从此,这种目录结构就延续了下来。随着硬盘容量越来越大,各个目录的含义进一步得到明确。
/ : 存放系统程序,也就是At&t开发的Unix程序。
/usr : 存放Unix系统商(比如IBM和HP)开发的程序。
/usr/local : 存放用户自己安装的程序。
/opt : 在某些系统,用于存放第三方厂商开发的程序,如Oracle,所以取名为option,意为“选装”。
要是深入了解还是要看看这篇文章Unix文件系统结构标准
也可以Rob Landley的简短解释