文件系统完整性
本节讨论初级管理(LPIC-1)101 考试的主题 1.104.2 的内容。这个主题的权值是 3。
在本节中,学习以下内容:
- 监视空闲空间和 inode
- 检查文件系统的完整性
- 修复简单的文件系统问题
标准文件系统和日志型文件系统在这里都会讨论。重点是 ext2 和 ext3,但是也会提到用于其他文件系统的工具。这里的大多数内容适用于 2.4 和 2.6 内核。本节中的例子主要使用 Ubuntu 5.10 “Breezy Badger”(一种基于 Debian 的发行版),具有 2.6.12 内核,安装在前一节创建的文件系统上。在其他系统上的结果可能不一样。
监视空闲空间
首先回顾一下。在主题 103 的教程 “LPI 101 考试准备:GNU 和 UNIX 命令” 中说过,文件或目录包含在块 的集合中,关于文件或目录的信息包含在 inode 中。
数据块和 inode 块都要占用文件系统上的空间,所以需要监视空间的使用情况,确保文件系统有增长的空间。
df
df 显示挂载的文件系统的有关信息。(在下一节 挂载和卸载文件系统 中,将学到更多关于挂载文件系统的信息。)如果添加 -T 选项,那么显示中会包含文件系统类型;否则,就不显示文件系统类型。对于在前一节中创建的文件系统上安装的 Ubuntu 系统,df 的输出见清单 17。
yBpLinux联盟
清单 17. 显示文件系统使用情况
ian@pinguino:~$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/hda6 reiserfs 20008280 1573976 18434304 8% /
tmpfs tmpfs 1034188 0 1034188 0% /dev/shm
tmpfs tmpfs 1034188 12588 1021600 yBpLinux联盟 2% /lib/modules/2.6.12-10-386/volatile
/dev/hda2 ext3 101105 19173 76711 20% /boot
/dev/hda8 vfat 2004156 8 2004148 1% /dos
/dev/hda7 xfs 9998208 3544 9994664 1% /home
/dev/hda1 ntfs 20967416 9594424 11372992 46% /media/hda1
|
您会注意到,输出包含块的总数以及使用的数量和空闲的数量。还有设备名(/dev/hda7)及其挂载点:/home 是 /dev/hda7 的挂载点。两个 tmpfs 项是虚拟内存文件系统。这些只在 RAM 或交换空间中存在,是在挂载时创建的,不需要使用 mkfs 命令。可以通过 “Common threads: Advanced filesystem implementor's guide, Part 3” 了解 tmpfs(参见 参考资料 中的链接)。
如果需要关于 inode 使用情况的特定信息,那么在 df 命令中使用 -i 选项。可以使用 -x 选项排除某些文件系统类型,或者使用 -t 选项只显示某些文件系统类型的信息。如果需要,可以多次使用这些选项。例子见清单 18。
yBpLinux联盟
清单 18. 显示 inode 使用情况
ian@pinguino:~$ df -i -x tmpfs
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/hda6 0 0 0 - /
/dev/hda2 26208 34 26174 1% /boot
/dev/hda8 0 0 0 - /dos
/dev/hda7 10008448 176 10008272 1% /home
/dev/hda1 37532 36313 1219 97% /media/hda1
ian@pinguino:~$ df -iT -t vfat -t ext3
Filesystem Type Inodes IUsed IFree IUse% Mounted on
/dev/hda2 ext3 26208 34 26174 1% /boot
/dev/hda8 vfat 0 0 0 - /dos
|
看到 FAT32 文件系统没有 inode,您可能不会吃惊;但是看到 ReiserFS 信息也显示没有 inode,您就可能会吃惊了。ReiserFS 在 stat item 中保存文件和目录的元数据。而且,因为 ReiserFS 使用平衡的树结构,所以没有像 ext2、ext3 或 xfs 文件系统中那样的预先确定的 inode 号。
还可以在 df 命令上使用其他选项,从而只显示本地文件系统或者控制输出的格式。例如,使用 -H 选项显示人可读的空间大小,比如 1K 表示 1024,或者使用 -h(或 --si)选项将空间大小表示为以 10 的幂为单位(1K=1000)。
如果不确定目录树的某一部分在哪个文件系统上,那么可以使用 df 命令并提供目录名或文件名作为参数,见清单 19。
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论