文件系统的挂载与卸载
什么是挂载
mount命令的功能
mount命令的用法举例
umount命令的功能
umount命令的用法举例
利用/etc/fstab文件在开机时自动挂载文件系统
虚拟内存的概念以及设置与管理
什么是虚拟内存
创建swap分区的步骤
使用硬盘分区创建和使用系统交换分区的实例
mkswap 命令的功能
mkswap 命令的用法举例
swapon命令的功能
swapon -a
swapon -s
swapon命令的用法举例
i节点
什么是i节点
符号(软)链接
什么是符号链接
使用ln命令创建软连接
硬链接
什么是硬链接
使用ln命令创建硬链接
Linux系统中的文件类型
Linux系统中的常见文件类型
怎样检查磁盘空间
df命令
du命令
课后作业
【本节内容】
1. 文件系统的挂载与卸载(详见linux系统管理P406)
1) 掌握挂载的定义:挂载指将一个设备(通常是存储设备)挂接到一个已存在的目录上。
2) 掌握mount命令的功能:实现文件系统的挂载。
3) 灵活应用mount命令实现文件系统的挂载:
例如:将/dev/sdb1分区挂载到/wg目录上的命令:
mount /dev/sdb1 /wg
4) 掌握umount命令的功能:实现文件系统的卸载。
5) 灵活应用umount命令实现文件系统的卸载:
例如:卸载/wg上的文件系统的命令:
umount /wg
2. 虚拟内存的概念以及设置与管理(详见linux系统管理P414)
1) 掌握虚拟内存的定义:所谓虚拟内存就是一块硬盘空间被当做内存使用,也被称为交换分区(swap)。
2) 了解Linux交换分区的类型为:0x82
3) 掌握mkswap命令的功能:设置交换分区,用以上的mkswap命令就可以把一个分区格式化为交换分区文件系统,。
4) 掌握使用mkswap命令设置交换分区的用法举例:
例如:将分区/dev/sdb2设置为交换分区的命令:mkswap /dev/sdb2
5) 掌握swapon命令的功能:启动交换分区。
6) 掌握swapon –a命令的功能:启动全部的交换分区。
7) 掌握swapon –s命令的功能:列出当前正在使用的所有系统交换分区的状态。
8) 掌握使用swapon命令的用法举例:
例如:启用交换分区/dev/sdb2的命令:swapon /dev/sdb2
3. i节点(详见linux系统管理P170)
1) 掌握i节点的定义:i节点实际上是一个数据结构,它存放了有关一个普通文件、目录或其他文件系统对象的基本信息。
4. 符号(软)链接(详见linux系统管理P174)
1) 掌握符号链接的定义:符号链接是指向另一个文件的一个文件。
2) 掌握ln命令创建软连接的用法举例:
a) 为wolf/dog.wolf.baby文件建立一个dog_ wolf.boy符号链接并放在bodydog目录中的命令:
ln –s wolf/dog.wolf.baby bodydog/dog_ wolf.boy
5. 硬链接(详见linux系统管理P179)
1) 掌握硬链接的定义:一个硬链接(hard link)是一个文件名与一个i节点之间的对应关系,也可以认为一个硬链接是在所对应的文件上添加了一个额外的路径名。
2) 掌握ln命令创建硬连接的用法举例:
a) 为wolf/wolf.dog文件在backup目录中建立一个名为wolf.dog2的硬链接命令:
ln wolf/wolf.dog backup/wolf.dog2
6. Linux系统中的文件类型(详见linux系统管理P183)
1) 掌握Linux系统中常见的文件类型:
-:普通文件(regular file),也有人称为正规文件。
d:目录(directory)。
l:符号(软)链接。
b:块特殊文件(b是block的第1个字符),一般指块设备,如硬盘。
c:字符特殊文件(c是character的第1个字符),一般指字符设备,如键盘。
7. 怎样检查磁盘空间(详见linux系统管理P185)
1) 掌握df命令的功能:显示文件系统中磁盘使用和空闲区的数量。只有建立挂载点之后的硬盘分区才会在df命令的结果中显示,可以使用fdisk -l /dev/sdb查看没有挂载点的硬盘分区。
-a 显示所有磁盘
-h 单位转换
2) 掌握du命令的功能: 显示当前文件夹下目录和文件的大小a h同上
8. 课后作业(用时65分钟)
1) 开启Linux系统前添加一块大小为15G的SCSI硬盘
2) 开启系统,右击桌面,打开终端
3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大小为5G
4) 格式化主分区为ext3系统
5) 将逻辑分区设置为交换分区
6) 启用上一步的交换分区
7) 查看交换分区的状态
8) 新建目录/dir1
9) 将主分区挂载到/dir1目录
10) 查看整个磁盘的使用情况
11) 查看/分区的使用总量
12) 在root用户的家目录新建文件file1
13) 为file1创建硬链接file2
14) 为file1创建符号链接file3
15) 以长列表格式显示root用户家目录下的内容,要求显示i阶段,并比较硬链接、符号链接的i节点和原文件的关系
一、inode是什么?
使用ls -i命令,可以看到文件名对应的inode号码:
- Lniux下控制文件真正被删除的计数器
Linux
是link
的数量来控制文件删除的。只有当一个文件不存在任何link的时候,这个文件才会被删除。一般来讲,每个文件都有两个link计数器:i_count
和i_link
i_count
的意义是当前文件使用者(或被调用)的数量
当一个文件被某一个进程引用时,对应的这个值就会增加
i_nlink
的意义是介质连接的数量(硬链接的数量)
当创建文件的硬链接的时候,这个值就会增加
- 可以理解为
i_count
是内存引用计数器,i_nlink
是硬盘的引用计数器 -
rm
命令原理对于删除命令
rm
而言,实际上就是减少磁盘引用计数i_nlink
。Q:如果一个文件正在被某个进程调用,而用户却执行
rm
把文件删除了,那么会出现什么结果?当用户执行rm
删除文件后,再执行ls
或其他文件管理命令,无法再找到这个文件了,但是调用这个删除的文件的进程却在继续正常执行,依然能够从文件中正确的读取及写入内容,这又是为什么呢?A:
rm
操作只是将文件的i_nlink
减少了,如果没有其它的链接i_nlink
就为0了。但是由于该文件依然被进程引用,因此,此时文件对应的i_count
并不为0,所以执行rm
操作,系统并没有真正的删除这个文件,只有当i_nlink
和i_count
都为0的时候,这个文件才会被真正的删除。也就是说,必须要解除该进程对该文件的调用,才能真正的删除。Q:当文件没有被调用,执行了
rm
操作之后,还能找回被删除的文件吗?A:
rm
操作只是将文件的i_nlink
减少了,或者说置为0,实际上就是将inode的链接删除了,此时,并没有删除文件的实体(block数据块),此时,如果及时停止机器工作,数据是可以找回的,如果继续写入数据,那么新数据可能会被分配到被删除的数据的block数据块,文件就被真正的回收了。 -
实际遇到的问题
Q:web服务器磁盘空间不够了,山除了所有无用日志还是显示磁盘空间不足,但是
du -sh
发现磁盘空间的占用率很小,这是为什么呢?是什么导致磁盘空间不足?A:删除命令只是删除了文件的一个
i_nlink
,但是其他进程正在使用这些log文件,apache
或tomat
,重启这些服务就好啦!
ln命令可以创建硬链接:
九 实际问题
在一台配置较低的Linux服务器(内存、硬盘比较小)的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命令查看了一下磁盘使用情况,发现/data分区只使用了66%,还有12G的剩余空间,按理说不会出现这种问题。 后来用df -i查看了一下/data分区的索引节点(inode),发现已经用满(IUsed=100%),导致系统无法创建新目录和文件。
查找原因:
/data/cache目录中存在数量非常多的小字节缓存文件,占用的Block不多,但是占用了大量的inode。
解决方案:
1、删除/data/cache目录中的部分文件,释放出/data分区的一部分inode。
2、用软连接将空闲分区/opt中的newcache目录连接到/data/cache,使用/opt分区的inode来缓解/data分区inode不足的问题:
ln -s /opt/newcache /data/cache
用dd命令测试硬盘读写速度
dd if=/dev/sda1 of=/a.txt bs=100M count=2
if:输入源
of:输出源
bs:读写的数据大小
count:读写的次数
[root@localhost /]# dd if=/dev/sda1 of=/a.txt count=2 bs=50M
记录了2+0 的读入
记录了2+0 的写出
104857600字节(105 MB)已复制,1.57487 秒,66.6 MB/秒