基本上:程序安装在/usr下,而配置文件在安装用户的用户文件夹下(/home/user)。
linux系统是很自由的 ,文件安装和存放的位置完全可以由程序开发者自己定义到任何位置,因为利用Linux来开发产品或distribution的团队/公司与个人实在太多了,如果每个人都用自己的想法来配置文件放置的目录,那么将造成很多管理上的困扰。所以,后来就有所谓的Filesystem Hierarchy Standard(FHS)标准。
FHS的主要目的是:希望让用户可以了解到已安装软件通常放置在哪个目录下,所以使用者都能够遵循FHS的标准。也就是说,FHS的重点在于规范每个特定的目录下应该要放置什么样子的数据而已。
事实上,FHS针对目录树架构仅定义出三层目录下面应该放置什么数据而已,分别为:
/:即root,根目录,与开机系统有关;
/usr:与软件安装/执行有关;
/var:与系统运行过程有关。
根目录(/)的意义与内容
根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,而且根目录也与开机、还原、系统修复等操作有关。由于系统开机时需要特定的开机软件、内核文件、开机所需程序、函数库等文件数据,若系统出现错误时,根目录也必须要包含有能够修复文件系统的程序。
FHS标准建议:根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好;如此不但性能较好,根目录所在的文件系统也不容易发生问题。
因为根目录与开机有关,开机过程中会被挂载的仅有根目录,其他分区则是在开机完成之后才会进行挂载。因此根目录下与开机过程有关的目录就不能够与根目录放在不同的分区去。不可与根目录分开的目录有:/etc:配置文件
/bin:重要执行文件
/dev:所需要的设备文件
/lib:执行文件所需的函数库与内核所需的模块
/sbin:重要的系统执行文件
/usr的意义与内容
usr是UNIX Software Resource的缩写,也就是“UNIX操作系统软件资源”所放置的目录,所有系统默认的软件(distribution 发布者提供的软件)都会放置到/usr下。
/usr/bin/:绝大部分的用户可使用的命令放在这个目录里/usr/include/:C/C++等程序的头文件(header)与包含文件放置处
/usr/lib/:包含各应用软件的函数库、目标文件(object file),或脚本(script)
/usr/share/:放置共享文件的地方/usr/src/:一般源码建议放置到这里,src有source的意思/var的意义与内容
/usr是安装时会占用较大硬盘容量的目录,那么/var就是系统运行后才会渐渐占用硬盘容量的目录。因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录文件(log file)以及某些软件运行所产生的文件,包括程序文件(lock file,run file)。
软件中心下载的程序在/var/cache/apt/archives。
安装之后的位置如楼下所述,比较复杂。
如果只想知道某个软件安装后,文件都在哪儿,请双击安装包,选择“包含的文件”查看。
如果想知道软件安装之后从哪儿启动,点击左上角的Dash,输入软件名称或拼音——无法输入汉字。或者此时点击下方第2个图标,选择“已安装”。
软件启动后,图标会显示在左侧的启动器上,此时右击其图标选择锁定到启动器,则以后它就一直在那儿。