Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux之history使用技巧

linux之history使用技巧

原创
作者头像
入门笔记
发布于 2022-05-10 14:20:57
发布于 2022-05-10 14:20:57
79908
代码可运行
举报
文章被收录于专栏:入门小站入门小站
运行总次数:8
代码可运行

/etc/bashrc配置history的变量

代码语言:txt
AI代码解释
复制
> vim /etc/bashrc
export HISTTIMEFORMAT="%Y-%m-%d:"
> source /etc/bashrc
> history
1006  2021-05-19:vim /etc/bashrc 
1007  2021-05-19:history 
1008  2021-05-19:source /etc/bashrc 
1009  2021-05-19:history 

或者

代码语言:txt
AI代码解释
复制
> vim /etc/bashrc
export HISTTIMEFORMAT="%F %T:"
> source /etc/bashrc
> history
1009  2021-05-19 22:35:24:history 
1010  2021-05-19 22:36:40:vim /etc/bashrc 
1011  2021-05-19 22:37:02:source /etc/bashrc 
1012  2021-05-19 22:37:07:history 

或者

代码语言:txt
AI代码解释
复制
> vim /etc/bashrc
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S `whoami`"
> source /etc/bashrc
> history
1012  2021-05-19 22:37:07 root:history 
1013  2021-05-19 22:37:41 root:vim /etc/bashrc 
1014  2021-05-19 22:38:06 root:source /etc/bashrc 
1015  2021-05-19 22:38:08 root:history 

或者

代码语言:txt
AI代码解释
复制
> vim /etc/bashrc
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S `who am i | awk '{print $1,$5}'`"
> source /etc/bashrc
> history
1021  2021-05-19 22:42:59 root (171.43.176.3):history 
1022  2021-05-19 22:43:03 root (171.43.176.3):source /etc/bashrc 
1023  2021-05-19 22:43:06 root (171.43.176.3):vim /etc/bashrc 
1024  2021-05-19 22:43:19 root (171.43.176.3):source /etc/bashrc 
1025  2021-05-19 22:43:21 root (171.43.176.3):history 

history设置历史命令记录数

代码语言:txt
AI代码解释
复制
> vim /etc/bashrc
# 保存1000条记录
export HISTSIZE=1000
> source /etc/bashrc

指定不同终端执行的命令都存储在同一个文件中

代码语言:txt
AI代码解释
复制
> vim /etc/bashrc
export HISTFILE=/var/log/.cmd_log
> source /etc/bashrc

忽略重复命令

代码语言:txt
AI代码解释
复制
> vim /etc/bashrc
export HISTCONTROL=ignoredups  
> source /etc/bashrc

多个终端同时操作时,避免命令覆盖,采用追加方式

代码语言:txt
AI代码解释
复制
> shopt -s histappend

实时写入

实际上history的历史命令是写入.bash_history 中的。 ~/.bash_history 记录的是前一次登陆所运行过的命令,而本次登陆所运行的命令都被缓存在内存中,当退出系统后,本次的命令记忆才会记录到 .bash_history 中。

代码语言:txt
AI代码解释
复制
> PROMPT_COMMAND='history -a'

完全清除命令执行操作的历史记录

  • 清理历史记录(只是清理了表层,可在.bash_history找到回)
代码语言:txt
AI代码解释
复制
> history
  • 清理记录历史的记录文件内容
代码语言:txt
AI代码解释
复制
> echo " " > .bash_history 

关于history的小技巧

  • !number 执行第几条命令
  • !command 从最近的命令查到以command开头的命令执行
  • !! 执行上一条

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
bash魔法堂:History用法详解
Brief                                 又要敲那条长到没朋友的命令了,真心不再爱了。。。   有了history这条命令我想大家可以再爱一次了吧! >history                               语法: history [n | -c | -raw histfile]   n —— 数字,用于表示罗列最近的n笔命令   -c —— 表示清除history中的所有内容(实质上是清理$HISTFILE中保存的内容)   -a —— 表示将当前会
^_^肥仔John
2018/01/18
6710
Shell 历史记录异地留痕审计与监控
Shell 历史记录异地留痕审计与监控 摘要 ---- 目录 1. 什么是Shell历史记录异地留痕与监控 2. 什么要将Shell历史记录异地留痕并监控 3. 何时做历史记录异地留痕 4. 在哪里做历史记录异地留痕 5. 角色与权限 6. 怎么实现历史记录异地留痕 6.1. 节点配置 6.2. 推送端 6.3. 收集端 7. 延伸阅读 1. 什么是Shell历史记录异地留痕与监控 首先谈谈什么是“历史记录异地留痕”,历史记录就是~/.bash_history文件,不同Shell名字可能不同,它会记录每次用
netkiller old
2018/03/05
7710
linux之history命令
原文链接:https://rumenz.com/rumenbiji/linux-history.html
入门笔记
2021/10/07
1.3K0
谁动了我的Linux?原来history这么强大!
在平时 Linux 操作过程中,很多命令是重复的,你一定不希望大量输入重复的命令。如果你是系统管理员,你可能需要对用户操作进行审计,管理好 Linux 命令历史记录显得非常重要。
用户3105362
2021/04/28
1.8K0
谁动了我的Linux?原来history这么强大!
linux下用户操作记录审计环境的部署记录
通常,我们运维管理人员需要知道一台服务器上有哪些用户登录过,在服务器上执行了哪些命令,干了哪些事情,这就要求记录服务器上所用登录用户的操作信息,这对于安全维护来说很有必要。废话不多说了,下面直接记录做法: 1)查看及管理当前登录用户 使用w命令查看当前登录用户正在使用的进程信息,w命令用于显示已经登录系统的用户的名称,以及它们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括: -> 用户名称 -> 用户的机器名称或tty号 -> 远程主机地址 -> 用户登录系统的时间
洗尽了浮华
2018/01/23
2.1K0
解决CentOS 7 history命令不显示操作记录的时间和用户身份问题
centos6 中history命令显示操作命令的时间和用户身份 [root@bdkyr ~]# history   294  2017-01-06 16:46:48  root clear   295  2017-01-06 16:46:50  root ll   296  2017-01-06 16:46:52  root cat hostname.sh    297  2017-01-06 16:46:56  root cat nginxlog_cut.sh    298  2017-01-06 16:47:29  root clear   299  2017-01-06 16:47:34  root history [root@bdkyr ~]# cat /etc/redhat-release  CentOS release 6.6 (Final) [root@bdkyr ~]# 而centos7中,history命令中不显示操作命令的时间和用户身份 [root@bdkyr data]# cat /etc/redhat-release  CentOS Linux release 7.2.1511 (Core)  [root@localhost data]# history -n 10 [root@localhost data]# history 10  1268  \  1269  history  1270  cat /etc/redhat-release   1271  clear  1272  cat /etc/redhat-release   1273  history  1274  clear  1275  cat /etc/redhat-release   1276  history -n 10  1277  history 10 [root@bdkyr data]# 解决该问题只需要在/etc/profile中添加如下变量即可: export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  `whoami` " 然后运行source /etc/profile命令即可,注意引号中的空格 [root@bdkyr data]# history 10  1273  2017-01-05 19:40:18  root history  1274  2017-01-05 19:40:27  root clear  1275  2017-01-05 19:40:29  root cat /etc/redhat-release   1276  2017-01-05 19:40:35  root history -n 10  1277  2017-01-05 19:40:39  root history 10  1278  2017-01-05 19:41:12  root cat /etc/profile  1279  2017-01-05 19:42:16  root vim  /etc/profile  1280  2017-01-05 19:42:26  root source  /etc/profile  1281  2017-01-05 19:42:28  root history  1282  2017-01-05 19:42:42  root history 10 [root@bdkyr data]# 至此history命令输出结果格式完美解决,如果要清除历史记录,可以运用history -c,具体history用法如下: history命令的用法及参数usage: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...] 参数: n :数字,要列出最近的若干命令列表 -c :将目前的 shell 中的所有 history 内容全部消除 -a :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles ,则预设写入 ~/.bash_history -r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中 -w :将目前的 history 记忆内容写入 histfiles
拓荒者
2019/06/16
2K0
history命令使用方法详解
history是一条非常实用的shell命令,可以显示出之前在shell中运行的命令,配合last显示之前登录的用户,就可以追溯是哪个用户执行了某些命令。以下详细说明history使用中常见的命令或技
三丰SanFeng
2018/01/16
1.2K0
history命令使用方法详解
Shell 历史记录异地留痕审计与监控
Shell 历史记录异地留痕审计与监控 摘要 我的系列文档 编程语言 Netkiller Architect 手札Netkiller Developer 手札Netkiller PHP 手札Netkiller Python 手札Netkiller Testing 手札Netkiller Cryptography 手札Netkiller Perl 手札Netkiller Docbook 手札Netkiller Project 手札Netkiller Java 手札Netkiller DevOps 手札 操作
netkiller old
2018/03/05
9290
linux history 历史命令行查询和使用
history命令:用于显示历史记录和执行过的指令命令,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。
全栈程序员站长
2022/09/14
3K0
linux history 历史命令行查询和使用
linux之history命令
显示或操作历史列表。 命令语法 history [-c] [-d offset] [n] history -anrw [filename] history -ps arg [arg...] 命令功能 显示历史列表。 操作历史列表。 命令选项 -a 将当前内存的历史记录追加(append)到历史文件中 -n 从历史文件中读取当前内存记录里未读取的行输出 -r 从历史文件中读取所有记录附加到内存历史记录 -w 从内存历史中读取数据覆盖到历史记录文件中,可以指定文件保存记录 -p 将参数输出为列表,但不
入门笔记
2022/06/02
1.3K0
Linux 的 history 命令使用大全
history命令:用于显示历史记录和执行过的指令命令。history命令读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。
全栈程序员站长
2022/09/07
1.2K0
LinuxShell命令history
其中,FILE 用于指定保存历史命令列表的文件,默认是~/.bash_history 文件。若未指定任何选项参数,则默认显示保存的所有历史命令列表。
hotarugali
2022/02/28
5450
history、重定向、alias 原
语法: history [-c] -c:=clear 清除内存中的命令,不能删除配置文件中的历史命令
阿dai学长
2019/04/03
7150
Linux 系统与数据库安全
目录 1. 帐号安全 1.1. Shell 安全 1.2. .history 文件 2. 临时文件安全 3. 其他安全问题 4. 防火墙配置 5. 数据库安全 5.3.1. 数据备份 5.3.2. 数据恢复 5.2.1. bind-address 5.2.2. mysql 管理 5.2.3. ~/.mysql_history 5.1. 数据库程序安全 5.2. 数据库客户端安全 5.3. mysqldump 安全 5.4. crontab 定时备份脚本于安全 5.5. 数据库归档文件 5.6. 开发与测试环
netkiller old
2018/03/05
1.2K0
linux基础(day23)
8.1 shell介绍 shell介绍 shell是一个命令解释器,提供用户和机器之间的交互 支持特定语法,比如逻辑判断、循环 每个用户都可以有自己特定的shell CentOS7默认shell为bash (Bourne Agin Shell) 还有zsh、ksh等——>用法和bash相似,但是细节还是有一定差异 查询zsh包——>yum list |grep zsh 查询ksh包——>yum list |grep ksh 8.2 命令历史 命令历史 history //查看之前的命令 .bash_
运维小白
2022/01/06
5420
Centos7系统下修改主机名、清理linux日志和操作记录 - 运维笔记
一、修改主机名 习惯了在Centos6系统下修改主机名的操作,但是Centos7下修改主机名的操作却大不相同!操作笔记如下:
洗尽了浮华
2022/03/28
9600
Linux 命令行小技巧-持续更新
你有将Linux物尽其用吗?有些时候你会需要这些技巧。本博文会帮助你更好得使用一些命令,发挥其更强大的功能。
小小工匠
2021/08/16
9610
[1140]linux查看历史命令history
一、什么是history 在bash功能中,它能记忆使用过的命令,这个功能最大的好处就是可以查询曾经做过的举动! 从而可以知道你的运行步骤,那么就可以追踪你曾下达过的命令,以作为除错的工具!
周小董
2022/05/13
12.6K0
汇总你在 Linux 上的命令使用情况
汇总 Linux 系统上使用的命令只需一串相对简单的命令以及几条管道将它们绑定在一起。当你的历史记录缓冲区保留了最近的 1,000 或 2,000 条命令时,总结你的命令活动可能会变得很乏味。这篇文章提供了一种方便的方法来汇总命令的使用情况,并高亮显示最常用的命令。
用户1880875
2021/09/15
5240
linux中设置记录每个执行命令的时间
默认情况下,执行的所有命令 的Bash 命令存储在 ~/.bash_history、系统管理员可以查看系统上用户执行的命令列表。默认不显示命令的执行时间。 > history 965 ls -lR /var/log 966 ls -lR /var/log 967 ls -lR /var/log | grep "^-" | wc -l 968 netstat -n 969 netstat -n | awk '/tcp/ {print $5}' 970 netstat -
入门笔记
2022/06/02
2.7K0
相关推荐
bash魔法堂:History用法详解
更多 >
加入讨论
的问答专区 >
1高级后端开发工程师擅长3个领域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验