[文件系统]文件系统学习笔记(十)---杂项
1,在一个系统上,比如smartphone平台,有很多分区,比如/data和/system分区都是ext4文件系统,但是系统中还是只有一个file_system_type的成员,不过每个分区对应的ext4文件系统对应不同的super_block,fs_supers就是将这些相同文件系统不同的super block链接起来形成双向循环链表,fs_supers是链表头,链表元素由super_block结构体的s_instance成员表示。系统中所有的super_block由super_block结构体的s_list链接成双向循环链表,表头是super_blocks变量表示。
2,伪文件系统是不能装载的文件系统,因而不能从用户空间直接以文件或者目录的方式看到。系统中所有的伪文件系统可以从/proc/filesystem中获取
3,dumpe2fs命令 dumpe2fs
4,内存中文件系统第一个block是super block,每个group都有一个super block,后面的superblock是第一个super block的备份,group是有很多block组成的,比如32768
5,inode的大小是由各个文件系统本身决定,比如256B等等
6,查看磁盘和目录容量的命令分别是df,du.
7,一个文件至少占用一个block,若文件太大则占用多个block.
8,当我们删除文件的时候,只是把Inode标记为可用,文件在block中的内容是没有被清除的,只有在有新的文件需要占用block的时候,才会被覆盖,这也是我们删除文件还可以恢复的原因。
9, stat命令查看文件的时候里面每个成员的含义?
答:stat命令的使用如以下截图所示,每个成员的含义如下:
File:表示文件名。
Blocks:表示该文件占用的块数,通常linux一个块大小为512Byte,而文件系统块的大小为4096,4096/512=8,如下截图表示f1文件占用8个块.也就是一个文件最少占用8 block。
Device:表示的是存放文件的设备。
Inode:表示的是该文件对应的inode的号。
Size:表示的是文件的大小。
Links:表示的是硬链接的个数。
IO Block:系统格式化block的大小,文件系统块的大小。
Accesss:表示的是最后一次访问文件时间,读一次该文件,该时间就会改变。
Modify:表示的是最后一次修改文件的时间,对文件修改一次该时间就会更新,比如用VI命令后保存文件。
Change:表示的是最后一次修改文件熟悉信息(inode节点)的时间,比如使用chmod命令更新该文件的权限。
10,每个进程最多打开32个文件,如果一个进程同时打开32个文件的话是否可以扩展?
答:在linux内核里分配文件描述符的时候,系统默认每个进程同时打开的文件个数是32,如果超过的话会在alps/kernel/fs/File.c文件里的alloc_fd()函数里的expand_files()函数里进行扩展。但是最大扩展个数的限制是1024,也就是即使扩展,一个进程同时打开文件个数为1024.不过这个1024用户还是可以通过命令去修改。
11,linux编程如何查看文件系统相关信息statfs函数。
查看文件系统相关信息
- #include <sys/vfs.h>
- int statfs(const char *path, struct statfs *buf);
- int fstatfs(int fd, struct statfs *buf);
参数:
path: 位于需要查询信息的文件系统的文件路径名。
fd: 位于需要查询信息的文件系统的文件描述词。
buf:以下结构体的指针变量,用于储存文件系统相关的信息
- struct statfs {
- long f_type; /* 文件系统类型 */
- long f_bsize; /* 经过优化的传输块大小 */
- long f_blocks; /* 文件系统数据块总数 */
- long f_bfree; /* 可用块数 */
- long f_bavail; /* 非超级用户可获取的块数 */
- long f_files; /* 文件结点总数 */
- long f_ffree; /* 可用文件结点数 */
- fsid_t f_fsid; /* 文件系统标识 */
- long f_namelen; /* 文件名的最大长度 */
- };
转载于:https://www.cnblogs.com/zhiliao112/p/4067850.html
[文件系统]文件系统学习笔记(十)---杂项相关推荐
- ROS学习笔记(十)——ROS试用练习(一)
ROS学习笔记(十)--ROS试用练习 在此说明:之前使用的ROS是indigo,前两天电脑"炸"了,所以换了kinetic. 一.ROS文件系统导览 1.1如果你想找到turtl ...
- IOS之学习笔记十五(协议和委托的使用)
1.协议和委托的使用 1).协议可以看下我的这篇博客 IOS之学习笔记十四(协议的定义和实现) https://blog.csdn.net/u011068702/article/details/809 ...
- 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进
吴恩达<机器学习>学习笔记十四--应用机器学习的建议实现一个机器学习模型的改进 一.任务介绍 二.代码实现 1.准备数据 2.代价函数 3.梯度计算 4.带有正则化的代价函数和梯度计算 5 ...
- 吴恩达《机器学习》学习笔记十二——机器学习系统
吴恩达<机器学习>学习笔记十二--机器学习系统 一.设计机器学习系统的思想 1.快速实现+绘制学习曲线--寻找重点优化的方向 2.误差分析 3.数值估计 二.偏斜类问题(类别不均衡) 三. ...
- 吴恩达《机器学习》学习笔记十——神经网络相关(2)
吴恩达<机器学习>学习笔记十--神经网络相关(2) 一. 代价函数 二. 反向传播算法 三. 理解反向传播算法 四. 梯度检测 五. 随机初始化 1.全部初始化为0的问题 2.随机初始化的 ...
- Mr.J-- jQuery学习笔记(十九)--自定义动画实现图标特效
之前有写过自定义动画Mr.J-- jQuery学习笔记(十八)--自定义动画 这次实现一个小demo 图标特效 页面渲染 <!DOCTYPE html> <html lang=&qu ...
- Mr.J-- jQuery学习笔记(十六)--展开和收起动画折叠菜单的实现
之前写过动画的隐藏与显示:Mr.J-- jQuery学习笔记(十四)--动画显示隐藏 动画隐藏与显示的一个小demo--对联广告:Mr.J-- jQuery学习笔记(十五)--实现页面的对联广告 与动 ...
- Mr.J-- jQuery学习笔记(十五)--实现页面的对联广告
请看之前的:Mr.J-- jQuery学习笔记(十四)--动画显示隐藏 话不多说,直接上demo <!DOCTYPE html> <html lang="en"& ...
- kvm虚拟化学习笔记(十)之kvm虚拟机快照备份
KVM虚拟化学习笔记系列文章列表 ---------------------------------------- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装 http://koumm.blog ...
- mysql 临时表 事务_MySQL学习笔记十:游标/动态SQL/临时表/事务
逆天十三少 发表于:2020-11-12 08:12 阅读: 90次 这篇教程主要讲解了MySQL学习笔记十:游标/动态SQL/临时表/事务,并附有相关的代码样列,我觉得非常有帮助,现在分享出来大家一 ...
最新文章
- 网站推广——网站推广专员面对新站收录展开多角度思考
- opencv-Canny边缘检测(Python)
- 汉字内码UNICODE转换表
- xMind思维导图软件
- Python-OpenCV--直线提取
- oracle全托管驱动Oracle.ManagedDataAccess
- 面试官:Java中线程是按什么顺序执行的?
- VS2005代码格式化
- linux 命令mysql5.6,linux下mysql5.5mysql5.6的tar包安装
- Extreme Programming
- java api 获取jvm实例_JVMTI那些事——和Java相互调用
- CentOS安装中文包
- 显示器、显卡的接口类型
- HRM人力资源管理软件选型最重要的三点
- 物流项目介绍示范 有用
- 对于can通信过滤器的理解
- Python中的内置数据类型
- python thinker(菜单,滚动条,回调函数,对话框)
- ps打开笔压仍没有效果
- 伤寒杂病论.辨阳明病脉证并治
热门文章
- Educational Codeforces Round 12 D. Simple Subset 最大团
- Android系统Surface机制的SurfaceFlinger服务对帧缓冲区(Frame Buffer)的管理分析
- [Silverlight入门系列]使用MVVM模式(1):MVVM核心概念
- 项目调试之小工具---文件名替换
- .net序列化与反序列化通用方法
- 山西五台警方通报“男子强拽女学生”:嫌疑人被刑拘
- 2018年企业运维开发经典面试题
- 替换k个字符后最长重复子串
- 解决查看框架源码时 class file editor source not found
- 3.以太坊之秘钥文件