zoukankan      html  css  js  c++  java
  • L011系统文件属性知识进阶详解小节

    L011系统文件属性知识进阶详解小节

    这节课的内容相对来说较少,一上午加中午就听完了,现在总结一下,最后会有一个相关的面试题。

     

    首先先附上一张图:

     

    今天学习主要跟①和②有关,①为Inode 号 ②为文件类型以及权限(第一位为文件的类型第二到第十位为权限表示)

     

    一、文件类型及权限

     1 [root@moban ~]# ll
     2 total 7748
     3 -rw-r--r--   1 root root       2 Mar 30 13:28 2.log
     4 -rw-r--r--   2 root root       4 Apr 17 23:36 3.log
     5 -rw-r--r--   2 root root       4 Apr 17 23:36 4.log
     6 drwxrwxrwx.  2 root root    4096 Mar 22 14:11 963
     7 -rw-r--r--   1 root root       8 Mar  6 01:26 a.log
     8 -rw-------.  1 root root    1108 Mar 17 14:42 anaconda-ks.cfg
     9 lrwxrwxrwx   1 root root      34 Mar  7 05:53 apache -> /root/ti/application/apache2.2.17/
    10 drwxr-xr-x   3 root root    4096 Mar  7 05:43 application

    就以第10行的application权限为例看下图

    通过图片意义明了,每三个为一个权限位。

    r read 可读
    w write 可写
    x Execute 执行权限
    - 没有任何权限

    二、硬链接

    不同的文件名且具有同样的Inode为硬链接。

     1 [root@moban ~]# ll -i
     2 total 7748
     3    194 -rw-r--r--   1 root root       2 Mar 30 13:28 2.log
     4    394 -rw-r--r--   2 root root       4 Apr 17 23:36 3.log
     5    394 -rw-r--r--   2 root root       4 Apr 17 23:36 4.log
     6     82 drwxrwxrwx.  2 root root    4096 Mar 22 14:11 963
     7    392 -rw-r--r--   1 root root       8 Mar  6 01:26 a.log
     8   4528 -rw-------.  1 root root    1108 Mar 17 14:42 anaconda-ks.cfg
     9   4608 lrwxrwxrwx   1 root root      34 Mar  7 05:53 apache -> /root/ti/application/apache2.2.17/
    10   4601 drwxr-xr-x   3 root root    4096 Mar  7 05:43 application

    第4行和第5行为硬链接,因Inode都为394,也可以理解他们的入口(Inode)相同

    关于硬链接的小节:

    1 不同的文件名具有相同的inode,为硬链接。
    2 删除硬链接文件或者删除源文件之一,文件实体并未删除。
    3 只有删除了源文件和所有对应的硬链接文件,文件实体才会被删除。
    4 当所有的硬链接文件及源文件被删除后,再存放新的数据会占用此文件的空间,或者磁盘fsck检查的时候,数据也会被回收。
    5 硬链接文件是文件的又一个入口。
    6 可以通过给文件设置硬链接文件,来防止重要文件被误删。
    7 通过ln命令来创建硬链接,无需参数。
    8 硬链接可以直接使用rm命令来删除。

    三、软连接(又叫符号连接)

    查看软连接的参数:readlink

    [root@moban ~]# readlink apache
    /root/ti/application/apache2.2.17/

    关于软连接的小节:

    1 软连接类似windows里面的快捷方式,软连接里面存放的是源文件的路径,并且指向源文件。
    2 删除源文件,软连接文件依然存在,但是无法访问指向源文件的内容。
    3 通过ln -s 命令来创建软连接
    4 软连接和源文件是不同类型的文件,也是不同的文件,inode号不同。
    5 软连接的删除用rm -f

    四、目录创建连接

    1 对于目录,不可以创建硬链接,但是可以创建软连接。
    2 对于目录软连接是生产场景运维中常用的技巧。(例如apache的那个考题)。
    3 目录的硬链接不能跨越文件系统(从原理可以理解)。
    4 每个目录下面都有一个硬链接“.”号和上级目录的连接“..”
    5 在目录里创建一个目录,父目录的连接数会增加1(子目录中都有..来指向父目录),但是在父目录里创建文件,父目录的连接数不会增加。

    企业面试题

    简单描述一下linux文件的删除原理

    答:

    以下两个条件同时具备(也就是i_link和i_count都为0时才可删除)

    1、控制文件删除:文件的硬连接数:创建一个硬链接i_link +1,减少一个硬链接i_link -1 i_link=0文件就被删除了

    2、是否有进程占用这个文件,有一个进程占用这个文件i_conut+1,当i_count=0时,没有进程调用(i_count=0)。 文件就可以被删除了

    总:当i_link=0并且i_count=0,文件才会真正的被删除

  • 相关阅读:
    vue中$route和$router的区别
    vscode
    好用的天气插件
    jQuery的slideUp和slideDown函数
    在CSS/JS之后开发工作人员经常会考虑的性能优化。从用户刷新页面,一次js请求下有哪些地方需要缓存
    前端与BI
    XSS和CSRF区别
    兼容性问题
    div跟随鼠标移动
    匀速运动
  • 原文地址:https://www.cnblogs.com/lcrbg/p/5404656.html
Copyright © 2011-2022 走看看