美文网首页
索引节点

索引节点

作者: Miracle001 | 来源:发表于2017-10-20 00:02 被阅读8次
    数据 内容
    元数据 meta data 属性 
    stat file  查看该文件的元数据(包括inode号)
      ll -i 
      ls -i 查看inode号
    
    索引节点
    index node = inode
    inode表:包含文件系统所有文件列表
    
    一个节点包括
        元数据
        文件类型 权限、UID、GID
        链接数(指向这个文件名路径名称个数)
        该文件大小和不同时间戳
        指向磁盘上文件的数据块指针
        有关文件的其他数据
    一般,inode表占用文件系统磁盘空间的1%
    引用文件:inode号,文件名,二者之间的映射
    
    节点编号
        每个分区,独立分配,互不干扰
        在分区中,有个数限制
        节点编号在磁盘空间有限,可以被回收利用
        分配节点编号,是在分区中
        同一分区,inode编号是唯一的
        不同分区,inode编号可以不同
    
    目录是一个特殊的文件
    ls -di /  查看根的编号
        7.3 只要是/的分区,都是64开始
        6.9 只要是/的分区,都是2开始
    ls -di /boot  /app  /proc  /sys
            64     64     1      1
            2       2     1      1
    
    df -i  分区使用的节点编号情况
    dd if=/dev/zero of=/boot/bigfile bs=1M count=1024  创建文件bigfile,每块1M,1024块
    df -h  查看文件空间使用情况(size)
    
    创建一个循环:
        for i in {...};do touch file$i;echo file$i is created;done
        echo file{...} | xargs touch/rm 
        echo * | xargs rm(?)
    看执行情况:watch -n1 df -i  1秒执行1次这个命令
      节点编号使用完,但是磁盘空间仍有剩余,虽然系统显示节点编号已经用完;
      但是系统会预留一部分空间,仍可以创建节点号,一些小命令不能运行;
      但是节点编号是可以耗尽的;
    
    cp命令执行时,分配一个空间的inode号,在inode表中生成新条目,在目录中创建一个目录项(文件名称);
    拷贝数据时,inode号与名称相关联,生产新文件;
    
    删除循环(目录过多)
        ls | xargs rm  (ls列表——xargs——rm,一个一个删)
    mv与inode
        在同一个分区中,移动速度快,不同分区移动速度慢
        创建:新的文件名 对应 新的目录项
        删除:旧的文件名 对应 旧的目录项
        不变:inode表(除了时间戳)或磁盘上的数据位置,数据没有被移动
    rm与inode
        链接数递减,释放inode号(可以被重新使用)
        数据块放在空闲列表中
        删除目录项
        数据实际上不会马上被删除,但当另一个文件使用数据块时,将被覆盖
        被删除文件,空间会被标记,提示可以使用
    
    文件粉碎工具
        /var/log/messages  日志文件(文本文件)
        shred --help
        shred -uzvn10 messages(文件名)
            u 删除 
            z 覆盖
            v 显示过程
            n 次数
    
    ls -l   显示链接名称和引用的文件
    ls -ila
    一个inode编号  对应多个链接数(文件名)
    
    硬链接(用的少)
        ln A B  参考A建立B文件
        二者的inode号一样
        AB地位平等
        多个名字
        对应同一分区(文件系统)的一个物理文件
            chown feng fiel_A  把A的所有者改为feng,则B的所有者也变为feng
        每个目录的inode号一样
        创建是,链接数递增
        删除文件时,链接数递减
        文件至少存在一个链接数,链接数为0,则该文件被删除
        不能跨设备(分区)
        不能针对目录(A不能为目录)
        不依赖原始文件
    应用
        哪个名字用起来方便,就把这个名字放到易找到的地方
    eg
        ln /etc/sysconfig/network-script/if-eth0(网卡名称)  /etc/eth0
        cat /etc/eth0 = cat /etc/sysconfig/network-script/if-eth0
        针对文件路径
        别名时针对命令
    

    相关文章

      网友评论

          本文标题:索引节点

          本文链接:https://www.haomeiwen.com/subject/ovlpuxtx.html