文档章节

Linux查看历史命令 history

Junn
 Junn
发布于 2014/03/06 19:27
字数 958
阅读 322
收藏 0
点赞 0
评论 0

[root@linux ~]# history [n]
[root@linux ~]# history [-c]
[root@linux ~]# history [-raw] histfiles

Linux的history记录了操作命令,追加到一个文件,位置:~/.bash_history
/root/.bash_history    /home/oracle/.bash_history

参数:
n  
:数字,意思是要列出最近的 n 笔命令列表的意思!
-c 
:将目前的 shell 中的所有 history 内容全部消除
-a 
:将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles
     
则预设写入 ~/.bash_history   如 history -a aa.txt 写入到aa文件中去
-r 
:将 histfiles 的内容读到目前这个 shellhistory 记忆中;
-w 
:将目前的 history 记忆内容写入 histfiles 中!
范例:

范例一:列出目前记忆体内的所有 history 记忆
[root@linux ~]# history
#
前面省略
 1017 man bash
 1018 ll
 1019 history
 1020 history
#
列出的资讯当中,共分两栏,第一栏为该指令在这个 shell 当中的代码,
#
另一个则是指令本身的内容喔!至于会秀出几笔指令记录,则与 HISTSIZE 有关!

范例二:列出目前最近的 3 笔资料
[root@linux ~]# history 3
 1019 history
 1020 history
 1021 history 3

范例三:立刻将目前的资料写入 histfile 当中
[root@linux ~]# history -w
#
在预设的情况下,会将历史纪录写入 ~/.bash_history 当中!
[root@linux ~]# echo $HISTSIZE
1000

在正常的情况下,当我们以 bash 登入 Linux 主机之后,系统会主动的由家目录的 ~/.bash_history 读取以前曾经下过的指令,那么 ~/.bash_history 会记录几笔资料呢?这就与你 bashHISTSIZE 这个变数设定值有关了!在预设的 FC4 底下,是会记录 1000 笔资料的! 那么假设我这次登入主机后,共下达过 100 次指令,等我登出时, 系统就会将 101~1100 这总共 1000 笔历史命令更新到 ~/.bash_history 当中。 也就是说,历史命令在我登出时,会将最近的 HISTSIZE 笔记录到我的纪录档当中啦!当然,也可以用 history -w 强制立刻写入的!那为何用更新两个字呢? 因为 ~/.bash_history 记录的笔数永远都是 HISTSIZE 那么多,旧的讯息会被主动的拿掉!仅保留最新的!

那么 history这个历史命令只可以让我查询命令而已吗?呵呵!当然不止啊! 我们可以利用相关的功能来帮我们执行命令呢!举例来说啰:

[root@linux ~]# !number
[root@linux ~]# !command
[root@linux ~]# !!
参数:

number  :执行第几笔指令的意思;
command
:由最近的指令向前搜寻指令串开头为 command’的那个指令,并执行;
!!     
:就是执行上一个指令(相当于按按键后,按 Enter)
范例:
[root@linux ~]# history
  66 manrm
  67 alias
  68 manhistory
  69 history
[root@linux ~]# !66 <==
执行第66 笔指令
[root@linux ~]# !!  <==
执行上一个指令,本例中亦即 !66
[root@linux ~]# !al <==
执行最近以 al 为开头的指令(上头列出的第 67)

经过上面的介绍,历史命令用法可多了!如果我想要执行上一个指令,除了使用上下键之外,我可以直接以 !! 来下达上个指令的内容,此外, 我也可以直接选择下达第 n 个指令,‘ !n’来执行,也可以使用指令标头,例如 !vi来执行最近指令开头是 vi的指令列!还有‘!net来执行最近指令开头是 net的指令列如netstat等等..!相当的方便而好用!基本上 history 的用途很大的!但是需要小心安全的问题!尤其是 root 的历史纪录档案!因为不小心的 root 会将很多的重要资料在执行的过程中会被纪录在 ~/.bash_history当中,如果这个档案被解析的话,后果不堪呐!无论如何,使用 history 配合‘ !’曾经使用过的指令下达是很有效率的一个指令方法!!

© 著作权归作者所有

共有 人打赏支持
Junn
粉丝 145
博文 412
码字总数 288918
作品 0
海淀
高级程序员
Linux中history历史命令使用方法详解

注意:上下箭头按键本身就可以访问到历史的命令信息 当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升。一旦掌握了下面给...

Amamatthew
2014/08/20
0
0
如何在 Linux 中使用 history 命令

用强大的 history 命令使你的命令行提示符更有效率。 随着我在终端中花费越来越多的时间,我感觉就像在不断地寻找新的命令,以使我的日常任务更加高效。GNU 的 命令是一个真正改变我日常工作...

18%
06/26
0
0
Linux基础入门第一周作业【Linux微职位】

1、描述计算机的组成及其功能。 按照冯诺依曼计算机体系结构模型,计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。 1、运算器主要功能是完成各种算数及逻辑运算。 2、控制...

akatsuki1023
06/29
0
0
linux查看系统的日志的一些实用操作

原地址:http://www.mamicode.com/info-detail-473318.html last -a 把从何处登入系统的主机名称或ip地址,显示在最后一行。 -d 指定记录文件。指定记录文件。将IP地址转换成主机名称。 -f  ...

Jack崔
06/29
0
0
相对,绝对路径,cd,rm,history,mkdir/rmdir,touch及 tree命令

一.绝对路径和相对路径 在Linux中,什么是一个文件的路径? 简单的说,就是这个文件存放的地方。 绝对路径: 路径的写法一定是有根目录/写起的。例如: /usr/local/mysql 相对路径:路径的写法不...

乐猿
2017/10/18
0
0
linux 命令之history

history 是历史查看的常用命令,下面是总结的一些工作上常用的使用技巧: 1.history: 查看当前系统命令的历史纪录,默认1000条 2.echo $HISTSIZE :显示默认条数 3.history -c:清空历史纪录,...

FollowerMAGE
06/28
0
0
Linux命令-history

命令历史是bash提供的功能之一,记录之前我们执行过的命令(也包括执行失败的命令)。 我们可以通过history命令查看命令历史: 那么,这些历史命令保存在哪里呢? 历史命令保存在~/.bash_his...

小辉hui
2014/04/28
0
0
Linux入侵分析(三)清理木马和问题用户

1.查看哪些用户拥有/bin/bash权限 cat /etc/passwd 2.检查常用命令是否被篡改 (1)找到命令文件的路径(whereis和which) (2)观察命令的属性,主要看修改时间和大小(stat和ll) 如果发现...

Mike_Rock_Cloud
05/10
0
0
shell介绍、命令历史、补全、别名、通配符、输入/输出重定向

shell介绍 shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。 用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去...

黄昏残影
06/28
0
0
linux清空MySQL的history历史记录、删除mysql操作记录

mysql历史记录上可能留下了很多敏感信息,比如密码什么的,需及时清空历史记录。 分享下Linux服务器清空MySQL数据库的history历史记录的方法 1. 不再保存历史记录或者减少历史记录保存数量 修...

夏日晚晴天
2014/01/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CoreText进阶(五)- 文字排版样式和效果

CoreText进阶(五)- 文字排版样式和效果 效果 以下是三个设置了不同属性的效果图 第一个设置了文字颜色为红色,字体为16号 第二个设置了文字颜色为灰色,字体为16号,对其为居中 第三个设置...

aron1992
21分钟前
1
0
10.23 linux任务计划cron~10.27 target介绍

crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是...

洗香香
31分钟前
0
0
告警系统主脚本、告警系统配置文件、告警系统监控项目

20.20 告警系统主脚本 告警系统主脚本 main.sh内容 #!/bin/bash#Written by aming.# 是否发送邮件的开关export send=1# 过滤ip地址export addr=`/sbin/ifconfig |grep -A1 "en...

lyy549745
34分钟前
0
0
Don’t Repeat Yourself

在软件工程中,Don’t Repeat Yourself(DRY)是软件开发的原则,旨在减少重复,用抽象代替它,使用数据规范化来避免冗余。 这个原则在维基百科上是说是由Andy Hunt和Dave Thomas《The Pragmat...

woshixin
36分钟前
0
0
搭建webpack项目框架

作者:汪娇娇 时间:2018年6月4日 一、说明 随着业务发展和前端人员的增加,搭建一个通用框架以及制定统一规范就成了必然。对于选型这方面,一开始好像就没考虑其他框架,直接选了webpack。w...

娇娇jojojo
44分钟前
0
0
Java基础——面向对象(内部类)

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 内部类: 1.有名内部类 2.无名内部类 内部类申请...

凯哥学堂
52分钟前
0
0
HttpClient内部三个超时时间的区别

RequestConfig requestConfig = RequestConfig.custom() .setConnectionRequestTimeout(config.connReqTimeout) //从连接池中获取连接的超时时间 ......

1713716445
今天
0
0
每天一个命令SCP

每天一个命令:SCP scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速...

河图再现
今天
0
0
cron/chkconfig/systemd/unit/target

linux任务计划 : cron工具 任务计划在运维工作中用到的比较多,大部分系统管理工作都是通过定期自动执行某个脚本来完成。 查看linux中任务计划的配置文件: /etc/crontab [root@yolks-001 ~]...

Hi_Yolks
今天
1
0
ftp攻略

Vsftpd完全攻略(一)ftp原理与vsftp安装:https://www.iyunv.com/thread-44698-1-1.html Vsftpd完全攻略(二)设置匿名用户也支持下载和上传与创建目录:https://www.iyunv.com/forum.php?mo...

寰宇01
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部