详解如何在 Linux 启动时自动执行命令或脚本
发布时间 - 2026-01-11 00:18:25 点击率:次我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情。按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟。当你注销或者关机时,也是这样。

更有意思的是,在系统启动以及用户登录或注销时,还可以让系统执行特定的操作。
本文,我们将探讨一下在 Linux 操作系统中实现这些目标的传统方法。
注意:我们假定使用的是 Bash 作为登录及注销的主 Shell。如果你使用的是其他 Shell,那么有些方法可能会无效。如果有其他的疑问,请参考对应的 Shell 文档。
在启动时执行 Linux 脚本
有两种传统的方法可以实现在启动时执行命令或脚本:
方法 #1 - 使用 cron 任务
除了常用格式(分 / 时 / 日 / 月 / 周)外,cron 调度器还支持 @reboot 指令。这个指令后面的参数是脚本(启动时要执行的那个脚本)的绝对路径。
然而,这种方法需要注意两点:
a) cron 守护进程必须处于运行状态(通常情况下都会运行),同时
b) 脚本或 crontab 文件必须包含需要的环境变量(如果有的话,参考 StackOverflow 获取更多详细内容)。
方法 #2 - 使用 /etc/rc.d/rc.local
这个方法对于 systemd-based 发行版 Linux 同样有效。不过,使用这个方法,需要授予 /etc/rc.d/rc.local 文件执行权限:
# chmod +x /etc/rc.d/rc.local
然后在这个文件底部添加脚本。
下图说明如何分别使用 cron 任务和 rc.local 运行两个示例脚本(/home/gacanepa/script1.sh 和 /home/gacanepa/script2.sh)。
script1.sh:
#!/bin/bash DATE=$(date +'%F %H:%M:%S') DIR=/home/gacanepa echo "Current date and time: $DATE" > $DIR/file1.txt
script2.sh:
#!/bin/bash SITE="Tecmint.com" DIR=/home/gacanepa echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
*启动时执行 Linux 脚本 *
记住,一定要提前给两个示例脚本授予执行权限:
$ chmod +x /home/gacanepa/script1.sh $ chmod +x /home/gacanepa/script2.sh
在登录或注销时执行 Linux 脚本
要在登录或注销时执行脚本,分别需要使用 ~.bash_profile 和 ~.bash_logout 文件。多数情况下,后者需要手动创建。在每个文件的底部,添加调用脚本代码,如前面例中所示,就可以实现这个功能。
总结
本文主要介绍如何在启动、登录以及注销系统时执行脚本。如果你有其他的方法可以补充,请使用下面的评论表给我们指出,我们期待您的回应!也希望大家多多支持。
# linux自动执行命令
# linux执行脚本命令
# linux
# 启动自动执行
# Linux启动新进程的三种方法
# Linux启动新进程的几种方法及比较
# Linux开机启动过程详解
# Linux中设置Redis开机启动的方法
# Linux下重新启动Tomcat的步骤详解
# Linux下Tomcat启动正常
# 但浏览器无法访问的解决方法
# LINUX启动/重启/停上MYSQL的命令(详解)
# linux启动流程详细介绍
# 的是
# 启动时
# 其他的
# 您的
# 情况下
# 如果你
# 在这个
# 还可以
# 你就
# 当你
# 给我们
# 要在
# 你有
# 我一直
# 请使用
# 可以实现
# 所示
# 按下
# 有两种
# 后会
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Android滚轮选择时间控件使用详解
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
如何在服务器上三步完成建站并提升流量?
个人网站制作流程图片大全,个人网站如何注销?
如何正确选择百度移动适配建站域名?
Laravel如何处理文件下载请求?(Response示例)
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
JS经典正则表达式笔试题汇总
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
如何在腾讯云免费申请建站?
郑州企业网站制作公司,郑州招聘网站有哪些?
南京网站制作费用,南京远驱官方网站?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何确保FTP站点访问权限与数据传输安全?
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
Linux网络带宽限制_tc配置实践解析【教程】
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
如何在景安云服务器上绑定域名并配置虚拟主机?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Laravel用户密码怎么加密_Laravel Hash门面使用教程
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
Laravel如何使用Blade组件和插槽?(Component代码示例)
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
googleplay官方入口在哪里_Google Play官方商店快速入口指南
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
Laravel怎么连接多个数据库_Laravel多数据库连接配置
浅谈javascript alert和confirm的美化
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
如何确认建站备案号应放置的具体位置?
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
EditPlus中的正则表达式实战(5)
手机软键盘弹出时影响布局的解决方法
如何快速生成可下载的建站源码工具?
如何在云主机快速搭建网站站点?
如何安全更换建站之星模板并保留数据?
如何快速搭建高效可靠的建站解决方案?
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
如何在万网自助建站中设置域名及备案?
zabbix利用python脚本发送报警邮件的方法
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
如何用西部建站助手快速创建专业网站?

