惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
博客园 - 叶小钗
The Cloudflare Blog
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
小众软件
小众软件
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享

博客园 - YiYezc

Django + Vue 学习日志( PART03:Django 模板) Django + Vue 学习日志(08Python 闭包和装饰器) Django + Vue 学习日志(07Python对象构造) Django + Vue 学习日志(06Python 对象相关) Django + Vue 学习日志(05CBV) Django + Vue 学习日志(04HttpRequest) Django+Vue 学习日志(03模板查找) Django+Vue 学习日志(02视图实例) Django+Vue 学习日志 Python的if语句 Python元组 Python列表操作 Python列表管理 Python列表元素管理 Python字符串 Python变量 centos安装autossh bash相关 Linux的bash快捷键 Vim程序编辑器 Linux下光盘镜像生成和刻录 Linux文件系统备份dump Linux下文件压缩与打包 Linux挂载 Linux磁盘分区 block、inode、superblock详解 Linux文件系统的详解 Linux的权限对于文件与目录的意义 命令与文件的查询 ctime, atime与mtime释疑
Linux文件访问和日志
YiYezc · 2016-02-24 · via 博客园 - YiYezc

一、文件系统创建一个文件的过程
假设我们想要新增一个文件,此时文件系统的行为是:
先确定用户对于欲新增文件的目录是否具有 w 与 x 的权限,若有的话才能新增;
根据 inode bitmap 找到没有使用的 inode 号码,并将新文件的权限/属性写入;
根据 block bitmap 找到没有使用中的 block 号码,并将实际的数据写入 block 中,且升级 inode 的 block 指向数据;
将刚刚写入的 inode 与 block 数据同步升级 inode bitmap 与 block bitmap,并升级 superblock 的内容,改写indode和block的使用情况。
一般来说,将 inode table 与 data block 称为数据存放区域,至于其他例如 superblock、 block bitmap 与 inode bitmap 等区段就被称为 metadata (中介数据),因为 superblock, inode bitmap 及 block bitmap 的数据是经常变动的,每次新增、移除、编辑时都可能会影响到这三个部分的数据,因此被称为中介数据。

ext3文件系统比ext2文件系统多了日志功能

二、VFS虚拟文件系统
df命令 显示已经挂在的文件系统
df -h 以人类好识别的数据单位显示
df -T 显示文件系统版本
du命令
du 目录 查看目录大小的包括里面文件目录的大小
du -s 目录 只查看目录本身的大小
du -h 以人类好识别的数据单位显示

三、链接文件
1.软链接 相当于Windows下的快捷方式
创建软链接命令:ln -s 目标文件 链接文件名
2.硬链接是Linux和Unix中专有的概念
创建软链接命令:ln 目标文件 链接文件名
创建一个硬链接的时候,创建了一个新的inode,新的inode指向的block还是和源文件是一样的
如修改源文件的时候,查看硬链接会发现文件同样发生了改变,因为两个inode指向的block是一样的,实际的内容也是一样的
对文件作硬链接是不能跨分区的,因为每个inode只能指向自己分区内的inode