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

临时保存:使用 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

相关推荐

  • 关系型数据库和非关系型数据库的区别是什么,数据库选型

    2026年,关系型数据库(RDBMS)与非关系型数据库(NoSQL)并非简单的替代关系,而是基于数据一致性、并发吞吐量及架构扩展性需求的互补选型,核心结论是:金融核心交易与强一致性场景首选RDBMS,而高并发读写、非结构化数据及海量日志场景应优先采用NoSQL,在数字化转型深水区,数据架构的选型直接决定了系统的……

    2026年6月5日
    1800
  • ASP登录闲置时间如何设置?

    在Web应用程序开发中,用户登录后的闲置时间管理是一个关键的安全性与用户体验设计要素,以ASP(Active Server Pages)技术为例,合理设置和处理用户闲置时间,既能保障账户安全,又能优化系统资源利用,本文将围绕ASP登录闲置时间的实现机制、配置方法及最佳实践展开详细说明,闲置时间的核心概念用户闲置……

    2025年12月31日
    11000
  • ASP错误转换的常见问题及解决方法有哪些?

    在Web开发早期,ASP(Active Server Pages)作为微软的服务器端脚本环境,广泛应用于动态网页开发,随着技术迭代,ASP应用的错误处理机制逐渐暴露出局限性,如错误信息暴露安全风险、调试效率低、难以适配现代架构等,对ASP错误进行转换与优化,成为维护老旧系统或迁移至新平台的关键环节,本文将详细解……

    2025年10月25日
    12800
  • asp登录页代码

    在构建Web应用程序时,登录功能是最基础且关键的安全模块之一,ASP(Active Server Pages)作为一种经典的Web开发技术,提供了灵活的方式来创建动态登录页面,下面将详细介绍ASP登录页的核心代码实现逻辑、安全注意事项及优化建议,登录页面的基本结构一个标准的ASP登录页面通常包含两个主要部分:前……

    2026年1月7日
    11700
  • 关系型数据库面临哪些关键局限性?关系型数据库缺点

    关系型数据库在应对海量非结构化数据、高并发读写及弹性扩展场景时存在显著局限性,其核心痛点在于垂直扩展成本高、Schema变更僵化及分布式一致性难以平衡,因此现代架构正加速向NoSQL或NewSQL混合模式演进,传统架构的瓶颈与2026年现状尽管关系型数据库(RDBMS)凭借ACID特性和SQL标准在金融、政务等……

    2026年6月2日
    1700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信