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

推荐订阅源

J
Java Code Geeks
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
腾讯CDC
D
Docker
The Cloudflare Blog
量子位
爱范儿
爱范儿
L
LangChain Blog
博客园 - 三生石上(FineUI控件)
博客园 - 司徒正美
aimingoo的专栏
aimingoo的专栏
Blog — PlanetScale
Blog — PlanetScale
Jina AI
Jina AI
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
博客园 - 聂微东
Vercel News
Vercel News
MyScale Blog
MyScale Blog

博客园 - 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