`
小枫之落
  • 浏览: 19054 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

鸟哥linux—— 第八章、Linux 磁盘与文件系统管理

 
阅读更多

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
# 怕了吧!符号链接果然无法开启!另外,如果符号链接的目标文件不存在,
# 其实档名的部分就会有特殊的颜色显示喔!

 

 

 

 

分享到:
评论

相关推荐

    鸟哥的私房菜.pdf

    第8章 Linux磁盘与文件系统管理 第9章 文件与文件系统的压缩与打包 第三部分 学习shell与shell script 第10章 vim程序编辑器 第11章 认识与学习bash 第12章 正则表达式与文件格式化处理 第13章 学习shell ...

    鸟哥linux服务篇

    1. **Linux系统基础**:在开始深入服务篇之前,鸟哥首先介绍了Linux操作系统的基本概念,包括Linux发行版的选择、安装过程、用户与权限管理,以及文件系统结构等基础知识,为后续的学习打下坚实的基础。 2. **网络...

    老段带你学鸟哥Linux(第三版)视频教程

    老段带你学鸟哥Linux(第三版)视频教程课程目录:【】第10章:vim程序编辑器【】第11章:认识与学习bash【】第12章:正则表达式与文件格式化处理【】第13章:学习shell script【】第14章:Linux账号管理与ACL...

    鸟哥的 Linux 私房菜第08章-Linux 磁盘与硬件管理1

    第八章、Linux 磁盘与文件系统管理最近更新日期:2009/04/01系统管理员很重要的任务之一就是管理好自己的磁盘文件系统,每个分割槽不可太大也不能太小,

    鸟哥linux私房菜

    - **initrd/inode**:初始化RAM磁盘(initrd)和文件系统节点(inode),详情见第二十章3.3节和第八章1.3节。 #### J - **jobs/join**:后台作业管理(jobs)和连接文件(join),详情见第十七章2.2节和第十一章...

    鸟哥Linux基础学习篇

    安装过程中会涉及分区管理,如FAT32、NTFS和EXT4等不同文件系统的理解与选择。 接着,书中详细介绍了Linux的命令行界面和基本命令。例如,`ls`用于列出目录内容,`cd`用于切换目录,`mkdir`和`rm`分别用于创建和...

    鸟哥的linux私房菜

    《鸟哥的Linux私房菜》是一本面向Linux学习者的经典教材,它不仅提供了Linux系统的基础知识,还包含了大量实用的操作技巧和命令参考,非常适合初学者和希望系统学习Linux的用户。从提供的内容片段来看,这本书中涉及...

    鸟哥 鸟哥 Linux

    《鸟哥的Linux私房菜》是一本深受Linux爱好者欢迎的教材,分为基础篇和服务器篇,第三版在原有的基础上进行了更新和完善,旨在帮助读者深入理解和掌握Linux操作系统。该书由"鸟哥"编写,以其通俗易懂的语言和丰富的...

    鸟哥Linux私房菜基础学习篇(第三版).pdf

    根据给出的文件信息,"鸟哥Linux私房菜基础学习篇(第三版).pdf" 是一本针对Linux新手的入门书籍,涵盖了Linux的基础命令和指令速查表。为了满足题目要求,以下是根据提供的文件内容、标签以及Linux基础知识构建的...

    Linux磁盘和文件系统管理

    ### Linux磁盘与文件系统管理知识点详解 #### 一、磁盘设备列表查看与解析 在Linux系统中,了解磁盘及其分区的信息至关重要。通过`fdisk -l`命令可以查看磁盘设备列表,该命令提供了有关磁盘硬件规格、分区情况等...

    鸟哥Linux私房菜[基础和服务器] vbird Linux

    3. **Linux文件系统**:文件系统是Linux中的重要组成部分,书中会详细介绍EXT2、EXT3、EXT4等常见的Linux文件系统类型,以及文件和目录的操作,如创建、删除、移动、权限管理等。 4. **命令行操作**:Linux的命令行...

    鸟哥的私房菜————习题答案

    "鸟哥的私房菜————习题答案" 通过对给定文件的分析,我们可以总结出以下知识点: 1.架设网站前需要具备的基本技能: 在架设网站之前,需要具备以下基本技能: * 账号管理、文件属性与权限、程序与资源管理、...

    linux实验——基本磁盘管理.doc

    4. **挂载和卸载**:Linux中,挂载(mount)是指将分区与文件系统关联到一个特定的目录上,以便访问。实验中,使用`mkdir`创建挂载点(如/mnt/mountpoint1和/mountpoint2),然后利用`mount`命令将分区挂载到这些点...

    Linux课件—第4章磁盘与文件管理_软件

    【磁盘管理】 ...总结来说,Linux的磁盘与文件管理涵盖了对各种存储设备的挂载、卸载、访问和空间监控,这些操作是日常系统维护和资源管理的基础。理解并熟练掌握这些概念和命令对于Linux用户来说至关重要。

    浅析Linux的文件系统和磁盘管理.pdf

    文件系统是操作系统的基本结构,因几乎所有与用户、应用程序或安全性模型的沟通方法都与文件保存的类型信息有关。 Linux操作系统的文件系统组织方式不同于Microsoft Windows操作系统,不再有驱动器盘符(例如,A:...

    鸟哥的Linux_私房菜--基础文件.pdf

    对于初学者而言,《鸟哥的Linux私房菜——基础文件》这本书提供了一个很好的入门指南,帮助读者理解Linux的基本概念、文件系统管理以及如何高效地使用Linux操作系统。通过学习本书,读者不仅可以掌握Linux的基础知识...

    鸟哥Linux私房菜

    chkconfig命令用于管理系统服务的启动级别。 31. **chkfontpath**:在第二十四章第2.2节中描述。chkfontpath用于检查字体配置文件。 32. **chmod**:在第六章第2.2节中解释。chmod命令用于更改文件或目录的权限...

    鸟哥LINUX私房菜 第四版

    《鸟哥LINUX私房菜》是Linux领域中一本非常受欢迎的入门教程,尤其是第四版,更是凝聚了作者丰富的教学经验和深入浅出的讲解风格。这本书主要针对对Linux系统感兴趣的初学者,旨在帮助读者快速掌握Linux操作系统的...

    鸟哥的Linux私房菜基础学习篇(第二版PDF)02

     第8章 Linux磁盘与文件系统管理   第9章 文件的压缩与打包  第三部分 学习Shell和Shell脚本  第10章 vi文字处理器   第11章 认识Bash Shell   第12章 正则表达式   第13章 学习Shell脚本  第四...

Global site tag (gtag.js) - Google Analytics