当前位置: 首页 > news >正文

Linux 中 `source` 和 `systemctl daemon-reload` 的区别与踩坑点

在 Linux 里,sourcesystemctl daemon-reload都是“重新加载”的意思,但它们作用的对象完全不同。

  • source作用于当前 shell
  • systemctl daemon-reload作用于 systemd

这两个命令很常见,也很容易混。


一、source是什么

source的作用是:让当前终端重新执行某个文件的内容

最常见的用途是让环境变量立刻生效。

比如你修改了:

  • ~/.bashrc
  • ~/.profile
  • ~/.zshrc

然后不想重新打开终端,就可以执行:

source~/.bashrc

或者:

.~/.bashrc

它的作用范围

source只对当前终端会话有效。

也就是说:

  • 你在 A 终端执行source ~/.bashrc
  • B 终端不会受到影响
  • 新打开的终端会自动读取这些配置
  • 已经打开的终端不会自动变

简单理解

你可以把source理解成:

把这个文件内容在当前 shell 里重新执行一遍。


二、systemctl daemon-reload是什么

systemctl daemon-reload的作用是:让 systemd 重新读取 unit 配置文件

常见的 unit 文件包括:

  • /etc/systemd/system/xxx.service
  • /etc/systemd/system/xxx.timer
  • /lib/systemd/system/xxx.service

它的作用不是重启服务,而是让 systemd 认识到你刚刚改过或新建了配置。

常见场景

你在下面这些情况下需要它:

  • 新建了一个.service文件
  • 新建了一个.timer文件
  • 修改了现有的.service文件
  • 修改了现有的.timer文件

例如你新建了:

/etc/systemd/system/nginx-restart.service

然后如果直接执行:

systemctl start nginx-restart.service

有时 systemd 还不知道这个新 unit,可能会报找不到 unit。

这时先执行:

systemctl daemon-reload

再启动就正常了。

常见搭配

改完 unit 文件后,通常这么做:

systemctl daemon-reload systemctl restart xxx.service

如果是 timer:

systemctl daemon-reload systemctl restart xxx.timer

三、一个最容易踩的坑

source的误区

很多人以为:

我在一个终端里source ~/.bashrc之后,所有终端都会生效。

这是错的。

实际上它只影响当前 shell。

所以如果你在多个窗口里操作,别忘了:

  • 已开的窗口要自己重新source
  • 或者直接重新打开终端

daemon-reload的误区

很多人以为:

只有修改.service文件才需要daemon-reload

这也不完整。

实际上:

  • 新建.service文件要daemon-reload
  • 新建.timer文件要daemon-reload
  • 修改.service/.timer文件也要daemon-reload

否则 systemd 可能还在用旧缓存。


四、最简对比

命令作用对象典型用途作用范围
source当前 shell让环境变量、alias、生效仅当前终端
systemctl daemon-reloadsystemd重新读取 service/timer 配置整个 systemd

五、最简记法

source:重新加载当前终端的配置 systemctl daemon-reload:重新加载 systemd 的 unit 配置
source 只影响当前 shell;daemon-reload 只负责让 systemd 认新配置,不等于重启服务。

六、实际操作建议

改了 shell 配置文件

source~/.bashrc

改了 systemd unit 文件

systemctl daemon-reload systemctl restart 服务名

新建了 systemd service 或 timer

systemctl daemon-reload systemctlenable--now服务名

七、结论

sourcesystemctl daemon-reload都是“重新加载”,但对象完全不同:

  • source管当前终端的 shell 配置
  • systemctl daemon-reload管 systemd 的服务配置

它们常见的坑两个:

  • source只对当前终端有效
  • daemon-reload不只是改文件才需要,新建 unit 后也必须执行
http://www.jsqmd.com/news/571149/

相关文章:

  • Play Integrity Fix解决方案:Android设备认证修复工具完全指南
  • VideoAgentTrek-ScreenFilter结合JavaScript实现Web端实时视频预览
  • AI算力狂奔,数据库行业正在经历一场“上游重构”
  • 2026四川广告设计培训哪家好:广告设计与电商培训塑造职场竞争力 - 深度智识库
  • PNG Debugger 命令行工具:从安装到 CRC 校验实战
  • 实战解析:如何利用Python计算二进制文件的信息熵Entropy
  • 解决PakePlus云打包权限问题完全指南:从诊断到安全配置避坑指南
  • 黑丝空姐-造相Z-Turbo实战:为微信小程序开发提供素材生成服务
  • 2026年好用的高稳定AI视觉扫描仪优选锯厂家,价格贵吗 - mypinpai
  • 别再手动分组了!Pandas分组聚合,让你的数据处理效率起飞
  • MATLAB bertool实战:从Simulink建模到误码率曲线对比分析
  • 算法优化赋能忍者像素绘卷:提升图像生成速度与质量的实用技巧
  • 学Simulink——基于Simulink的能耗最优PMSM轨迹跟踪与再生制动仿真
  • AI赋能机器人抓取:在快马平台探索OpenClaw Onboard与强化学习的结合
  • 定制AI视觉扫描仪优选锯厂家怎么选,有哪些品牌值得考虑? - 工业设备
  • Claude Code 源码泄露!5 分钟搭建本地离线 AI 程序员,免费无 API 费用
  • OpenCore Legacy Patcher终极指南:让旧Mac焕发新生的完整解决方案
  • AI模型交响乐:在快马平台组合多模型打造更聪明的旗博士口播智能体
  • BilibiliDown高效视频下载全攻略:3分钟解决B站离线观看难题
  • 如何在 Windows 11/10 电脑上永久删除文件
  • 2026年微信公众号编辑器深度测评:8款主流工具实测与选型 - 行业产品测评专家
  • 91160-cli智能预约助手:医疗资源高效获取的全自动化解决方案
  • 快速体验:Xinference-v1.17.1在Jupyter中加载Phi-3-mini模型,5分钟出结果
  • 如何优化网站内容提高排名_站内搜索优化对网站SEO有什么影响
  • Text-to-SQL 没有答错,但答案不一定是你要的那个
  • Dota全图透视辅助DOTA全图外挂透视辅助使用人群及五大对战平台现状分析
  • Linux 与 Shell 自动化运维基础知识记录
  • 全国各省市医院妇产科全面启用《出生医学证明》人证核验系统 - 智能硬件-产品评测
  • Univer全栈框架:企业级电子表格协作系统的架构设计与技术实现
  • 2026年国内优质的非标链条品牌选哪家,不锈钢链条/非标链条/工业链条/链条,非标链条直销厂家选哪家 - 品牌推荐师