对于
IT
的学习来说,把握
“
心法与招式
”
的平衡,是至关重要的!要想成为高手!
“
心法与招式
”
必须兼修!
所谓心法,就是理论基础知识,是底层的原理性知识,是那些跟特定的厂家无关的跨平台共性知识;
所谓招式,就是应用层面的技能,配置、操作和调试的步骤,跟具体的软件或者硬件紧密关联的特殊知识。
ext与swap文件系统是Red Hat Enterprise Linux系统中是最重要的文件系统,本章将深入介绍这3个文件系统的功能,以及如何管理这3个文件系统。
3.1 ext2文件系统
ext2文件系统是全名为第二代延伸式文件系统(2nd extended filesytem),是针对Linux特性特别开发的,所以几乎是为Linux量身打造的文件系统。因此,ext2最后成为各种Linux产品内置的文件系统。当然Red Hat Enterprise Linux也提供ext2文件系统。本节将介绍ext2文件系统的特色与功能。
ext2文件系统究竟提供了什么魅力,深得所有Linux厂商的推崇?ext2提供的功能整理为以下几点:
⑴ 支持255个字符的文件名称。
⑵ 支持各种类型的文件。
⑶ 单一文件系统最大为8TB 。
⑷ 单一文件最大为8TB 。
⑸ 提供文件的特殊属性。
⑹ 可以为ext2文件系统设置卷标名称。
⑺ 可以调校ext2文件系统。
⑻ 通过cache/buffer提高ext2文件系统的效率。
下面将详细介绍上述各项特色与功能,并且介绍如何在Red Hat Enterprise Linux系统中操作ext2的特殊功能。
支持255个字符的文件名称。
在以前最多只能存储255个字元或者127个中文的文件名:不过,现在的RHEL的ext2文件系统已经支持万国码(Unicode),因此,最多可以存储255个英文或者中文的文件名称。而文件名称中可以使用除了“/”外的任何字符。但是,强烈建议避免使用以下的特殊符号作为文件名称。
⑴ 特殊符号:eg: “,” 、“;” 、“-” “~” 、“空白”等。
⑵ 无法显示的字符:eg: ASCⅡ的007字符。
⑶ 此外,ext2文件系统也建立、存储下列几种类型的文件。
⑷ 常规文件(Regular File):包含文字文件、二进制文件(Binary File)、执行文件、链接库……
⑸ 目录(Directory)。
⑹ 连接文件(Link File): 包含硬性连接文件(Hard-Link File)、软性连接文件(Soft-Link File)。
⑺ 设备文件(Device File): eg: 区块设备(Block Device)、字符设备(Character File)。
⑻ 跨进程通信文件(Inter-Process Communcation File,IPC File): 例如:Socket文件、FIFO文件。
制作ext2文件系统,则可用mkfs或者mkfs.ext2命令:
mkfs [-t ext2] [options…] device [size]
mkfs.ext2 [options…] device [size]
⑴ device : 文件系统的设备文件名称。
⑵ size : 新建的文件系统大小。若未指定,则为默认值。
⑶ options: 参数。常用参数如下表所示。
mkfs与mkfs.ext2常用参数表
参数
|
说明
|
-c
|
在制作文件系统前,先检查磁盘是否有坏轨(
Bad Block
)
|
-l file
|
从
file
读入坏轨扇区数据
|
-b size
|
指定
ext2
文件系统的区块大小
|
-i size
|
指定每隔多少
size
字节建立一个索引节点
|
-N count
|
指定建立几个索引节点
|
-L lable
|
指定
ext2
文件系统的卷标名称
|
-m reserved_percent
|
设置保留区块的百分比
|
下面我们来看建立ext2文件系统:
①
mkfs没有加任何参数,则采用默认值,即把/dev/hda8的所有磁盘空间制作成 为ext2文件系统。
温馨提醒:在制作文件系统时,会清除掉磁盘空间上原来的所有文件数据,故在建立文件系统前,一定要仔细思量。
在ext2文件系统建立一个文件时,ext2除了会记录文件的权限、拥有者、异动时时间等信息外,还会存储ext2文件系统的属性数据。通过ext2文件系统的属性,可以对ext2的文件提供更细致的管理,赋予ext2上的文件更多的功能。
常用的ext2文件系统特殊属性如下表:
ext2文件系统的文件特殊属性
属性
|
说明
|
a
|
只能附加,意即不能删除,也不能覆盖
|
c
|
允许由内核自动压缩
|
d
|
通过
dump
工具进行备份时,要跳过这个文件
|
i
|
恒久不变的,意即不能删除,不能覆盖,也不能附加
|
j
|
挂载参数是
data=ordered
或
data=writeback
时,将所有数据写入日志区块
|
s
|
安全地删除
|
u
|
可以进行反删除
|
A
|
读取该文件时,不需要更新读取时间戳记录,启用这个属性时,可以提高文件的读取效率
|
D
|
当目录被异动时,立即写回磁盘
|
S
|
文件一经修改,立即存回磁盘
|
查看文件的特殊属性:
lsattr files...
配置文件的特殊属性:
chattr +- attributes... files...
⑴ attributes :就是要设置的特殊属性代号(如: i 、a )。
⑵ + attributes : 表示启用这项属性(如:+i )
⑶ - attributes : 表示停用它个属性 (如:-i )
好啦,我们一起来看看如何设置ext2文件系统特殊属性:
为了方便初学者,故从初步开始……
②
创建tmp目录,在/mnt/下。
③
再次查看/mnt/目录下是否有tmp目录,显然有。
④
查看/mnt/tmp目录下是否有文件,显然没有。
⑤
建立一个文件file1.
⑥
再次查看/mnt/tmp/目录下是否有文件file1,显然有。
⑦
查看/mnt/tmp/file1中是否有内容,明显没有。
⑧
把/dev/hda8分区的文件系统挂载到/mnt/tmp/
⑨
/dev/hda8被制作成为ext2文件系统,已挂载到/mnt/tmp/目录。
①
先查看/mnt/tmp/file1文件的特殊属性,根据lsattr显示结果可知,file1目前没有设置任何的特殊属性。
②
因没有任何特殊属性,故可直接覆盖/mnt/tmp/file1文件的内容。
③
查看/mnt/tmp/file1文件的内容仅有“Linux”了。
④
用chattr命令开启/mnt/tmp/file1文件的永恒不变特殊属性(即:+i参数! )。
⑤
再次用lsattr查看/mnt/tmp/file1的特殊属性,当前的确开启了i的特殊属性。
⑥
开启了/mnt/tmp/file1的i特殊属性,故RHEL会显示“permission denied(拒绝不符权限的操作)”的错误信息。即无法覆盖/mnt/tmp/file1文件的内容。
⑦
用cat命令查看只有“Linux”。
以往,每一个文件只能设置一条权限,而UNIX系统的权限只有3组:拥有者、拥有群组和其他人,意即只能针对文件的拥有者、拥有群组或者其他人设置权限,这就限制RHEL的功能。
eg :Boss希望只有koma与paul两个人可以读取、写入/data/file1,而users群组的成员只能读取,其他人无法读取。作为系统管理员的你,此时,只能告诉你的老板:对不起,RHEL无法满足你的要求。(你想想,你的老板此时如何想???哈……哈……)
没事!下面接着看看,为了解决上述问题,RHEL在ext2中操作POSIX的多重读取控制清单(MACL)能力,这样就能为ext2文件系统中的每一个文件设置一条以上的权限数据,以加强RHEL权限主功能。
本文转自
beyondhedefang
51CTO博客,原文链接:http://blog.51cto.com/beyondhdf/258698 ,如需转载请自行联系原作者