Linux中的目录项是这样的
来源:互联网 发布:软件图标大全单个 编辑:程序博客网 时间:2024/06/05 21:50
最近在学习虚拟文件系统,被VFS中的目录项这个概念搞晕了,现在终于找到正确答案了。
在此分享一下。
搞清目录项,要了解这几个概念:
1、inode索引节点:包含文件的除名字以外的所有信息:创建时间啊、什么权限啊、物理位置啊。
我们要重点知道它包含文件所在的物理位置,每个索引节点对应唯一的索引号,整个VFS中唯一对应的额。
另外要知道,我们所说的目录也是一种文件。
2、dentry目录项:主要包含文件名字和索引节点号,即inode。他们是一一对应的。
下面用个具体的例子来分析.
我用dentry “a”表示目录项a,inode "a"表示a的索引节点,name to inode表示name到索引节点号的映射
当我们访问 /home/borman/study/hello.c 时,是怎么访问到hello.c 的?
在这个例子中,/ home borman study hello.c都是目录项,前面四个是目录,最后一个是文件
所以,目录项包括目录名和文件名,目录项结构中的索引节点号对应该文件对应的索引节点。
实际上可以把这些都称为文件,目录也是文件嘛。
a、访问dentry "/" ,由name to inode 映射,得到inode "/"
b、 访问inode"/",找到dentry “home”
c、访问dentry "home" ,由name to inode 映射,得到inode "home"
d、 访问inode"home",找到dentry “borman”
e、访问dentry "borman" ,由name to inode 映射,得到inode "borman"
f、 访问inode"borman",找到dentry “study”
g、访问dentry "study" ,由name to inode 映射,得到inode "study"
h、 访问inode"study",找到dentry “hello.c”
i、访问dentry "borman" ,由name to inode 映射,得到inode "hello.c"
j、 访问inode"hello.c",读出数据
- Linux中的目录项是这样的
- 传说中的处男是这样造就的 [zhuan]
- 刚知道SQL中的CAST()函数是这样用的
- 突然想到Lua中的协程其实是这样的
- 哦,是这样的
- 工作是这样的
- 视频会议是这样的
- 生活是这样的
- 原来是这样的
- 生活是这样的
- 原来是这样的
- 幸福是这样的
- 历史是这样的
- 钞票是这样的???????
- dentry的中文名称是目录项,是Linux文件系统中某个索引节点(inode)的链接。这个索引节点可以是文件,也可以是目录
- 男人是这样长大的
- 老百姓是这样买房的
- 朋友是这样的人
- String
- Android----Fragment的基本用法
- AndroidStudio导出jar包
- 5.4.2 用画刷填充内部
- 二、输入监听
- Linux中的目录项是这样的
- mysql通过navicate工具图形化复制整库
- 实用小技巧之-textView内容高度的获取
- 欢迎使用CSDN-markdown编辑器
- centos6 nginx 安装PHP
- 利用Struts标签开发jsp页面表单提示java.lang.NullPointerException: Module 'null' not found.
- 项目编译后dll文件调用出错
- 服务的注册
- 存储过程中的select语句赋值错误原因