`
小枫之落
  • 浏览: 18345 次
  • 性别: 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(第三版)视频教程

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

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

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

    Linux磁盘和文件系统管理

    Linux磁盘和文件系统管理,读书笔记,纯手打

    模拟一个小型磁盘文件管理系统

    设计一个简单的磁盘文件管理系统,用文件模拟磁盘,用数组模拟缓冲区,要求实现: (1)支持多级目录结构,支持文件的绝对路径访问; (2)文件的逻辑结构采用流式(字节流)结构,物理结构采用链式结构中的显式链...

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

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

    Linux磁盘及文件系统管理详解

    系统管理的重要任务之一就是管理好自己的磁盘文件系统,每个分区不可太大也不能太小,太大会造成磁盘容量的浪费,太小则会产生文件无法存储的困扰。

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

    掌握Linux下基本磁盘的管理。 练习Linux系统fdisk、mkfs、fsck等常用磁盘管理命令的使用方法

    linux操作系统应用与维护视频教程详细完整版

    第八章:linux网络管理 第九章:linux磁盘管理 第二部分:Linux操作系统管理与维护 第一章:vi编辑器 第二章:linux核心参数 第三章:udev介绍 第四章:软件管理 第五章:模块管理 第六章:文件系统 第七章:secure ...

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

    4.1 磁盘管理 4.2 文件与目录管理 4.3 文件的压缩与解压缩

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

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

    Linux(红帽)操作系统9.0版本学习资料

    用户和组管理、第八章Linux文件系统权限、第九章管理Linux的联网、第十章管理Linux软件包和进程、第十一章 磁盘管理。 2、适合人群:目前学习Linux的人群(属于Linux学习的基础,所必要了解的东西) 3、能学到什么?...

    实验一 磁盘管理和文件系统管理

    一、实验目的:掌握Windows Server 2008系统中的磁盘管理和文件系统管理,包括基本磁盘中分区的创建,动态磁盘中各种动态卷的创建。

    Linux操作系统学习

    第0章 计算机概论 ...第8章 Linux磁盘与文件系统管理 第9章 档案与文件系统的压缩与打包 第10章 vim程序编辑器 第11章 认识与学习BASH 第12章 正规表示法与文件格式化处理 第13章 学习Shell Scripts ........

    centos系统管理

    1~5章为基础篇,分别为—— ...第八章 磁盘管理和LVM管理; 第九章 文件系统管理; 第十章 TCP/ip网络设置; 第十一章 CentOS系统引导和启动; 第十二章 守护进程管理; 第十三章 系统监控; 第十四章 备份与恢复

    Linux磁盘及文件系统管理:磁盘基本概念.docx

    Linux磁盘及文件系统管理:磁盘基本概念.docx

    Linux文件管理Linux的文件系统

    文件系统是用来管理和组织保存在磁盘驱动器上数据的系统软件 2.Linux的文件系统 Linux系统采用虚拟文件系统技术(VFS)、结构采用倒立树型、VFS使Linux支持以下文件系统:  EXT2: 二次扩展  EXT3: 三次扩展...

    CentOS系统管理

    第一章 Linux与开源软件;...第八章 磁盘管理和LVM管理; 第九章 文件系统管理; 第十章 TCP/ip网络设置; 第十一章 CentOS系统引导和启动; 第十二章 守护进程管理; 第十三章 系统监控; 第十四章 备份与恢复

    Red_Hat_Enterprise_Linux_AS4[1].0教改课件——第6章_外存管理

    linux操作系统外存管理 管理磁盘文件

    鸟哥的linux私家菜

    第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口 shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的...

Global site tag (gtag.js) - Google Analytics