树莓派如何保存命令行操作?

临时保存:使用 history 命令

适用场景:快速查看或重复执行近期输入的命令。
操作步骤

  1. 查看历史命令:
    history
  2. 保存到文件(如 cmd_history.txt):
    history > cmd_history.txt

    注意:默认仅保存当前会话的命令,重启后可能丢失,需通过以下配置永久保存。


永久保存:修改 .bashrc 配置

适用场景:长期保留所有历史命令,避免重启丢失。
操作步骤

  1. 编辑配置文件:

    nano ~/.bashrc
  2. 在文件末尾添加:

    # 增大历史命令保存数量(默认1000条)
    HISTSIZE=5000
    HISTFILESIZE=10000
    # 实时追加命令到历史文件(避免丢失)
    shopt -s histappend
    PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
    # 忽略重复命令和空格开头的命令
    HISTCONTROL=ignoreboth
  3. 生效配置:

    source ~/.bashrc

    历史文件位置~/.bash_history,可直接用文本编辑器查看。


脚本保存:创建可执行脚本

适用场景:需要重复执行固定命令序列(如自动化任务)。
操作步骤

  1. 创建脚本文件(如 backup.sh):
    nano ~/backup.sh
  2. 写入命令(示例为备份脚本):
    #!/bin/bash
    sudo rsync -av /home/pi/Documents /mnt/external_drive/
    echo "备份完成!"
  3. 赋予执行权限:
    chmod +x ~/backup.sh
  4. 运行脚本:
    ./backup.sh

会话持久化:使用 screentmux

适用场景:长时间运行任务(如下载、编译),避免因断连中断。
tmux 为例

  1. 安装 tmux:
    sudo apt install tmux
  2. 创建新会话:
    tmux new -s mysession
  3. 在会话中执行命令(如安装软件):
    sudo apt update && sudo apt upgrade -y
  4. 断开会话(命令继续后台运行):
    Ctrl+B → 按 D
  5. 恢复会话:
    tmux attach -t mysession

启动自动执行:配置系统服务

适用场景:开机自动运行关键命令(如挂载磁盘、启动程序)。
示例:创建 systemd 服务

  1. 创建服务文件:

    sudo nano /etc/systemd/system/myservice.service
  2. 写入配置(示例为启动 Python 脚本):

    [Unit]
    Description=My Startup Command
    [Service]
    ExecStart=/usr/bin/python3 /home/pi/myscript.py
    [Install]
    WantedBy=multi-user.target
  3. 启用服务:

    sudo systemctl enable myservice
    sudo systemctl start myservice

注意事项

  1. 权限管理
    • 系统级操作(如挂载磁盘)需 sudo,脚本中谨慎使用 root 权限。
  2. 路径问题
    • 脚本中使用绝对路径(如 /home/pi/ 而非 ),避免因环境变量出错。
  3. 资源占用
    • 长期运行的任务(如 tmux)需监控 CPU/内存:tophtop
  4. 备份历史文件
    • 定期备份 ~/.bash_history 到外部存储,防止 SD 卡损坏丢失。

总结建议

  • 日常命令:通过 .bashrc 配置永久保存历史记录。
  • 重复任务:保存为脚本并添加执行权限。
  • 长时间任务:使用 tmuxscreen 维持会话。
  • 开机自启:通过 systemd 服务实现自动化。

引用说明:本文方法参考树莓派官方文档(raspberrypi.com/documentation)及 Linux 命令行权威指南《The Linux Command Line》(William Shotts 著),系统服务配置遵循 systemd 标准规范(freedesktop.org)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5457.html

(0)
酷番叔酷番叔
上一篇 2025年6月23日 23:13
下一篇 2025年6月23日 23:37

相关推荐

  • atlas7linux是什么?Linux新系统有何独特优势?

    atlas7linux是一款专为空间数据与地理信息系统(GIS)应用优化的轻量级Linux操作系统,其核心设计目标是通过整合Linux内核底层优化与GIS专用工具链,为测绘、城市规划、环境监测等领域提供高效、稳定且易用的计算环境,作为第七代迭代产品,atlas7linux基于Linux 5.15 LTS内核构建……

    2025年10月25日
    3200
  • ASP连接SQL2005数据库代码该怎么写?

    ASP连接SQL2005数据库连接代码在Web开发中,ASP(Active Server Pages)是一种经典的服务器端脚本技术,常用于构建动态网页,而SQL Server 2005作为一款功能强大的关系型数据库管理系统,广泛应用于企业级数据存储与管理,本文将详细介绍如何使用ASP连接SQL Server 2……

    2025年11月26日
    1600
  • ASP银联支付接口如何配置与调试?

    ASP银联支付接口在电子商务和线上支付快速发展的今天,支付接口的稳定性和安全性是平台运营的核心,ASP银联支付接口作为一种主流的在线支付解决方案,依托中国银联的强大背景,为商户提供了高效、安全、便捷的支付服务,本文将详细介绍ASP银联支付接口的特点、优势、接入流程及注意事项,帮助商户更好地理解和使用这一支付工具……

    2025年11月22日
    1700
  • 安全组重启操作可能导致哪些网络服务问题?如何有效应对?

    安全组是云环境中用于控制虚拟机、数据库等云资源网络流量的核心安全组件,相当于虚拟防火墙,通过定义入站和出站规则来允许或拒绝特定端口的访问,虽然安全组本身是静态配置对象,不具备传统服务的“重启”功能,但用户常说的“安全组重启”通常指让修改后的安全组规则立即生效,或解决因配置异常导致的流量控制问题,这一操作在不同云……

    2025年10月18日
    3200
  • 如何实现asp隐藏跳转地址的具体方法?

    在网站开发中,隐藏跳转地址是常见的需求,尤其在保护目标资源、防止恶意爬取或管理跳转统计等场景下,ASP作为经典的服务器端脚本语言,提供了多种方式实现跳转地址的隐藏,核心思路是通过服务器端处理跳转逻辑,让客户端仅接触中间页面或参数,而无法直接获取真实目标URL,以下将详细介绍几种常用实现方法及其优缺点对比,实现方……

    2025年10月19日
    4000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信