终端命令启动运行
在 Linux 中,实现在终端打开时自动运行某些指令,常用的解决方法有修改用户配置文件 、利用图形界面设置以及创建服务等,以下是具体介绍:
-
修改用户级启动脚本 :Linux 中的 Bash 用户可以通过编辑
~/.bashrc
或~/.bash_profile
文件来实现。比如你经常需要进入某个特定目录工作,就可以打开~/.bashrc
文件,在末尾添加cd /目标目录路径
。保存文件后,重新打开终端,就会自动执行该指令,进入指定目录。也可以执行**source ~/.bashrc
**使设置立即生效。 -
使用图形界面的启动应用程序管理器(适用于有图形界面的系统) :以 Ubuntu 为例,在主界面点击 "搜索" 或 "显示应用程序",输入 "启动",找到 "启动应用程序" 管理器并打开。点击 "添加",在 "命令" 栏中输入要执行的指令。例如,你想每次打开终端都运行
top
命令查看系统资源使用情况,就在 "命令" 栏输入top
,这样每次打开终端就会自动运行该命令。 -
创建.desktop 文件(适用于 Ubuntu 等) :可以通过创建一个**
.desktop
文件** 并将其放置在**/etc/xdg/autostart/
目录** 中来实现。使用文本编辑器创建一个名为**custom.desktop
的文件**,添加以下内容:[Desktop Entry]
Type=Application
Name=Custom Command
Exec=gnome - terminal -- bash - c "your_command"
Terminal=true
StartupNotify=true
将your_command
替换为想要执行的命令,如python3 main.py
。保存文件后,下次启动系统时,会自动打开一个命令行窗口并执行指定命令。
-
使用 systemd 服务(适用于现代 Linux 发行版) :如果你使用的是 Ubuntu、CentOS 7 及以上版本等基于 systemd 的系统,可以创建一个 systemd 服务单元文件。假设你要自动运行一个名为
my_script.sh
的脚本,先创建服务文件sudo vim /etc/systemd/system/my_service.service
,内容如下:[Unit]
Description=My Service
After=network.target[Service]
ExecStart=/path/to/my_script.sh[Install]
WantedBy=multi - user.target
保存后,执行sudo systemctl enable my_service
启用服务,这样系统启动时就会自动运行该脚本。
- 基于命令行 profile 文件(适用于所有用户) :如果希望对所有用户都生效,可以编辑
/etc/profile
文件。使用文本编辑器打开,如sudo vim /etc/profile
,在文件末尾添加要执行的指令。修改后想让设置立即生效,可以执行source /etc/profile
,或者重启系统。不过要注意,有些涉及图形桌面相关的命令放在这里可能无法生效或导致异常。
脚本文件
.sh 脚本文件是什么?
.sh
是 Linux/Unix 系统中Shell 脚本文件 的后缀,简单说就是把一系列终端命令写在一个文件里,让系统按顺序自动执行,相当于 "批量处理命令的小工具"。
一、应用场景(什么时候用.sh 脚本?)
-
重复操作自动化
比如每天需要备份文件、清理日志、同步数据等固定步骤,写成脚本后双击或一条命令就能自动完成,不用手动敲一堆指令。
-
批量处理任务
比如批量修改文件名(把
file1.txt
改成doc1.txt
)、批量压缩图片、批量部署多个文件到服务器等。 -
简化复杂操作
有些工作需要输入多条命令(比如启动服务、检查状态、输出日志),脚本可以把这些命令打包,一次运行搞定。
-
系统管理与维护
管理员常用脚本监控系统状态(CPU / 内存使用率)、自动重启故障服务、定时执行任务等。
-
程序部署
开发中常用脚本一键安装依赖、配置环境、启动程序(比如
./start.sh
启动服务)。
二、编写.sh 脚本的步骤(超简单!)
1. 新建脚本文件
用终端命令创建一个.sh
文件,比如叫my_script.sh
:
bash
touch my_script.sh # 创建文件
2. 编写脚本内容
用文本编辑器打开(比如vim
、gedit
,新手推荐gedit
图形化编辑器):
bash
gedit my_script.sh # 用gedit打开编辑
脚本开头必须加一行 "声明":
bash
#!/bin/bash
这行告诉系统 "用 bash 解释器来执行这个脚本",固定格式,抄就行。
然后写要执行的命令,比如:
bash
#!/bin/bash
# 这是注释(#开头的行不会执行,用来写说明)
echo "开始执行脚本啦!" # 打印一句话到屏幕
# 示例1:创建一个文件夹并进入
mkdir -p my_folder # -p表示如果文件夹已存在也不报错
cd my_folder
# 示例2:创建一个文件并写入内容
echo "这是脚本自动生成的文件" > test.txt
# 示例3:显示当前目录下的文件
ls -l
echo "脚本执行完毕!"
3. 给脚本添加 "执行权限"
刚创建的脚本默认不能直接运行,需要授权:
bash
chmod +x my_script.sh # +x表示添加"可执行"权限
4. 运行脚本
在终端中输入以下命令即可运行:
bash
./my_script.sh # ./表示"当前目录下的"
运行后会按顺序执行脚本里的命令,屏幕会显示执行过程和结果。
三、实用小技巧
-
注释很重要 :用
#
开头写注释,说明每个步骤的作用,方便以后自己看懂。 -
换行与分号 :命令可以换行写(推荐,清晰),也可以用
;
分隔写在一行,比如:bashecho "第一步"; mkdir test; cd test
-
变量使用 :可以在脚本中定义变量,方便重复使用,比如:
bash#!/bin/bash folder_name="my_files" # 定义变量 mkdir $folder_name # 用$调用变量 cd $folder_name
-
条件判断 :比如判断文件是否存在,存在才执行操作:
bash#!/bin/bash if [ -f "test.txt" ]; then # 如果test.txt存在 echo "文件已存在" else echo "文件不存在,创建它" touch test.txt fi
四、总结
.sh 脚本就是 "命令的集合",核心作用是把手动操作变成自动执行,减少重复劳动。编写步骤简单:
- 开头写
#!/bin/bash
- 中间写要执行的命令(可加注释)
- 授权
chmod +x 文件名
- 运行
./文件名
新手可以从简单的脚本开始(比如自动创建文件夹 + 文件),慢慢尝试复杂功能,非常实用!