• linux下为什么每次修改完配置文件之后都需要重新加载配置文件


    一.关于inode

    1.在linux下一切皆文件,linux文件由三部分组成:文件名,inode,block块

    • ​ 文件名:文件名只是为了更好辨别文件而起的别名;
    • ​ inode::inode存储的是文件的元信息,比如:文件字节数、文件属主UID、文件属组GID、读写执行权限、时间戳等。inode是linux系统识别文件的唯一标识;
    • ​ block块:block块是真正存储文件数据的地方。

    2.查看文件名,inode,block块的方法:可以使用stat命令

    [root@node5 ~]# stat /etc/passwd
      File: ‘/etc/passwd’
      Size: 2615      	Blocks: 8          IO Block: 4096   regular file
    Device: fd00h/64768d	Inode: 17363913    Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2020-12-13 11:20:01.293083729 +0800
    Modify: 2020-12-10 11:14:34.432545850 +0800
    Change: 2020-12-10 11:14:34.434545850 +0800
     Birth: -
    

    二.inode的作用

    由于 inode 号码与文件名分离,这种机制导致了一些 Unix/Linux 系统特有的现象:

    • ​ 有时,文件名包含特殊字符,无法正常删除。这时,直接删除 inode 节点,就能起到删除文件的作用;
    • ​ 移动文件或重命名文件,只是改变文件名,不影响 inode 号码;
    • ​ 打开一个文件之后,系统就以 inode 号码来识别这个文件,不再考虑文件名。因此系统无法从 inode 号码得知文件名。

    二.为什么每次修改完服务器配置文件之后,都需要重新加载一下配置文件?

    答:因为vim每次修改完配置文件之后,inode号都会改变,这对于linux系统来说这是一个新文件,需要重新加载配置文件。

    [root@node5 ~]# cp /etc/profile profile
    
    #-i参数可以查看inode号,此时33688532就是profile的inode号
    [root@node5 ~]# ll -i profile 
    33688532 -rw-r--r-- 1 root root 1795 Nov 27 15:50 profile
     
    #使用echo追加一些内容,发现inode号没有改变
    [root@node5 ~]# echo '#!/bin/bash' >> profile
    [root@node5 ~]# ll -i profile 
    33688532 -rw-r--r-- 1 root root 1807 Nov 27 15:51 profile
     
    #使用vim修改文件之后inode号已经改变
    [root@node5 ~]# vim profile 
    
    [root@node5 ~]# ll -i profile 
    34449901 -rw-r--r-- 1 root root 1826 Nov 27 15:52 profile
    
  • 相关阅读:
    并查集-B
    ->的用法
    PTA-1042 字符统计
    PAT 1040有几个PAT
    assembly x86(nasm)修改后的日常
    python接口自动化之操作常用数据库mysql、oracle
    os模块常用方法
    python 多线程编程并不能真正利用多核的CPU
    连接mysql数据库
    python之用yagmail模块发送邮件
  • 原文地址:https://www.cnblogs.com/renshengdezheli/p/14132431.html
Copyright © 2020-2023  润新知