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

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

相关推荐

  • cmdip无效?正确操作是ipconfig吗?

    正确命令及输入方法打开命令提示符(CMD)方法1:通过搜索栏按下键盘 Win + S 组合键 → 输入“cmd” → 点击“命令提示符”或“以管理员身份运行”,方法2:通过运行窗口按下 Win + R → 输入 cmd → 按回车(Enter),方法3:任务管理器Ctrl + Shift + Esc 打开任务管……

    2025年6月23日
    4300
  • 易语言如何调用CMD命令行?

    易语言通过运行命令或CreateProcess API调用CMD,实现执行命令、启动程序及系统管理,指南包含核心方法、代码示例与安全实践。

    2025年6月21日
    5900
  • 电脑突然关机怎么立即取消?

    在Linux系统中,若您已通过命令行执行了关机计划(如使用shutdown命令),但需要临时取消该操作,可通过以下详细步骤实现,本文内容基于Linux通用规范,适用于Ubuntu、CentOS、Debian等主流发行版,并严格遵循操作系统的权限管理机制,使用 shutdown -c 命令命令格式:sudo sh……

    2025年7月5日
    4600
  • HC-05蓝牙命令发送操作指南

    向HC-05蓝牙模块发送命令需进入AT模式:接线后按住模块按钮上电,指示灯慢闪表示进入,使用串口调试工具(如Arduino IDE串口监视器),选择正确波特率(通常38400),通过串口发送AT指令(如AT),每条指令以回车换行结尾。

    2025年7月2日
    5800
  • 如何命令行关闭虚拟机系统?

    vmrun 命令适用于VMware Workstation、Fusion及vSphere环境(需安装vCLI或PowerCLI),操作步骤:打开命令行终端Windows:cmd 或 PowerShellLinux/macOS:Terminal定位到VMware安装目录(仅限本地环境)cd "C:\Pr……

    2025年7月10日
    4700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信