linux中为何每次修改完配置文件后都需要重新加载配置文件
转载
linux中为何每次修改完配置文件后都需要重新加载配置文件
1、大家刚接触linux时,可能会有这样的疑问:为什么每次修改完配置文件之后,总是要重新加载配置文件才能生效?或者需要重启后才能生效?
之前听过一个解释是这样子的:
“修改了文件内容后,只是硬盘的文件改了,但是内存还是原来的配置,所以需要重新加载,内存才会是新的配置……”
嗯…当然了,以上的解释不能说是错的,但总归比较笼统,对于刚入linux这个坑的小白来说更是只知其表不知其里,接下来我会给出一个更加“其里”的解释。
首先,我们需要知道原因,就得先了解下文件的组成结构。
2、在liunx下一切皆文件,linux文件由三部分构成:
(1)文件名:文件的别名(类似一个人的姓名)
(2)inode:inode存储的是文件的元信息,比如:文件字节数、文件属主UID、文件属组GID、读写执行权限、时间戳等。inode是linux系统识别文件的唯一标识;(类似于一个人的身份证号码)
(3)block块:真正存储文件数据的地方;
查看文件内容命令: stat /etc/profile
3、inode
(1)由于 inode 号码与文件名分离,这种机制导致了一些 Unix/Linux 系统特有的现象:有时,文件名包含特殊字符,无法正常删除。这时,直接删除 inode 节点,就能起到删除文件的作用;
(2)移动文件或重命名文件,只是改变文件名,不影响 inode 号码;
(3)打开一个文件之后,系统就以 inode 号码来识别这个文件,不再考虑文件名。因此系统无法从 inode 号码得知文件名。
4、重新加载配置文件原因
(1)当配置文件被vim修改时,inode号会随之改变,而这对于linux来说,虽然文件名相同,但是inode号不同,相当于是一个新文件,系统识别的原文件的inode号已经没有数据了,所以需要重新加载配置文件
(2)实例,更改前和更改后的inode号:
ll -i /etc/yum.repos.d/nginx.repo
5、重新加载配置文件操作:
(1)# 方式一:
source /etc/profile
# 方式二:
. /etc/profile
Ps:source命令也称为“点命令”,也就是一个点符号(.)
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。