文件在分区里面组织方法和数据结构
1.2常见:windows: fat32 ntfs
linux: ext2 ext3 ext4 xfs
指向不同的inode,而且要申请新的block
1.4.2硬链接 ln SRC DST 特点:不可以跨文件系统、不能对目录做、删除一个文件并不影响另一个文件同一个inode被多个文件引用为硬链接数
1.4.3注意 文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。 1.5思考 1.5.1题目 block是越大越好还是越小越好? 目录的block有什么数据? 为什么/目录和/boot目录的inode编号一样? 为什么目录的大小都是block的倍数? 如果提示磁盘空间不足可能是什么原因? 一个文件系统能够创建的文件总数与什么有关? 创建、删除、移动、复制等 *** 作对inode和block有什么影响?硬链接为什么不能对目录做,为什么不能跨文件系统?
1.5.2参考 视情况而定,要创建和存放多大的文件,避免浪费block的空间 存放文件的条目(entry),即文件→inode x 处在不同的文件系统,如sda1,sda2 因为是每个block用满之后再申请另一个block data block用尽;inode用尽(每个文件有且仅用一个inode,小文件太多) inode数量 创建:先向文件系统申请空闲的inode,同时向目录所在的block里面写入文件entry 复制:向目标文件系统申请空闲inode,根据源文件所需要的block数,向目标文件系统申请空闲的block,把源block数据复制到新的block中,同时向目标目录所在的block里面写入文件entry 删除:硬链接数为1(将文件的inode和block置空,删除目录下文件的entry);硬链接数大于1(删除硬链接,再删除目录下文件的entry) 移动文件:同文件系统(只移动entry);不同文件系统(向目标文件系统申请新的block和inode,将源数据复制到新block中,在新目录增加entry,删除源文件)不能对目录做是因为同一个inode被链接的目录引用的话,目录下的文件也需要符合整个entry指向,会浪费很多系统空间;不能跨文件系统是因为在不同的文件系统中可能会出存在同一个inode指向不同的block.
2.文件系统管理 2.1创建文件系统的步骤 规划分区查看当前硬盘可用空间
fdisk -l 分区 fdisk -cu /dev/sda交互式选项 | 功能 |
---|---|
d | 删除分区 |
l | 列出已知分区类型 |
m | 打印此帮助 |
n | 新建分区 |
p | 打印分区表 |
q | 不保存退出 |
t | 修改分区ID |
w | 保存分区信息到硬盘的分区表并退出 |
|选项|功能|
|---|---|
|||
重读分区表(重启)
partx -a /dev/sda制作文件系统类型(格式化)
mkfs -t ext4 /dev/sda5(sda6,sda7) 挂载 创建挂载点 mkdir /mnt/disk{1,2,3} 挂载 mount -t ext4 /dev/sda5(6,7) /mnt/disk1(2,3) 检查挂载信息 df -TH (type human-readable)写入fstab
/dev/sda5(6,3) ext4 defaults 0 0 3.挂载 语法:mount [options] Device Dir options: -t FS_type文件系统类型 -o 挂载选项|挂载选项|功能|
|---|---|
|auto|能够被mount -a挂载|
|sync/async|同步/异步|
|defaults|使用默认挂载选项|
|ro/rw|只读/读写|
|loop|用于挂载本地的文件到本地目录|
|remount|在不卸载的情况下重新挂载,修改其挂载选项| 默认挂载选项是指rw,suID,dev,exec,auto,nouser,async mount -t iso9660 -0 loop centos6.9_x86_64.iso /mnt/cd mount -o remount,rw /mnt/disk1 4.fstab文件格式 格式:[file system] [dir] [type] [options] [dump] [pass] filesystem可以是分区名,也可以是UUID(blkID /dev/sda5),也可以是LABEL(e2label /dev/sda5 game)
dir:挂载点 ; type:文件系统类型(ext4)options:挂载选项(defaults);dump:是否备份(0/1);pass:是都fsck文件系统检查(0/1)
5.卸载umount 用法:umount [file]/[DIR] 前提:文件系统不能被其他进程占用查看占用:losf DEVICE / fuser -av DEVICE/DIR
6.swap分区 @H_404_2@ 总结以上是内存溢出为你收集整理的Linux文件系统管理全部内容,希望文章能够帮你解决Linux文件系统管理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)