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、重新加载配置文件操作:
 
# 方式一:
    source /etc/profile
# 方式二:
    . /etc/profile
Ps:source命令也称为“点命令”,也就是一个点符号(.)

linux中为何每次修改完配置文件后都需要重新加载配置文件的更多相关文章

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

    目录 一.关于inode 二.inode的作用 二.为什么每次修改完服务器配置文件之后,都需要重新加载一下配置文件? 一.关于inode 1.在linux下一切皆文件,linux文件由三部分组成:文件 ...

  2. Linux安装redis,启动配置不生效(指定启动加载配置文件)

    一.今天有个同学问我,为什么明明安装了redis,修改了配置,启动的时候,配置还是不生效.如下图是安装后的redis文件图. 二.想加载上图中的redis.conf,进入到src中寻找到启动文件red ...

  3. 解决Eclipse每次修改完代码后需要先Clean,不然修改的代码无效

    工具栏 Project-->Build Automatically 勾选上即可

  4. Nginx下修改php.ini后重新加载配置文件命令

    修改php.ini后 如,我的 php.ini 文件是放在 /etc/php.ini php 所在目录是 /www/Linux/php-5.2.17 修改 php.ini 后要用 php-fpm 来进 ...

  5. []转帖]linux 上修改了nginx.conf 怎么重新加载配置文件生效

    linux 上修改了nginx.conf 怎么重新加载配置文件生效 https://www.cnblogs.com/zhuyeshen/ 步骤如下先利用/usr/local/nginx/sbin/ng ...

  6. Linux下文件 ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 和 /etc/profile 的区别 | 用户登录后加载配置文件的顺序

    转自 https://blog.csdn.net/secondjanuary/article/details/9206151 文件说明: /ect/profile 此文件为系统的每个用户设置环境信息, ...

  7. Java中加载配置文件的集中方式,以及利用ClassLoader加载文件 .

    我们往常进行文件的加载的时候 用到的都是  FileInputStream进行 文件的加载比如下面一个例子 : InputStream in=FileInputStream("1.prope ...

  8. springboot属性类自动加载配置文件中的值

    springboot属性类自动加载配置文件中的值,如Person类加载在yml中配置的name,age等属性值,可以通过如下步骤获取: 类上添加@ConfigurationProperties注解,p ...

  9. web 中加载配置文件

    1.web.xml中配置   <!-- 加载配置文件 -->   <listener>      <description>ServletContextListen ...

随机推荐

  1. 题解 [HAOI2018]反色游戏

    题目传送门 题目大意 给出一个 \(n\) 个点 \(m\) 条无向边的图,每个点都有一个 \(\in [0,1]\) 的权值,每次可以选择一条边,然后将该边相连两点权值异或上 \(1\).问有多少种 ...

  2. 什么,你还使用 webpack?别人都在用 vite 搭建项目了

    一.vite 到底是干嘛的? vite 实际上就是一个面向现代浏览器,基于 ES module 实现了一个更轻快的项目构建打包工具. vite 是法语中轻快的意思. vite 的特点: 1.轻快的冷服 ...

  3. 80. 删除有序数组中的重复项 II

    题目 给你一个有序数组 nums ,请你原地删除重复出现的元素(不需要考虑数组中超出新长度后面的元素),使每个元素最多出现两次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入 ...

  4. BUAA SE | 提问回顾与个人总结

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 深入理解软件工程 这个作业在哪个具体方面帮助我实现目标 ...

  5. WEB前端工程师如何做职业规划?

    对于一个WEB前端的职业规划,其实是有各种的答案,没有哪种答案是完全正确的,全凭自己的选择,只要是自己选定了,坚持去认真走,就好.在这里, 我只是 简要说一下自己对于这块儿内容的理解.有一个观点想要分 ...

  6. 设置nginx进程可打开最大的文件数

    涉及到的nginx配置参数: worker_processes: 表示操作系统启动多少个工作进程在运行,一般这个参数设置成CPU核数的倍数 worker_connections:表示nginx的工作进 ...

  7. PyPi到底是什么?pypi有啥作用?PyPi和pip有何渊源?

    转载:https://blog.csdn.net/weixin_42139375/article/details/82711201 可能有很多刚入行不久的朋友们,每天都在用pip 命令install ...

  8. hdu 2058 The sum problem(简单因式分解,,)

    Problem Description Given a sequence 1,2,3,......N, your job is to calculate all the possible sub-se ...

  9. 中文NER的那些事儿4. 数据增强在NER的尝试

    这一章我们不聊模型来聊聊数据,解决实际问题时90%的时间其实都是在和数据作斗争,于是无标注,弱标注,少标注,半标注对应的各类解决方案可谓是百花齐放.在第二章我们也尝试通过多目标对抗学习的方式引入额外的 ...

  10. 『学了就忘』Linux基础命令 — 20、文件操作的相关命令

    目录 1.touch 命令 2.stat命令 3.cat命令 4.more命令 5.less命令 6.head命令 7.tail命令 1.touch 命令 touch命令用于创建空文件或修改文件时间, ...