上位机知识篇---脚本文件

终端命令启动运行

在 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 脚本?)

  1. 重复操作自动化

    比如每天需要备份文件、清理日志、同步数据等固定步骤,写成脚本后双击或一条命令就能自动完成,不用手动敲一堆指令。

  2. 批量处理任务

    比如批量修改文件名(把file1.txt改成doc1.txt)、批量压缩图片、批量部署多个文件到服务器等。

  3. 简化复杂操作

    有些工作需要输入多条命令(比如启动服务、检查状态、输出日志),脚本可以把这些命令打包,一次运行搞定。

  4. 系统管理与维护

    管理员常用脚本监控系统状态(CPU / 内存使用率)、自动重启故障服务、定时执行任务等。

  5. 程序部署

    开发中常用脚本一键安装依赖、配置环境、启动程序(比如./start.sh启动服务)。

二、编写.sh 脚本的步骤(超简单!)

1. 新建脚本文件

用终端命令创建一个.sh文件,比如叫my_script.sh

bash 复制代码
touch my_script.sh  # 创建文件
2. 编写脚本内容

用文本编辑器打开(比如vimgedit,新手推荐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  # ./表示"当前目录下的"

运行后会按顺序执行脚本里的命令,屏幕会显示执行过程和结果。

三、实用小技巧

  1. 注释很重要 :用#开头写注释,说明每个步骤的作用,方便以后自己看懂。

  2. 换行与分号 :命令可以换行写(推荐,清晰),也可以用;分隔写在一行,比如:

    bash 复制代码
    echo "第一步"; mkdir test; cd test
  3. 变量使用 :可以在脚本中定义变量,方便重复使用,比如:

    bash 复制代码
    #!/bin/bash
    folder_name="my_files"  # 定义变量
    mkdir $folder_name      # 用$调用变量
    cd $folder_name
  4. 条件判断 :比如判断文件是否存在,存在才执行操作:

    bash 复制代码
    #!/bin/bash
    if [ -f "test.txt" ]; then  # 如果test.txt存在
        echo "文件已存在"
    else
        echo "文件不存在,创建它"
        touch test.txt
    fi

四、总结

.sh 脚本就是 "命令的集合",核心作用是把手动操作变成自动执行,减少重复劳动。编写步骤简单:

  1. 开头写#!/bin/bash
  2. 中间写要执行的命令(可加注释)
  3. 授权chmod +x 文件名
  4. 运行./文件名

新手可以从简单的脚本开始(比如自动创建文件夹 + 文件),慢慢尝试复杂功能,非常实用!

相关推荐
小粉粉hhh2 小时前
Node.js(五)——编写接口
前端·javascript·node.js
jsons13 小时前
rocky8内网离线批量补丁(你之前搭建的架构,多台服务器首选,无订阅)
linux·运维·服务器
进击切图仔3 小时前
SAM3 微调标注流水线和 Label Studio
java·服务器·前端
自然 醒3 小时前
前端如何实现在线预览office常见文件功能?
前端·vue.js
阿拉斯攀登3 小时前
SPI 设备驱动开发
linux·驱动开发·嵌入式硬件·linux内核·嵌入式·linux驱动·spi
肉肉不吃 肉3 小时前
前端调试跨域如何解决
前端·vue.js
Liora_Yvonne3 小时前
为什么你写了3年前端还是搭不好一个项目
前端·架构
snow@li4 小时前
Java:后端项目会有一个类似前端node_modules的目录吗 / jar包在本地仓库 ~/.m2/repository 中按版本共存
java·开发语言·前端
weedsfly4 小时前
单例模式在前端中的正确打开方式
前端·javascript·面试
PedroQue994 小时前
uni-router新推useUniEventChannel,彻底解决页面通信难题
前端·uni-app