Linux根文件系统结构再认识
INTRO
尽管Linux的根文件系统在形式表现上是一体的(所有数据目录均为根目录下的子目录),但实际它们是多个不同的【逻辑主体】(为了实现不同的逻辑功能)组合在一起的,参见下图。这也解释了为什么有些节点(如/var)可以挂接到不同磁盘分区上。划分这些逻辑部分对清晰把握根文件系统结构,以及整个系统的行为都有很大的好处。在划分之前,先看看“文件系统结构标准”。
文件系统结构标准
文件系统结构标准 (Filesystem Hierarchy Standard ,下称FHS)定立的目标之一是,程序可按用途性质被安装到指定的位置,用户也能预知程序的安装的文件和目录的位置。FHS通过定义文件系统各部分的涵义、用途,再加上列举所有的特殊情况,如历史遗留问题,达到了这个目标。
LINUX系统的数据文件可以根据【双重标准】来对它们分类:共享的与独享的(shareable vs. unshareable)、变化的和静态的(variable vs. static)。如果数据文件无法按照双重标准分类,它们必须另起目录存放,这样做的原因是可以把不同【使用性质】(usage characteristics)的数据文件分开不同文件系统(磁盘分区)存放。
“共享的” (Shareable)是指数据与平台不相关的,如/usr;相反“独享的”(Unshareable)指数据是平台相关的,如配置数据/etc。
“静态的”数据是相对非管理员用户而言的,没有更变的权限;而“变化的”则相反。分隔静态与动态数据的目的是为了可把静态数据安装到一个单独的只读的介质(文件系统)中,不必与动态数据一起做频繁的事务管理,比如定期备份。
与数据的【静动态性】面向“用户”不同,数据的【共享专用性】是面向“主机”而言,也就是说,有些数据是本机专用的,而另外一些是多个主机(可是本地的FHS兼容主机,可以是远程主机)共享的。比如根目录分区是本机专用的,而/usr所在分区可共享给多个FHS兼容主机。
双重标准是发展而来的,被纳入FHS,为了支持这个标准,过去默认存放在/usr 、/var、 /etc 等目录的数据都做了相应的调整。
Linux根文件系统逻辑组成
参照FHS,Linux系统按照逻辑功能大致分为以下目录(以具体目录表现逻辑功能,有意思):
/
/usr
/var
/opt
/home
P.S. 以上目录均可单独安装到一个分区上,最终挂接入根下。
/ (专用的静态的)
根目录的功能由其名可略知,根目录是系统的根本所在(Essential),是系统之所以为本系统的特征
相关文档:
1.配置文件
/etc/hosts(本地主机ip地址映射,可以有多个别名)。
/etc/services(端口号与标准服务之间的对应关系)。
/etc/sysconfig/network(设置主机名,网关,域名)。
HOSTANME=zjw.com(主机名)(需要重启计算机才有效)
GATEWAY=192.168.1.1(网关)
/etc/rc.d/init.d/network restart(脚本服务启动)
servi ......
1:所需头文件:<systypes.h>(数据类型定义) < sys/socket.h>(提供socket函数和数据结构)
<netinet/in.h>(定义数据结构sockaddr_in) <netdb.h>(提供获取域名或IP的函数)
<arpa/inet.h>(提供IP地址转换函数) < ......
本文介绍如何在Linux下配置Java环境变量。配置共分十个步骤,从下载JDK开始,到Linux上JDK的安装,Eclipse的相应配置,最终在桌面上创建一个启动器,路径设置到Eclipse,就此完成Java环境变量的配置。
1.去http://java.sun.com/j2se/1.4.2/download.html
下载一个Linux Platform的JDK,
建议下载RPM自解压格式的(RP ......
du -sh * 查看当前目录下的文件夹大小
du 命令
用途
概述磁盘使用。
语法
du [ -a | -s ] [ -k ] [ -m ] [ -g ][ -l ] [ -r ] [ -x ] [ -H | -L ][ File ... ]
描述
du命令显示用于文件的块的数量。
如果指定的File参数实际上是一个目录,就要报告该目录内的所有文件。如果没有提供 File参数,du命令使用当前目录 ......