Linux随笔2( 三 )


1.2 /usr目录的意义与内容
根据FHS标准的建议,/usr目录中存放的数据属于可共享、不可变的,即/usr中的数据通常可以通过NFS共享给其他主机来使用 。usr实际上是Unix的缩写,而不是user的缩写 。FHS建议开发者将他们的数据合理的放置在这个目录下的合适的子目录中,而不是自行建立该软件自己独有的目录 。
同样,该目录分为FHS要求必须存在的目录以及建议存在的目录两部分 。
1.2.1 FHS要求/usr下必须存在的目录
具体如下表所示:
目录应该存放的文件
/usr/bin
所有一般用户能够使用的命令都存放在这里,目前 7.x已经将全部的用户命令迁移至此目录,同时通过链接文件将根目录下的/bin目录指向这个目录 。即/usr/bin与/bin目录的内容是相同的 。另外,FHS标准要求该目录下不能存在子目录
/usr/lib
与/lib的功能相同,所以/lib目录实际上就是链接到这个目录的
/usr/local
系统管理员安装的软件,建议安装到这个目录中,以便于管理 。/usr/local这个目录下也具有bin, etc, , lib这些目录
/usr/sbin
不是系统正常允许所需要的命令,通常是某些网络服务器软件的服务命令(),不过基本与/sbin目录的内容差不多,所以根目录下的/sbin也是链接到这个目录上的
/usr/share
用于放置只读的数据文件,这个目录下放置的数据基本是不分硬件架构均可读取的数据,因为基本都是文本文件 。该目录下常见的子目录包括:
- /usr/share/man:在线帮助文档,man手册
- /usr/share/doc:软件的说明文件
- /usr/share/:时区文件
1.2.2 FHS建议/usr下可以存在的目录
/usr/目录下建议可以存在的目录包含下表中的内容:
目录应该存放的文件
/usr/games
与游戏相关的数据文件
/usr/
用于存放c/c++等语言的头文件(*.h)以及包含文件(),当以tar.gz的方式安装软件的时候,就需要用着其中的许多文件
/usr/
存放一些不被一般用户常用的执行文件或者脚本等,比如X窗口下的操作命令很多都是存放在这个目录中的
/usr/lib
与/lib类似,实际上根目录下的/lib就是链接到这个目录上的
/usr/src
用于存放源代码,src是的缩写;内核源代码建议存放在**/usr/src/Linux/**这个目录下
/usr目录在安装的时候会占用较多的磁盘空间 。
1.3 /var目录的意义与内容 1.3.1 FHS要求/var下必须存在的目录
与/usr目录不同,该目录会在系统运行后才开始逐渐占用磁盘空间 。因为/var目录主要存放的是经常变动的文件,比如缓存(cache)、日志文件(log file)以及某些软件运行产生的数据文件等,比如程序文件(lock file、run file)或者MySQL的数据库文件等 。常见的子目录如下表所示:
目录应该存放的文件
/var/cache
应用程序运行过程中产生的一些缓存
/var/lib
存储应用程序运行过程中所需要使用的数据文件,该目录下各个软件应该有各自的子目录,比如MySQL的数据库存放在/var/lib/mysql目录中,而rpm数据库则存放在/var/lib/rpm这个目录中
/var/lock
用于存放锁文件,被上锁的文件同时只能被一个应用使用,以免多个应用同时使用该文件的时候造成读写信息不一致的情况
/var/log
存放程序和系统的日志文件,比如/var/log/, /var/log/, /var/log/wtmp(记录登录信息)等
/var/mail
存放个人邮箱的目录,链接到/var/spool/mail目录
/var/run
用于存放某些程序启动之后的PID文件,与/run目录作用相同,实际上是链接到/run目录的
/var/spool
通常用于存放队列数据,这些数据被使用后通常会被删除,比如系统接收到的新邮件会被放置到/var/spool/mail目录中,当用户首下该邮件之后,就会从/var/spool/mail中将该邮件删除;如果暂时寄不出去的邮件,则会被存放在/var/spool/这个目录中,等到被寄出之后再删除/var/spool/这个目录中的对应邮件 。如果是计划任务相关数据(),则会被放置到/var/spool/cron这个目录中