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以及文件会被系统自动回收

  • 相关阅读:
    Laya list 居中
    Laya for...in和for each...in
    idea中tomcat启动失败

    通过Mock测试控制器
    Mybatis查询sql传入一个字符串传参数,报There is no getter for property named 'ids' in 'class java.lang.String'。
    Application Server was not connected before run configuration stop, reason: Unable to ping server at localhost:1099
    System.getProperty("XXX")方法
    linux命令
    JDK,IDEA,Tomcat,maven,MySQL的安装
  • 原文地址:https://www.cnblogs.com/tjyuanpeng/p/3566834.html
Copyright © 2011-2022 走看看