zoukankan      html  css  js  c++  java
  • linux inode cheat sheet

    sector:扇区,硬盘存储的最小单位,大小为0.5KB(512字节)

    block:块文件存取的最小单位,1 block=8 sector,大小4KB

    inode:存储文件元信息。内容包括

    * 文件的字节数
    * 文件拥有者的User ID
    * 文件的Group ID
    * 文件的读、写、执行权限
    * 文件的时间戳。共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指上一次访问的时间。
    * 链接数,即有多少文件名指向这个inode
    * 文件数据block的位置(pointer)

    inode一般大小为128KB或者256KB。

    inode的数量在硬盘格式化时就指定好了,所以一块硬盘上存储的文件数量是固定的

    一个inode就代表一个真实的文件。操作系统通过inode号码(inode number)来识别inode

    目录也是一种文件,访问目录就是打开目录文件。里面存放这文件名和对应的inode号码。如果要读取文件的详细信息,必须有目录的执行权限(x)

    多个文件名对应同一个inode-no,被称为“硬链接”(hard link)。inode当中的链接数(link count)记录硬链接的数量

    任何目录的链接数等于自身硬链接(.) + 父目录硬链接(..) + 子目录链接数(包含隐藏目录)。特例是根目录是自身的父目录。

    软链接(soft link)或 符号链接(symbolic link)则是创建一个文件类型是链接文件的新文件,不会增加原文件的链接数。类似于windows的快捷方式

    由于软链接包含了原文件的路径信息,所以如果原文件移动或删除了,就会报错:"No such file or directory"。

    硬链接不能链接目录(超级管理员可以,其实只是规定而已),不能跨文件系统,软链接可以。

    打开一个文件的过程:

    1. 根据文件名,找到对应的inode-no
    2. 根据inode-no在inode-table中找到inode信息
    3. 根据inode信息中的pointer找到文件所在的block

    删除文件实际上就是让inode的链接数(link count)减一。链接数为0时,inode以及文件会被系统自动回收

  • 相关阅读:
    rpm 命令|rpm 安装|rpm 卸载|rpm 使用|rpm 删除
    Linux中如何开启8080端口供外界访问 和开启允许对外访问的端口8000
    git远程提交到github或者gitee
    git搭建私有仓库
    Linux命令行设置环境变量
    【Little_things】控制台五子棋(java)
    【cisco实验】练习 2.3.8: 配置基本交换机管理
    操作系统FCFS,SJF进程调度(C++)
    JavaBean的编译和部署说明
    【Python爬虫】爬取个人博客的图片
  • 原文地址:https://www.cnblogs.com/tjyuanpeng/p/3566834.html
Copyright © 2011-2022 走看看