Linux 学习“linux磁盘与文件系统管理”

    1. 文件系统一般将权限与属性放到inode中,将数据放到data block中;
    2. super block:记录文件系统的整体信息,包括incode/block的总量、使用量、剩余量以及文件系统的格式与相关信息等;
    3. inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码;
    4. block:实际记录文件的内容,若文件太大会占用多个block;
    5. ext2是索引式的文件系统,u盘则是FAT,并没有inode,而inode则相当于索引;
    6. block要有效选择,太小,则一个文件会占多个block,太大,因为至少一个文件占一个block会造成浪费,block大小还会影响最大总容量与最大单一文件大小;
    7. 每个inode大小固定为128bytes,每个文件都仅会占一个inode而已,文件系统能够创建的文件数量与inode数量有关,系统读取文件时需要先找到inode并分析inode所记录的权限与用户是否符合,符合才会去读取block的内容;
    8. inode记录一个block需要4byte,inode会使用间接连接来记录,就是使用block辅助记录;
    9. 超级块是记录整个文件系统相关信息的地方,没有超级块就没有这个文件系统了,超级块还会记录一个validbit数值,若文件系统已经被挂载了那么vlid bit会被记录为0,若违背挂载则记录为1;
    10. 超级块非常重要,如果超级块死掉了,文件系统可能要花很长时间去拯救,一般来说,超级块大小为1024bytes,可以使用dumpe2fs命令来调用superblock的信息来看;
    11. 每一个block group都可能含有超级块,但是我们说每一个文件系统仅有一个超级块,事实上,除了第一个block group内会含有超级块之外,后续的block group不一定会有超级块,若含有也主要是给第一个block group内的superblock做备份用的,这样就可以进行superblock的救援活动了;
    12. 文件系统描述说明,记录了每个block group开始与结束的block号码,以及说明每个区段分别介于哪一个block号码之间;
    13. block bitmap块对照表,记录了哪些块是空的可以用的,删除也是同样的;
    14. inode bitmap inode对照表,与块对照表作用类似;
    15. df显示现在挂载的设备,可以使用-TH;
    16. 在xfs的文件系统中可以使用xfs_growfs;
    17. 在ext2中,新建一个目录会分配一个inode与至少一块block给该目录,block用来记录目录下的文件名与该文件名占用的inode号码数据,用ls -i可以查看inode号码;
    18. 我们可以通过判断inode来看看不同文件名是否为相同文件;
    19. linux是通过一个名叫 Virtual Filesystem Switch(虚拟文件系统,VFS)的内核功能去读取文件系统的,也就是说整个linux的文件系统都是VFS在管理;
    20. df -h以易读的方式显示,-H则是以1000为进位代替1024,-a将所有的特殊文件格式都列出来,-i将inode列出,通常inode比block的剩余数量要多;
    21. /proc里的数据是linux所需要的加载的系统数据,挂载在内存中,所以不占任何磁盘空间;
    22. /dev/shm是利用内存虚拟出来的磁盘空间,所以在此目录下新建任何数据文件,访问速度是非常快的,在内存内工作,所以新建的东西在下次开机就消失了;
    23. 硬连接就是在某个目录下新建一条文件名连接到某inode号码的关联记录;
    24. 通常硬链接不会改变inode与磁盘空间大小变化,硬链接只能在同一文件系统下进行,并且不支持连接到目录;
    25. 符号连接就是快捷方式用ln -s,symbolic link连接会占用inode与block;
    26. df  /可以看挂载目录,fdisk /dev/sdx 不要加数字,输入m;
    27. mkfs为格式化;
    28. fsck可以用来修复磁盘,通常使用这个命令是系统出现极大问题时导致开机要进入单用户模式下进行维护的时候才使用的,fsck在扫描硬盘时会造成部分文件系统的损坏,所以执行fsck时,检查的分区必不可挂载到系统上;
    29. badblocks用来检测文件系统是否出错;
    30. 要将文件系统挂载到linux下要使用mount这个命令,挂载到目录下的东西会暂时消失;
    31. mount -o在单用户维护模式时非常重要,那时候根目录会被挂载为只读;
    32. umount进行卸载;
    33. fdisk -l查看设备;
    34. mknod可以用来设置主设备码与次设备码,其中b为设置成外部存储设备如硬盘,c设置成外部输入设备,如键盘鼠标,p则是FIFO文件;
    35. 可以用e2label来修改卷标;
    36. 可以在/etc/fstab里修改开机挂载,根目录必须挂载,而且先于其他,挂载点必须为已经新建的目录,可以任意指定但是要遵守系统目录框架原则,所有挂载点与分区在同一时间只能挂载一次,若进行卸载需要将工作目录移到挂载点之外;
    37. 修改挂载为 /dev/sdxx /mnt/sdxx vfat defaults 1 2;
    38. mount -a 根据/etc/fstab里的记录将未挂载的挂载上去;
    39. 实际文件的挂载记录到/etc/mtab与/proc/mounts里的,每次更改文件,都会记录在这里;
    40. 当输入fstab错误导致无法顺利开机,从而进入单用户维护模式,可以使用mount -n -o remount,rw / ;
    41. 特殊设备可以使用loop来挂载,mount -o loop /root/centos5.2_x86_64.iso /mnt/centos_dvd 这种;
    42. dd if=/dev/zero of=/home/loopdev bs=1M count=512 ,mkfs -t ext3 /home/loopdev格式化,mount -o loop /home/loopdev /media/cdrom/ 这是强行挂载一个文件;
    43. 使用文件构建swap,先使用dd,然后mkswap格式化,free,swapon 文件 =>启动,free,可以使用swapoff关闭swapfile;
    44. 目前64位机,swap的总量最大仅达到64G;
    45. superblock的大小为1024bytes;
    46. fdisk无法支持高于2TB以上的分区,这时候需要使用parted来处理;

猜你喜欢

转载自blog.csdn.net/luzhufu0815/article/details/80918694