linux下为什么每次修改完配置文件之后都需要重新加载配置文件
2023-02-18 16:34:26 时间
一.关于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
相关文章
- Django 模型
- 云图说|初识数据库和应用迁移UGO
- 华为云UGO:醒醒!你的异构数据库迁移难题有救了
- 华为云UGO正式公测:4大核心优势破解异构数据库迁移难题
- MongoDB 事务,复制和分片的关系
- 【经验之谈】Git使用之Windows环境下配置
- git clone开启云上AI开发
- 实践GoF的设计模式:代理模式
- Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1)
- 初学开发必看:何为Git,何为SVN
- 实践GoF的设计模式:访问者模式
- 【经验之谈】Git使用之TortoiseGit配置VS详解
- cmder git bash 使用
- 4步教你学会使用Linux-Audit工具
- 10种有用的Linux Bash_Completion 命令示例
- Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)
- 实践GoF的设计模式:迭代器模式
- 【补充】Gitlab 部署 CI 持续集成
- Google Chrome 应用商店上传扩展程序
- 实践GoF的23种设计模式:观察者模式