[笔记]何为Linux及其文件系统(四)
事实上,FHS针对目录树架构仅定义出三个目录底下应该放置什么数据:
/root/:与开机系统有关(可以查看Linux的root目录树)
/usr/:与软件安装执行有关
/var/:与系统运作过程有关
这三个目录有特定的规定。
一、 /usr的意义和内容
第1部分:
该目录下放置的数据属于分享的与不可变动的。
(顺便说一下,如果你知道如何透过网络进行分割槽的挂载,那么/usr可以分享给局域网络内的其他主机来使用)
很多人会误以为/usr是usr的缩写,其实不然,usr是Unix Software Resource的缩写,也就是UnixOS软件资源
FHS建议所有软件开发者,将数据合理放置在这个目录下的子目录,而不是自行建立软件独立的目录。
另外,所有系统默认的软件(distribution发布者提供的软件)都会放置在/usr下面,因此
该目录类似于WindowsOS的C:\Windows+C:Program files目录的合体。
系统刚安装完毕,/usr会占用最多的硬盘容量
第2部分:
对于/usr底下的子目录有一些建议:
/usr/X11R6 为X Windows System重要数据所放置的目录
/usr/bin 绝大部分用户可以使用的指令都放在该目录(它与根目录的/bin的不同之处在于是否与开机过程有关)
/usr/include C/C++等程序语言的档头(header)与包含档(include)放置处,当用户以tar方式安装某些(tar.gz)软件时,安装的某些数据会使用到该目录的许多包含档
/usr/lib 包含各应用软件的函式库、目标文件,以及不被一般使用者惯用的执行档或者脚本。某些软件会提供一些特殊的指令来进行服务器的设定,这些指令也不会经常被系统管理员操作,则会放到该目录下。如果是4位LinuxOS,则会有/usr/lib64
/usr/local 系统管理员在本机自行安装下载的软件,非distribution默认提供的软件。如果你的distribution提供的软件较旧,此时你可以将新的版本软件下载到/usr/local目录下,可以区别。
/usr/sbin 非系统正常运作所需要的系统指令,最常见的是某些网络服务器软件的服务指令,比如daemon守护进程指令
/usr/share 放置共享文件的地方,在这个目录下放置的数据几乎不分硬件架构均可读取的数据,因为几乎都是文本文件。比如/usr/share/man联机帮助文件、/usr/share/doc软件杂项的文件说明、/usr/share/zoneinfo与时区有关的时区文件
/usr/src 一般原始码建议放置在这里,src有source的意思,至于核心原始码建议放置在/usr/src/linux目录下
二、/var的意义和内容
如果/usr是安装时会占用较大硬盘容量的目录,那么/var是在系统运行后才会渐渐占用硬盘容量的目录。
因为/var主要针对常态性变动的的文件。
包括缓存cache、登陆档log file以及某些软件运作所产生的文件、包括程序文件lock file/run file,或者例如mysql数据库文件
常见次目录:
/var/cache 应用程序运作过程中会产生一些暂存档
/var/lock 应用程序执行的过程中,需要使用到的数据文件放置的目录。因为,如果同时两个程序使用该装置时会产生错误状况,因此,需要加上锁lock
/var/log (非常重要)这是登陆文件放置的目录,里面比较重要的文件比如/var/log/messages
/var/mail 放置个人邮件邮箱的目录,不过有时候也被放置在/var/spoll/mail目录中。通常这两个目录互为链接文件
/var/run 某些应用程序或者服务启动后,会将它们的PID(进程id)(线程id-ptheadid)放置在这个目录下
/var/spool 放置一些队列数据,所谓的队列就是排队等待其他程序使用的数据。这些数据使用之后往往被删除。
了解了linux的三大目录,接下来,让我学习一些Linux下常用的命令行吧~
小白出门左转
基础用户(平时不怎么常用,但需要基本能用到的)出门右转