CentOS 鸟哥 第八章 磁盘与 文件系统管理

1.硬盘最开头有个特殊分区,主引导分区MBR,512字节。

2.分区第一部分为boot sector,第二部分为super block,第三部分为inode,第四部分为block。

3.第四部分分为很多block,每个block为4k,是真正存储文件的地方,在划分区的时候可以指定block的大小。在Windows中称为簇。

                    若一个文件的大小为1k,并未占用一个block的大小,剩余的3k也是无法使用的。若一个文件占用的block比较多,则增加了系统的寻道时间。

4.如果有文件存于block,则会在第三部分inode有相关的记录。比如所有者,所属组,修改时间,创建时间,放在了哪个block中。

   inode也含有编号,每个inode占128字节。相当于block的目录/索。每记录一个块消耗4字节,最多能指向32个块。

5.super block记录的是inode和super block的信息

6.第四部分的block如果过大,会分为block group。

              每个block group 含super group、文件系统描述信息(这个block group 是从第几个block到第几个block)、块位图、inode位图、inode表、block。

7.块位图,记录哪些块已使用哪些未使用,当添加一个新的文件的时候应放入哪个block中。

8.inode位图记录哪些inode已使用哪些未使用。

9.inode划分12个直接区,间接区域,二间接区域,三间接区域

                     直接区域指向的block直接存储数据;

                     间接区域指向的block并不存储数据,它指向的block指向的block才存储数据,即最多可标记4k/4B=1024个block信息,即1024*4K=4096k为4M大的文件。

                     二间接区域指向的block并不存储数据,它指向的block指向的block再指向的block才存储数据,

10.ls -i 文件名,查看记录该文件的inode编号                    

11.filefrag   -v 文件名,查看该文件的block编号

12.dumpe2fs /dev/sda3 ,查看sd3这个分区的super block的一些信息

     dumpe2fs /dev/sda1 | more ,查看journal inode和journal 大小

13.ls -id  目录名,查看目录指向的block编号,该block存储的是该目录下文件的inode信息


------------------------------------------------------------------------------

14.当存储文件时,先在inode中查找未使用的把文件属性信息存储进去,再去block位图中查找哪个block还未被使用,然后把数据写入。

     然后inode位图和block位图更新,然后super block更新。

             若在更新过程中断电,在以前:重启后系统会把磁盘所以的数据重新读取一遍。

                       现在 :当给已存储但未分配位图的位置时,在inode中写入文件属性信息,再把这个操作写入日志文件。block位图同。再开机的话系统会查看日志

15.ext3相对于ext2文件系统多了日志功能。centos5默认文件系统为ext3。

16.VFS虚拟文件系统:ext3 ext2 vfat ,VFS的作用就是文件系统对程序是透明的,程序不需要考虑要运行在哪个文件系统了。

17.df ,查看已挂载的文件系统大小

           df -h,显示单位

           df -hT ,显示文件系统类型

18.du 文件夹名,显示其中内容 和 整个文件夹的大小

     du  -s 文件夹名,仅显示整个文件夹的大小

     du  -sh 文件夹名,仅显示整个文件夹的大小,显示单位

19.ln -s  原文件名  软连接文件名,创建文件软连接          

20.硬连接是Linux和Unix中专有的。 同一个文件 有几个名字 链接到它。硬链接/inode 不可以 跨分区。

     ln  文件1  文件2,给文件1创建一个硬链接为 文件2

复制为 两个文件名 划分在两个不同的block中; 硬链接为 两个文件名 被划分到 同一个block中,即修改其中一个的内容另一个也会改变。

21.diff   文件1  文件2,查看两个文件内容是否有不同

22.fdisk -l ,显示系统硬盘和 所有的分区

      fdisk -l  硬盘号,比如 /dev/sda

      fdisk  硬盘名,给硬盘分区 而不是给分区 分区,比如/dev/sda

                一个硬盘 最多4个主分区,主分区和扩展分区 相加<=4,可以在扩展分区上划分逻辑分区

23.MBR 前的446字节是引导程序 ,后64字节是分区表,最后两字节是结束符。

                  中间的64字节 每标记一个主分区消耗16字节

24.划分 分区时 是以柱面的形式划分的,分区的最小组成单位为柱面,一个柱面为8M

25.每一个系统类型都对应一个id,扩展分区 中的逻辑分区的编号 是从5开始的,如sda5。

26.partprobe ,更新全部分区表

      partprobe    /dev/sda,更新分区表

27.逻辑分区 必须格式化后才能使用。挂载才能使用

      mkfs  -t  文件系统类型ext3   /dev/sda5,格式化分区,默认的block size为1k。

      mkfs  -t  ext3  -b  4096   /dev/sda5,指明每个block size 大小为4096k。

      mkfs.ext3  -b  4096   /dev/sda5,同上一条。

      mkfs.vfat   /dev/sda5

28.mount  分区/dev/sda5    文件夹/mnt,挂载逻辑分区,临时挂载  重启后不挂载

                                                                        写入/etc/fstab 才一直挂载

      fstab 中:

               设备名    挂载点    文件系统   defaults默认权限   0(是否使用dump做备份,0是不做备份,1是每天都要做备份)   0(是否使用fsck进行自检,0是不检查,1是检查)

      mount ,显示当前已经挂载了哪些目录

      mount  -o  remount,ro   /mnt ,以只读的形式  重新 挂载 

      mount  -o  remount,rw   /mnt ,以可读可写的形式  重新 挂载

      mount  -o  remount,noexec   /mnt ,以无可执行权限的形式  重新 挂载

      mount  -o  loop  xx.iso  /mnt,挂载镜像文件

                  fstab 中:

                          /root/xx.iso    /opt   iso9660   defaults,loop   0 0

      mount  LABEL=yy  /mnt  ,把卷标为yy的分区挂载到mnt中     

      umount  外部设备/挂载点 ,解挂载

29.fsck   ,对整个磁盘/分区 进行自检

     fsck   -f ,对整个磁盘/分区 进行强制自检

     fsck   -f  -C,显示自检的过程,显示进度条。

30.badblocks /dev/sda5  ,用来检查硬盘上的坏道

      badblocks -sv  /dev/sda5  ,显示检测的报告和进度

31.  ./ls 执行当前路径下的ls

32.fuser  -mv  文件名,查看哪个进程正在使用 该文件

33.tune2fs  -l  ,查看磁盘参数  

     tune2fs  -h  ,查看选项参数

     tune2fs  -L  xx  /dev/sda5,更改卷标,将sda5的卷标改为xx

     tune2fs  -c  100,更改最大挂载次数为100

     tune2fs  -C  101  /dev/sda5,更改当前挂载次数为101

     tune2fs  -j   /dev/sda5,添加日志(由ext2文件系统变为ext3文件系统)

     tune2fs  -m    50   /dev/sda5,保留块数为 50%,默认的预保留块数 为5%

34. Windows中的 本地磁盘 叫做  卷标;cdef 叫做盘符。

35.当分区挂载次数和 最大挂载次数一致时,系统在重启时会强制自检该分区。(remount也增加挂载次数)

36.e2label  /dev/sda5 ,查看卷标

      e2label  设备名/dev/sda5   卷标名,设置/更改设备卷标

37.Linux中的交换分区 同 Windows中的虚拟内存

     cat  /proc/swaps  查看当前系统的交换分区   

38.创建交换分区:创建分区,更改文件系统为swap(代码为82),partprobe更新分区,mkswap 格式化为交换分区,swapon激活分区。(重启会失效)

     关闭交换分区:swapoff

     写入  /etc/fstab  开机会挂载

                 设备名     swap    swap     defaults  0  0

39.dd   if=/dev/zero of=file  bs=1M  count=100

     使用bs定义zero的大小,count定义zero的数量,用100个1M的zero组成一个文件file,如果没有写M的话单位是字节。

     可以把file占用的这100M空间当作交换分区

     mkswap  file

     swapon  file 

    写入  /etc/fstab  开机会挂载

               /root/file     swap    swap     defaults  0  0



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值