Linux目录层级的一些知识
转载自《鸟哥的Linux私房菜》Linux的文件权限与目录配置
/usr的意义与内容:
依据FHS(Filesystem Hierarchy Standard文件系统层级标注)的基本定义,/usr里面放置的数据属于可分享的与不可变动的(shareable,static?,如果你知道如何透过网络进行分割槽的挂载(例如在服务器篇会谈到的NFS服务器),那么/usr确实可以分享给局域网内的其他主机来使用喔!
很多读者都会误会/usr为user的所写,其实usr是Unix Software Resource的所写,也就是Unix操作系统软件资源所放置的目录,而不是用户的数据啦!这点要注意。FHS建议所有软件开发者,应该将他们的数据合理地分别放置到/usr目录下的次目录,而不要自行建立该软件自己独立的目录。
因为是所有系统默认的软件(distribution发布者提供的软件)都会放置到/usr底下,因此这个目录有点类似Windows系统的C:\Windows\+C:\Program files\这两个目录的综合体,系统刚安装完毕时,这个目录会占用最多的硬盘容量。一般来说,/usr的次目录建议有底下这些:
/usr/bin/ 绝大部分的用户可使用指令都放在这里!请注意到他与/bin的不同之处。(/bin与开机过程有关,/usr/bin是软件支持的命令脚本文件)
/usr/include/ C/C++等程序语言的档头(header)与包含档(include)放置处,当我们以tarball方式(*.tar.gz的方式安装软件)安装某些数据时,会使用到里头的许多包含档喔!
/usr/lib/ 包含各应用软件的函式库、目标文件(object file),以及不被一般使用者惯用的执行档或脚本(script)。某些软件会提供一些特殊的指令来进行服务器的设定,这些指令也不会经常被系统管理员操作,那就会被摆放到这个目录下啦。要注意的是,如果你使用的是X86_64的Linux系统,那可能会有/usr/lib64的目录产生喔!(centos7的确有,ubuntu18.04有libexec目录,没有lib64目录)
/usr/local/ 系统管理员在本机自行安装自己下载的软件(非distribution默认提供者),建议安装到次目录,这样会比较便于管理。举例来说,你的distribution提供的软件较旧,你想安装较新的软件但又不想移除旧版,此时你可以将新版软件安装于/usr/local/目录下,可以原先的旧版软件有分别啦!你可以自行到/usr/local/去看看,该目录下也是具有bin,etc,include,lib。。。的次目录喔!
/usr/sbin/ 非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指令(daemon)啰!
/usr/share/ 放置共享文件的地方,在这个目录下放置的数据几乎是部分硬件架构均可读取的数据,因为几乎都是文本文件嘛!在此目录下常见的还有这些次目录:/usr/share/man:联机帮助文件;/usr/share/doc:软件杂项的文件说明;/usr/share/zoneinfo:与时区有关的时区文件
/usr/src/ 一般原始码建议放置到这里,src有source的意思。至于核心原始码则建议放置到/usr/src/linux/目录下