Linux文件系统管理

Linux文件系统管理,第1张

概述Linux文件系统管理 1.文件系统 1.1定义: 文件在分区里面组织方法和数据结构 1.2常见: windows: fat32 ntfs linux: ext2 ext3 ext4 xfs 1.3名称: indode:用来存放文件的元数据(metadata)包括权限、属性、block号码、时间戳、文件类型、拥有者所属组等 stat FILE 查看文件元数据 ls -i FILE 查看文件inod @H_404_2@ linux文件系统管理 1.文件系统 1.1定义:

文件在分区里面组织方法和数据结构

1.2常见:

windows: fat32 ntfs
linux: ext2 ext3 ext4 xfs

1.3名称: indode:用来存放文件的元数据(Metadata)包括权限、属性、block号码、时间戳、文件类型、拥有者所属组等 stat file 查看文件元数据 ls -i file 查看文件inode编号 一般存放在一个block的inode table中 block:用于存放数据基本单位,普通block用于存放文件的实际数据 superblock :用来存放文件系统整体信息,包括inode/block的总量、使用量、剩余,以及档案系统的格式和相关信息等 dumpe2fs /dev/sda1 查看整体信息 1.4链接 1.4.1软链接(符号链接) 用法:ln -s SRC DST 特点:可以跨文件系统、可以对目录和文件做

指向不同的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 保存分区信息到硬盘的分区表并退出
parted
|选项|功能|
|---|---|
|||

重读分区表(重启)

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文件系统管理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1025462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存