Linux学习(3)--目录配置

一、Linux目录配置标准:FHS

因为利用Linux来开发产品或distributions的社群/公司与个人实在太多了, 如果每个人都用自己的想法来配置档案放置的目录,那么将可能造成很多管理上的困扰。 所以,后来就有所谓的 Filesystem Hierarchy Standard (FHS)标准的出炉了!

FHS是根据过去的经验一直再持续的改版的,FHS依据文件系统使用的频繁与否与是否允许使用者随意变动,而将目录定义为四种交互作用的形态,用表格来说有点像底下这样:

可分享的(shareable)不可分享的(unshareable)
不变的(static)/usr(软件放置处)/etc(配置文件)
/opt(第三方协力软件)/boot(开机与核心档)
可变的(variable)/var/mail(使用者邮件信箱)/var/run(程序相关)
/var/spool/news(新闻组)/var/lock(程序相关)

我们首先要了解什么是那四个类型:

  • 可分享的:可以分享给其他系统挂载使用的目彔,所以包括执行文件与用户的邮件等数据, 是 能够分享给网络上其他主机挂载用的目彔;

  • 不可分享的:自己机器上面运作的装置档案或者是与程序有关的socket档案等, 由于仅与自身 机器有关,所以当然就不适合分享给其他主机了。

  • 不变的:有些数据是不会经常变动的,跟随着distribution而不变动。 例如函式库、文件说明 文件、系统管理员所管理的主机服务配置文件等等;

  • 可变动的:经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等。

事实上,FHS针对目录树架构仅定义了以下三层目录:
1. /(root,根目录):与开机系统有关;
2. /usr(UNIX software resource):与软件安装/执行有关;
3. /var(variable):与系统运行过程有关。

根目录(/)的意义与内容

  • 根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机、还原、系统修复等操作有关,是非常得重要。
  • 因此FHS标准建议:根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分割槽内,保持根目录越小越好。

鉴于以上的说明,FHS定义出根目录下的这些子目录:

目录应放置文件内容
/bin放置的是在单用户维护模式下还能够被操作的命令
/boot包括Linux内核文件和开机配置文件,Linux kernel常用文件名为 vmlinuz
/dev任何设备与接口设备都是以文件的形式存放在这里
/etc系统的主要配置文件都放在这里,例如账号密码、服务起始文件等,FHS建议不要放置可执行文件(binary)在这个目录中
/home默认的用户家目录,新增的一般账号,都会放到这里来
/lib放置的是开机会用到的配置文件
/media放置的是可删除的设备,包括软盘、光盘等等
/mnt如果有暂时挂载某些额外的设备,可以放到这里来
/opt第三方软件放置的目录
/root系统管理员的主文件夹
/sbin放在这下面的为开机过程中需要的,里面包括了开机、修复、还原系统所需要的指令

/usr的意义与内容

  • 依据FHS的基本定义,/usr里面放置的数据属于可分享的与不可变动的(shareable,static),可以分享给局域网内的其他主机来使用。
  • 很多人都会误会/usr为user的缩写,起始usr是Unix Software Resource的缩写,也就是“UNIX操作系统软件资源”所放置的目录。
  • 因为所以系统默认的软件(distribution发布者提供的)都会放置到/usr下面,因此比较类似“C:\Windows”和“C:\Program files”的综合体。

/var的意义与内容

  • /var是在系统运行后才会渐渐占用硬盘容量的目录。因为/var主要针对常态性变动的文件,包括缓存(cache)、登录文件(log file)以及某些软件运作所产生的档案,包括程序档案(lock file,run file),或者MySQL数据库档案等。

针对FHS,各家distributions的异同

由于FHS仅是定义出最上层(/)及次层(/usr,/var)的目录内容应该要放置的档案或目录数据,因此,在其他次目录层级内,就可以随开发者自行配置了。所以只要记住大致的FHS标准,差异性其实有限!

二、目录树

在Linux底下,所有的档案与目录都是由根目录开始的!然后再一个个分支下去,有点像是树。因此我们也称这种目录配置方式为:目录树(directory tree),它的主要特性有:

  • 目录树的起始点为根目录(/,root);
  • 每一个目录不止能使用本地端的partition文件系统,也可以使用网络上的filesystem。举例来说,可以利用Network File System(NFS)服务器挂载某特定目录等。
  • 每一个档案在此目录树中的文件名(包含完整路径)都是独一无二的。

我们可以通过以下命令来查询根目录下的情况:

这里写图片描述

上面特殊的就是这个/selinux目录,这个目录的内容数据也是在内存中的信息,同样的不会占用任何的硬盘容量。这个/selinux是 Secure Enhance Linux(SELinux)的执行目录,而SELinux是Linux核心的重要外挂功能之一,可以作为细部权限的控管,主要针对程序(尤其是网络程序)的访问权限来控制。

这个目录树的结构如下图所示:

这里写图片描述

CentOS的查看

有的时候你想知道你的distribution使用的是哪个Linux标准(Linux Standard Base),我们可以使用如下命令来查看:

[root@VM_174_157_centos ~]# uname -r
2.6.32-504.30.3.el6.x86_64     <==可以查看实际的内核版本

[root@VM_174_157_centos ~]# lsb_release -a
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch       <==LSB版本
Distributor ID: CentOS
Description:    CentOS release 6.6 (Final)      <==distribution 版本
Release:    6.6
Codename:   Final

不能使用lsb_release命令,提示找不到的,可以先执行yum -y install redhat-lsb安装之后,就可以使用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值