麒麟OS怎么启用终端命令执行时间显示_麒麟系统效率调试辅助功能【技巧】

星夢妙者

星夢妙者

2026-03-22

466人浏览

原创

启用histtimeformat环境变量可显示history命令执行时间,临时用export histtimeformat="%y-%m-%d %h:%m:%s ",永久则添加至~/.bashrc;旧命令无时间戳不可回填,新命令才生效。

麒麟os怎么启用终端命令执行时间显示_麒麟系统效率调试辅助功能【技巧】

history 命令默认不显示时间,必须手动启用

银河麒麟终端的 history 默认只输出编号和命令,没有执行时间——这不是 bug,是 Bash 的默认行为。时间信息其实一直存在(只要没清空过历史),只是被隐藏了。启用的关键是设置环境变量 HISTTIMEFORMAT,它控制时间如何格式化并插入到历史记录中。

  • 临时生效:在当前终端运行 export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S ",之后再执行 history 就能看到带毫秒精度的时间前缀
  • 永久生效:把这行加到 ~/.bashrc 末尾,然后运行 source ~/.bashrc;注意别写成 ~/.bash_history——那是存储文件,不是配置文件
  • 常见坑:HISTTIMEFORMAT 后面建议留一个空格,否则时间与命令会粘连(如 2026-03-21 09:53:22ls -l

已执行过的命令补加时间戳不可逆

如果你之前没设置 HISTTIMEFORMAT,那么那些老命令在 ~/.bash_history 文件里就真的没有时间字段——history 命令读取时也不会“脑补”出来。这不是缓存延迟,是数据本身缺失。

  • 验证方式:用 cat ~/.bash_history | head -n 5 直接看原始文件,如果开头没有类似 #1742541182 这样的 Unix 时间戳行,说明这些记录从诞生起就没带时间
  • 补充时间仅对新执行的命令有效;旧记录无法回填,强行用脚本重写 .bash_history 可能导致格式错乱或 history 解析失败
  • 某些麒麟版本(如 V10 SP1)默认启用了时间戳写入(即每条命令前有一行 #1742541182),但 history 命令仍需 HISTTIMEFORMAT 才会解析并显示为可读格式

grep 搜索带时间的历史命令要避开注释行

HISTTIMEFORMAT 生效后,history 输出会包含时间,但直接用 history | grep "apt" 可能漏掉结果——因为时间戳行(#1742541182)和命令行是分开的两行,而 grep 默认只匹配单行。

Dang.ai
Dang.ai

Dang.ai是一个AI工具目录集,已收集超过5000+ AI工具

下载
  • 稳妥做法:先用 history -w 强制把内存历史刷入 ~/.bash_history,再用 grep -B1 "apt" ~/.bash_history 查找命令及其前一行的时间戳
  • 快捷替代:用 history | awk '/apt/{print $0; getline; print $0}'(但依赖 history 输出格式稳定,部分麒麟定制 shell 可能不兼容)
  • 更可靠方案:直接查文件 + sed,例如 sed -n '/apt/{x;/^$/{x;b};x;p;n;};x;/^#/{x;b};x' ~/.bash_history 2>/dev/null(较复杂,日常建议用 -B1

time 命令测单次执行耗时,不是 history 时间功能

有人混淆 time lshistory 时间显示——前者是测量某条命令实际运行多久(毫秒级),后者只是记录命令何时被敲下(秒级,系统时间)。两者目的、精度、存储位置完全不同。

  • time 输出的是进程真实生命周期,受 I/O、CPU 调度影响;HISTTIMEFORMAT 记录的是 shell 读取并加入历史队列的时刻
  • 若需长期追踪某命令性能变化,不能依赖 history 时间,应结合 time + 日志重定向,例如 time ls > /dev/null 2>> ~/cmd_perf.log
  • 麒麟某些加固版本可能禁用 time 内置命令,此时可用 /usr/bin/time 替代,但要注意参数差异(如 -v vs -p

真正容易被忽略的是:HISTTIMEFORMAT 设置后,新终端窗口不会自动继承——除非你把它写进了 ~/.bashrc 并确保该文件被所有交互式 shell 加载。开一堆终端却只在一个里看到时间,大概率是这里漏了。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

麒麟os终端命令

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.27

1168

5

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

2026.02.03

125

24

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

420

3

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

2024.03.01

1487

6

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

2272

5

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.10

1166

6

unix和linux的区别
unix和linux的区别

unix和linux的区别包括发展历史、开源性、发行版本、内核、文件系统、应用程序兼容性和用户界面等。本专题为大家提供unix和linux相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.22

1184

5

墨刀AI提示词教学
墨刀AI提示词教学

本合集由PHP中文网精心整理,为您提供全面的墨刀AI提示词教学。内容涵盖高质量原型撰写公式与实操窍门,助您轻松掌握AI设计工具。无论是零基础入门还是进阶技巧,都能让您快速上手,大幅提升产品设计与协作效率。

2026.08.04

10

21

墨刀AI完整入门
墨刀AI完整入门

PHP中文网为您倾力打造墨刀AI保姆级入门指南完整版!本合集从零基础讲起,涵盖AI生成原型、提示词优化、图片转原型及多轮对话等核心功能。无论您是新手还是进阶用户,都能轻松掌握产品设计全流程。快来PHP中文网,一键解锁高效设计技巧,让想法即刻成型!

2026.08.04

8

20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.4万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 131.8万人学习