每天走多少步最健康?

保存已执行的命令历史

Linux会自动记录用户在终端输入的命令(称为”命令历史”),默认保存在用户家目录的.bash_history文件中(Bash shell环境)。

查看历史命令

history
  • 显示当前会话的所有历史命令(编号 + 命令内容)。
  • 通过 !编号 可快速执行历史命令(如 !203 执行第203条命令)。

手动保存历史命令

默认情况下,历史命令在终端退出时自动保存,若需立即保存,执行:

history -a
  • -a 选项:将新增的历史命令追加到 ~/.bash_history 文件。
  • -w 选项:覆盖整个历史文件(谨慎使用)。

配置历史命令保存规则

编辑 ~/.bashrc 文件,优化历史记录:

nano ~/.bashrc

添加以下配置:

# 保存10000条历史记录
HISTSIZE=10000
HISTFILESIZE=10000
# 实时追加命令到历史文件(避免丢失)
PROMPT_COMMAND='history -a'

生效配置:

source ~/.bashrc

备份历史命令

将历史文件复制到安全位置:

cp ~/.bash_history ~/backup_command_history.txt

将命令或输出保存到文件

保存命令本身到文件

将命令文本(而非执行结果)存储为脚本或文档:

# 直接写入文件
echo "ls -l" > ~/my_commands.txt
# 追加多条命令
{
  echo "df -h"
  echo "free -m"
} >> ~/my_commands.txt

保存命令输出到文件

使用重定向操作符捕获命令执行结果:

# 覆盖写入文件
ls -l > file_list.txt
# 追加输出到文件
date >> system_log.txt
# 同时保存输出和错误信息
sudo apt update &> update_log.txt

使用 tee 同时输出到屏幕和文件

# 覆盖写入
ping example.com | tee ping_results.txt
# 追加写入
top -n 1 | tee -a system_stats.txt

创建可执行脚本

将常用命令保存为脚本,赋予执行权限:

# 创建脚本
echo -e '#!/bin/bash\ndf -h\nfree -m' > ~/system_check.sh
# 赋予执行权限
chmod +x ~/system_check.sh
# 运行脚本
./system_check.sh

高级技巧与注意事项

  1. 历史命令安全

    • 敏感命令(如含密码)可通过配置 HISTIGNORE 忽略记录。
    • 使用 history -c 清除当前会话历史(退出前不会影响 .bash_history)。
  2. 输出保存的权限问题
    需写入文件的目录必须有写权限,否则用 sudo 提权(但避免直接重定向 sudo 输出,推荐 tee):

    sudo dmesg | sudo tee /root/dmesg_log.txt >/dev/null
  3. 长期归档
    定期压缩历史文件节省空间:

    gzip ~/.bash_history  # 生成 .bash_history.gz
  4. 跨会话同步
    通过 PROMPT_COMMAND='history -a' 实现实时同步,避免多终端覆盖历史记录。


  • 保存历史命令:依赖 history 机制和 ~/.bash_history 文件,通过配置优化记录行为。
  • 保存命令/输出:使用 >、>> 重定向或 tee 工具,敏感操作注意权限控制。
  • 最佳实践:定期备份历史文件,对脚本添加注释,关键操作前验证命令逻辑。

引用说明基于 Linux 官方文档(Bash 手册页)、Unix/Linux 系统管理标准实践(如《Linux命令行与Shell脚本编程大全》),以及开源社区公认的安全操作指南(如 GNU Bash 手册),具体命令可通过 man history 或 info bash 查看权威解释。

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

赞 (0)
酷番叔酷番叔
上一篇 2025年6月28日 02:15
下一篇 2025年6月28日 02:37

相关推荐

  • 关系型数据库多租户模式,如何实现高效与安全?

    关系型数据库多租户的核心在于通过逻辑隔离或物理隔离技术,在单一数据库实例中为不同租户提供数据安全性、资源独立性及成本效益的平衡,目前行业主流方案倾向于采用“共享实例+逻辑隔离”以兼顾性能与成本,多租户架构的核心逻辑与隔离策略在2026年的云原生环境下,关系型数据库的多租户实现已不再局限于简单的Schema划分……

    2026年6月4日
    14800
  • 关系型数据库标准语言是什么,SQL

    关系型数据库标准语言即SQL,它是目前唯一被ANSI和ISO标准化、且在全球金融、电信及核心业务系统中占据绝对主导地位的数据库交互语言,任何试图完全替代SQL的尝试在可预见的未来均无法撼动其地位,SQL的核心定义与标准化演进SQL(Structured Query Language,结构化查询语言)并非某一家公……

    2026年5月30日
    10100
  • 路由器命令怎么用?从入门到避坑指南

    路由器命令使用指南:从基础配置入门到高级功能实现,涵盖常用命令、安全设置、故障排除等关键操作,强调配置前备份、理解命令作用、谨慎执行高风险指令,确保网络稳定与安全。

    2025年6月18日
    40600
  • ASP遍历list对象有哪些常用方法?

    在ASP开发中,遍历List(列表)是一项常见操作,尽管经典ASP没有原生的List集合类型,但开发者通常通过数组、Scripting.Dictionary对象或自定义集合来模拟列表功能,掌握正确的遍历方法,能高效处理数据展示、逻辑判断等需求,本文将详细介绍ASP中遍历模拟列表的几种主流方式,并附上实用示例和注……

    2025年11月17日
    20700
  • ASP简单购物网站源码如何获取?

    asp简单购物网站源码是一种基于ASP(Active Server Pages)技术开发的电子商务解决方案,适合初学者学习和小型商业网站快速搭建,本文将详细介绍其核心功能、技术架构、开发流程及注意事项,帮助读者全面了解这一开发工具,技术架构与开发环境ASP简单购物网站源码通常采用B/S(浏览器/服务器)架构,后……

    2025年12月15日
    17100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信