• linux运维、架构之路-linux文件属性


    1、查看文件属性 ls -lhi

    文件属性详细说明

    1.    第一列: inode索引节点编号
    2.    第二列:文件类型及权限
    3.    第三列:硬链接数
    4.    第四列:文件或目录所属的用户,即文件的所有者
    5.    第五列:文件或目录所属的组。
    6.    第六列:文件或目录的大小。
    7.    第七、八、九列:文件或目录的修改时间

    2、inode小结

          磁盘被分区并格式化为ext4文件系统会生成一定数量的inode和block。inode被称为索引节点,它的作用是存放文件的属性信息及作为文件内容的索引(指向实体block)。
    一个非空文件至少要占有一个inode和一个block。inode节点号相同的文件,互为硬链接文件。inode在一个文件系统(分区)中是唯一的。用ls -i(查看某些文件的inode)或df -i(查看系统里面inode剩余量)进行查看inode信息。

    3、block小结

          block是用来存储实际数据的,磁盘读取信息是以block为单位读取的;一个文件可能占用多个block,每读取一个block就会消耗一次磁盘I/O,一个block剩余空间会被浪费,无论内容有多小。用dumpe2fs/dev/sda3 |grep -i "block size"或者df -h查看磁盘使用量。

    4、文件权限

    5、硬链接 

    ln 源文件 目标文件

    软连接: ln -s 源文件 目标文件

    硬链接是通过执行命令“ln 源文件 目标文件”来创建完成的;在同一文件系统中,具有相同inode节点号的多个文件互为硬链接文件。

    硬链接与删除:

    把源文件和硬链接都删除,文件才能被彻底删除。文件被删除的条件之一是硬链接数量为0。

    查看文件的硬链接数:ls -lhi、stat

    6、软链接

    linux里的软链接文件实际上是一个特殊的文件,文件类型是l,可以理解为是一个文本文件,这个文件包含有软连接指向另一源文件的位置信息。

    软链接是通过执行命令“ln -s 源文件 目标文件”来创建的;软链接和源文件是不同类型的文件,也是不同的文件,其inode也不同。

    硬链接文件与源文件的inode相同,软链接则与源文件不同;

    对于目录不能创建硬链接但是可以创建软链接

     软链接可以跨文件系统,硬链接不可以跨文件系统;

    删除链接的源文件对硬链接无影响,软链接将无法使用;

    同时删除源文件及硬链接文件,整个文件才能被删除

    7、文件删除

    linux通过link数量控制文件删除,只有当一个文件i-count和i-link都为零文件才被删除。

    i-count 当前文件被调用的数量(内存引用计数器,被进程调用时增加)

    i-link 介质链接数量(磁盘引用计数器,创建硬链接时增加)

    8、企业小案例

    磁盘空间已满但是与du -sh结果不一致,如何解决?

    ①第一个里程碑

    ####已经删除了,但是空间没有释放

    ####已经删除了-----把文件的硬链接数量为0

    ####空间没有释放---还有人在使用---进程

    ②第二个里程碑

    # lsof |grep delete

    rsyslogd  1250      root    1w      REG                8,3 1888889326     274029 /var/log/messages (deleted)

    #####硬链接数为0了,但是还有一个rsyslog软件正在使用

    ###这个文件没有被彻底删除

    ③第三个里程碑

    ##重启对应的软件/服务即可

    # /etc/init.d/rsyslog restart

    Shutting down system logger:                               [  OK  ]

    Starting system logger:                                         [  OK  ]

    ④第四个里程碑

    dh -f

    1.尽量清空日志文件不要删除

    2.切割日志,删除旧的文件(几天以前的)

    no space left on device(磁盘空间不足)

    block满了,df -h ----- du -sh  /*---500G磁盘放入了3个300G的文件

    block满了,硬链接数为0(日志文件被rm删除),进程占用数量不为零。lsof|grep  delete

    inode满了

     

    成功最有效的方法就是向有经验的人学习!
  • 相关阅读:
    压缩SQL Server数据库Log
    android UI进阶之android中隐藏的layout 抽屉的运用
    android UI进阶之仿iphone的tab效果
    oracle定期备份数据库
    Dundas Chart图形工具使用
    C#获取当前路径备份
    asp.net实现伪静态页面
    SQL Server2008修改表保存错误
    vss2005上传文件
    图片处理C#
  • 原文地址:https://www.cnblogs.com/yanxinjiang/p/7463184.html
Copyright © 2020-2023  润新知