1. 认识 EXT2 文件系统
1.1 硬盘组成与分割的复习
1.2 文件系统特性: 索引式文件系统
1.3 Linux 的 EXT2 文件系统(inode): data block, inode table, superblock, dumpe2fs
1.4 与目录树的关系
1.5 EXT2/EXT3 文件的存取与日志式文件系统的功能
1.6 Linux 文件系统的运行
1.7 挂载点的意义 (mount point)
1.8 其他 Linux 支持的文件系统与 VFS
2. 文件系统的简单操作
2.1 磁盘与目录的容量: df, du
2.2 实体链接与符号链接: ln
3. 磁盘的分割、格式化、检验与挂载
3.1 磁盘分区: fdisk, partprobe
3.2 磁盘格式化: mkfs, mke2fs
3.3 磁盘检验: fsck, badblocks
3.4 磁盘挂载与卸除: mount, umount
3.5 磁盘参数修订: mknod, e2label, tune2fs, hdparm
4. 配置启动挂载:
4.1 启动挂载 /etc/fstab 及 /etc/mtab
4.2 特殊装置 loop 挂载(映象档不刻录就挂载使用)
5. 内存置换空间(swap)之建置:
5.1 使用实体分割槽建置swap
5.2 使用文件建置swap
5.3 swap使用上的限制
6. 文件系统的特殊观察与操作
6.1 boot sector 与 superblock 的关系
6.2 磁盘空间之浪费问题
6.3 利用 GNU 的 parted 进行分割行为
硬盘组成与分割的复习:磁盘的组成主要有:
- 圆形的磁盘盘(主要记录数据的部分);
- 机械手臂,与在机械手臂上的磁盘读取头(可擦写磁盘盘上的数据);
- 主轴马达,可以转动磁盘盘,让机械手臂的读取头在磁盘盘上读写数据。
- df:列出文件系统的整体磁盘使用量;
- du:评估文件系统的磁盘使用量(常用在推估目录所占容量)
[root@www ~]# df [-ahikHTm] [目录或文件名] 选项与参数: -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统; -k :以 KBytes 的容量显示各文件系统; -m :以 MBytes 的容量显示各文件系统; -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; -H :以 M=1000K 取代 M=1024K 的进位方式; -T :连同该 partition 的 filesystem 名称 (例如 ext3) 也列出; -i :不用硬盘容量,而以 inode 的数量来显示 范例一:将系统内所有的 filesystem 列出来! [root@www ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hdc2 9920624 3823112 5585444 41% / /dev/hdc3 4956316 141376 4559108 4% /home /dev/hdc1 101086 11126 84741 12% /boot tmpfs 371332 0 371332 0% /dev/shm # 在 Linux 底下如果 df 没有加任何选项,那么默认会将系统内所有的 # (不含特殊内存内的文件系统与 swap) 都以 1 Kbytes 的容量来列出来! # 至于那个 /dev/shm 是与内存有关的挂载,先不要理他! 范例二:将容量结果以易读的容量格式显示出来 [root@www ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% / /dev/hdc3 4.8G 139M 4.4G 4% /home /dev/hdc1 99M 11M 83M 12% /boot tmpfs 363M 0 363M 0% /dev/shm # 不同于范例一,这里会以 G/M 等容量格式显示出来,比较容易看啦! 范例三:将系统内的所有特殊文件格式及名称都列出来 [root@www ~]# df -aT Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/hdc2 ext3 9920624 3823112 5585444 41% / proc proc 0 0 0 - /proc sysfs sysfs 0 0 0 - /sys devpts devpts 0 0 0 - /dev/pts /dev/hdc3 ext3 4956316 141376 4559108 4% /home /dev/hdc1 ext3 101086 11126 84741 12% /boot tmpfs tmpfs 371332 0 371332 0% /dev/shm none binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc sunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs # 系统里面其实还有很多特殊的文件系统存在的。那些比较特殊的文件系统几乎 # 都是在内存当中,例如 /proc 这个挂载点。因此,这些特殊的文件系统 # 都不会占据硬盘空间喔! ^_^ 范例四:将 /etc 底下的可用的磁盘容量以易读的容量格式显示 [root@www ~]# df -h /etc Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% / # 这个范例比较有趣一点啦,在 df 后面加上目录或者是文件时, df # 会自动的分析该目录或文件所在的 partition ,并将该 partition 的容量显示出来, # 所以,您就可以知道某个目录底下还有多少容量可以使用了! ^_^ 范例五:将目前各个 partition 当中可用的 inode 数量列出 [root@www ~]# df -ih Filesystem Inodes IUsed IFree IUse% Mounted on /dev/hdc2 2.5M 147K 2.3M 6% / /dev/hdc3 1.3M 46 1.3M 1% /home /dev/hdc1 26K 34 26K 1% /boot tmpfs 91K 1 91K 1% /dev/shm # 这个范例则主要列出可用的 inode 剩余量与总容量。分析一下与范例一的关系, # 你可以清楚的发现到,通常 inode 的数量剩余都比 block 还要多呢
du [root@www ~]# du [-ahskm] 文件或目录名称 选项与参数: -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。 -h :以人们较易读的容量格式 (G/M) 显示; -s :列出总量而已,而不列出每个各别的目录占用容量; -S :不包括子目录下的总计,与 -s 有点差别。 -k :以 KBytes 列出容量显示; -m :以 MBytes 列出容量显示; 范例一:列出目前目录下的所有文件容量 [root@www ~]# du 8 ./test4 <==每个目录都会列出来 8 ./test2 ....中间省略.... 12 ./.gconfd <==包括隐藏文件的目录 220 . <==这个目录(.)所占用的总量 # 直接输入 du 没有加任何选项时,则 du 会分析『目前所在目录』 # 的文件与目录所占用的硬盘空间。但是,实际显示时,仅会显示目录容量(不含文件), # 因此 . 目录有很多文件没有被列出来,所以全部的目录相加不会等于 . 的容量喔! # 此外,输出的数值数据为 1K 大小的容量单位。 范例二:同范例一,但是将文件的容量也列出来 [root@www ~]# du -a 12 ./install.log.syslog <==有文件的列表了 8 ./.bash_logout 8 ./test4 8 ./test2 ....中间省略.... 12 ./.gconfd 220 . 范例三:检查根目录底下每个目录所占用的容量 [root@www ~]# du -sm /* 7 /bin 6 /boot .....中间省略.... 0 /proc .....中间省略.... 1 /tmp 3859 /usr <==系统初期最大就是他了啦! 77 /var # 这是个很常被使用的功能~利用通配符 * 来代表每个目录, # 如果想要检查某个目录下,哪个次目录占用最大的容量,可以用这个方法找出来 # 值得注意的是,如果刚刚安装好 Linux 时,那么整个系统容量最大的应该是 /usr # 而 /proc 虽然有列出容量,但是那个容量是在内存中,不占硬盘空间。
[root@www ~]# ln [-sf] 来源文件 目标文件 选项与参数: -s :如果不加任何参数就进行连结,那就是hard link,至于 -s 就是symbolic link -f :如果 目标文件 存在时,就主动的将目标文件直接移除后再创建! 范例一:将 /etc/passwd 复制到 /tmp 底下,并且观察 inode 与 block [root@www ~]# cd /tmp [root@www tmp]# cp -a /etc/passwd . [root@www tmp]# du -sb ; df -i . 18340 . <==先注意一下这里的容量是多少! Filesystem Inodes IUsed IFree IUse% Mounted on /dev/hdc2 2560864 149738 2411126 6% / # 利用 du 与 df 来检查一下目前的参数~那个 du -sb # 是计算整个 /tmp 底下有多少 bytes 的容量啦! 范例二:将 /tmp/passwd 制作 hard link 成为 passwd-hd 文件,并观察文件与容量 [root@www tmp]# ln passwd passwd-hd [root@www tmp]# du -sb ; df -i . 18340 . Filesystem Inodes IUsed IFree IUse% Mounted on /dev/hdc2 2560864 149738 2411126 6% / # 仔细看,即使多了一个文件在 /tmp 底下,整个 inode 与 block 的容量并没有改变! [root@www tmp]# ls -il passwd* 586361 -rw-r--r-- 2 root root 1945 Sep 29 02:21 passwd 586361 -rw-r--r-- 2 root root 1945 Sep 29 02:21 passwd-hd # 原来是指向同一个 inode 啊!这是个重点啊!另外,那个第二栏的连结数也会添加! 范例三:将 /tmp/passwd 创建一个符号链接 [root@www tmp]# ln -s passwd passwd-so [root@www tmp]# ls -li passwd* 586361 -rw-r--r-- 2 root root 1945 Sep 29 02:21 passwd 586361 -rw-r--r-- 2 root root 1945 Sep 29 02:21 passwd-hd 586401 lrwxrwxrwx 1 root root 6 Oct 22 14:18 passwd-so -> passwd # passwd-so 指向的 inode number 不同了!这是一个新的文件~这个文件的内容是指向 # passwd 的。passwd-so 的大小是 6bytes ,因为 passwd 共有六个字符之故 [root@www tmp]# du -sb ; df -i . 18346 . Filesystem Inodes IUsed IFree IUse% Mounted on /dev/hdc2 2560864 149739 2411125 6% / # 呼呼!整个容量与 inode 使用数都改变啰~确实如此啊! 范例四:删除源文件 passwd ,其他两个文件是否能够开启? [root@www tmp]# rm passwd [root@www tmp]# cat passwd-hd ......正常显示完毕! [root@www tmp]# cat passwd-so cat: passwd-so: No such file or directory [root@www tmp]# ll passwd* -rw-r--r-- 1 root root 1945 Sep 29 02:21 passwd-hd lrwxrwxrwx 1 root root 6 Oct 22 14:18 passwd-so -> passwd # 怕了吧!符号链接果然无法开启!另外,如果符号链接的目标文件不存在, # 其实档名的部分就会有特殊的颜色显示喔!
相关推荐
第8章 Linux磁盘与文件系统管理 第9章 文件与文件系统的压缩与打包 第三部分 学习shell与shell script 第10章 vim程序编辑器 第11章 认识与学习bash 第12章 正则表达式与文件格式化处理 第13章 学习shell ...
1. **Linux系统基础**:在开始深入服务篇之前,鸟哥首先介绍了Linux操作系统的基本概念,包括Linux发行版的选择、安装过程、用户与权限管理,以及文件系统结构等基础知识,为后续的学习打下坚实的基础。 2. **网络...
老段带你学鸟哥Linux(第三版)视频教程课程目录:【】第10章:vim程序编辑器【】第11章:认识与学习bash【】第12章:正则表达式与文件格式化处理【】第13章:学习shell script【】第14章:Linux账号管理与ACL...
第八章、Linux 磁盘与文件系统管理最近更新日期:2009/04/01系统管理员很重要的任务之一就是管理好自己的磁盘文件系统,每个分割槽不可太大也不能太小,
- **initrd/inode**:初始化RAM磁盘(initrd)和文件系统节点(inode),详情见第二十章3.3节和第八章1.3节。 #### J - **jobs/join**:后台作业管理(jobs)和连接文件(join),详情见第十七章2.2节和第十一章...
安装过程中会涉及分区管理,如FAT32、NTFS和EXT4等不同文件系统的理解与选择。 接着,书中详细介绍了Linux的命令行界面和基本命令。例如,`ls`用于列出目录内容,`cd`用于切换目录,`mkdir`和`rm`分别用于创建和...
《鸟哥的Linux私房菜》是一本面向Linux学习者的经典教材,它不仅提供了Linux系统的基础知识,还包含了大量实用的操作技巧和命令参考,非常适合初学者和希望系统学习Linux的用户。从提供的内容片段来看,这本书中涉及...
《鸟哥的Linux私房菜》是一本深受Linux爱好者欢迎的教材,分为基础篇和服务器篇,第三版在原有的基础上进行了更新和完善,旨在帮助读者深入理解和掌握Linux操作系统。该书由"鸟哥"编写,以其通俗易懂的语言和丰富的...
根据给出的文件信息,"鸟哥Linux私房菜基础学习篇(第三版).pdf" 是一本针对Linux新手的入门书籍,涵盖了Linux的基础命令和指令速查表。为了满足题目要求,以下是根据提供的文件内容、标签以及Linux基础知识构建的...
### Linux磁盘与文件系统管理知识点详解 #### 一、磁盘设备列表查看与解析 在Linux系统中,了解磁盘及其分区的信息至关重要。通过`fdisk -l`命令可以查看磁盘设备列表,该命令提供了有关磁盘硬件规格、分区情况等...
3. **Linux文件系统**:文件系统是Linux中的重要组成部分,书中会详细介绍EXT2、EXT3、EXT4等常见的Linux文件系统类型,以及文件和目录的操作,如创建、删除、移动、权限管理等。 4. **命令行操作**:Linux的命令行...
"鸟哥的私房菜————习题答案" 通过对给定文件的分析,我们可以总结出以下知识点: 1.架设网站前需要具备的基本技能: 在架设网站之前,需要具备以下基本技能: * 账号管理、文件属性与权限、程序与资源管理、...
4. **挂载和卸载**:Linux中,挂载(mount)是指将分区与文件系统关联到一个特定的目录上,以便访问。实验中,使用`mkdir`创建挂载点(如/mnt/mountpoint1和/mountpoint2),然后利用`mount`命令将分区挂载到这些点...
【磁盘管理】 ...总结来说,Linux的磁盘与文件管理涵盖了对各种存储设备的挂载、卸载、访问和空间监控,这些操作是日常系统维护和资源管理的基础。理解并熟练掌握这些概念和命令对于Linux用户来说至关重要。
文件系统是操作系统的基本结构,因几乎所有与用户、应用程序或安全性模型的沟通方法都与文件保存的类型信息有关。 Linux操作系统的文件系统组织方式不同于Microsoft Windows操作系统,不再有驱动器盘符(例如,A:...
对于初学者而言,《鸟哥的Linux私房菜——基础文件》这本书提供了一个很好的入门指南,帮助读者理解Linux的基本概念、文件系统管理以及如何高效地使用Linux操作系统。通过学习本书,读者不仅可以掌握Linux的基础知识...
chkconfig命令用于管理系统服务的启动级别。 31. **chkfontpath**:在第二十四章第2.2节中描述。chkfontpath用于检查字体配置文件。 32. **chmod**:在第六章第2.2节中解释。chmod命令用于更改文件或目录的权限...
《鸟哥LINUX私房菜》是Linux领域中一本非常受欢迎的入门教程,尤其是第四版,更是凝聚了作者丰富的教学经验和深入浅出的讲解风格。这本书主要针对对Linux系统感兴趣的初学者,旨在帮助读者快速掌握Linux操作系统的...
第8章 Linux磁盘与文件系统管理 第9章 文件的压缩与打包 第三部分 学习Shell和Shell脚本 第10章 vi文字处理器 第11章 认识Bash Shell 第12章 正则表达式 第13章 学习Shell脚本 第四...