Linux 命令历史

简介:

命令历史:shell进程会在其会话中保存此前用户提交执行过的命令;

~]#history

定制history的功能,可通过环境变量实现;

HISTSIZE:shell进程可保留的命令历史的条数;

~]# echo $HISTSIZE

1000

HISTFILE:持久保存命令历史的文件;

.bash_history

~]# cat .bash_history

HISTFILESIZE:命令历史文件的大小;

~]# echo $HISTFILE

/root/.bash_history

~]# echo $HISTFILESIZE

1000

                    

命令用法:

  history [-c] [-d 偏移量] [n]

  或history -anrw [文件名]

  或history -ps 参数 [参数...]

   -a:追加本次会话新执行的命令历史列表至历史文件中

   -c:清空命令历史;

   -d:删除指定命令历史

   -r:从文件读取命令历史至历史列表中

   -w:把历史列表中的命令追加至历史文件中

   history #:显示最近的#条命令

                   

调用命令历史列表中的命令:

  !#:再一次执行历史列表中的第#条命令

  !!:再一次执行上一条命令:

  !STRING:再一次执行命令历史列表中最近一个以STRING开头的命令

      注意:命令的重复执行有时候需要依赖于幂等性;

调用上一条命令的最后一个参数;

快捷键:ESC,.

        字符串:!$

控制命令历史记录的方式:

环境变量:HISTCONTROL

~]# echo $HISTCONTROL

     ignoredups     #忽略重复的命令;

     ignorespace:   忽略以空格开头的命令

     ignoreboth:    以上两者同时生效

修改变量的值:

  NAME='VALUE'

 ~]#HISTCONTROL=ignorespace


命令示例:

可保留命令条数:

1
2
[root@note1 ~] # echo $HISTSIZE            #保留1000条
1000

历史文件位置:

1
2
[root@note1 ~] # echo $HISTFILE            #由于是隐藏文件,可使用ls -a查看
/root/ .bash_history

清空history:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@note1 ~] # history -c       #清空历史
[root@note1 ~] # history          #没有命令了
     1   history
[root@note1 ~] # cat -n .bash_history         #清除的只是history中记录.bash_history没有清空
      1   history
      2   cat  .bash_history 
      3   history  -r
[root@note1 ~] # history -r       #使用-r参数读书命令历史(.bash_history)到history中
[root@note1 ~] # history          #再次输入history,能查看历史命令了
     1   history
     2   history  -r
     3   history
     4   cat  .bash_history

调用历史命令列表中的命令:

历史命令中第292条命令是curl -I www.baidu.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
   290   echo  $HISTFILE
   291   echo  $HISTFILESIZE
   292  curl -I www.baidu.com
   293   history
[root@note1 ~] # !292                       #!292表示执行第292条历史命令
curl -I www.baidu.com
HTTP /1 .1 200 OK
Server: bfe /1 .0.8.14
[root@note1 ~] # !curl                      #!curl表示执行最近一次带有curl的命令
curl -I www.baidu.com
HTTP /1 .1 200 OK
Server: bfe /1 .0.8.14

调用上一条命令最后一个参数:

1
2
3
[root@note1 ~] # echo $HISTFILESIZE
1000
[root@note1 ~] # ls $HISTFILESIZE           # $HISTFILESIZE参数是按ESC键再按.回车后显示的

 



      本文转自cix123  51CTO博客,原文链接:http://blog.51cto.com/zhaodongwei/1832758,如需转载请自行联系原作者




相关文章
|
3天前
|
Linux
【Linux】深入理解ls命令
【Linux】深入理解ls命令
|
1天前
|
Linux Shell 开发工具
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
8 0
|
1天前
|
Linux 数据安全/隐私保护
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)(下)
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)
9 2
|
1天前
|
Linux Shell Python
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)(上)
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)
13 2
|
1天前
|
缓存 网络协议 Linux
Linux 网络命令大全,详细归纳!
【4月更文挑战第24天】
21 3
Linux 网络命令大全,详细归纳!
|
2天前
|
运维 监控 Linux
【专栏】别再只会使用简单的 ping 命令了,Linux 中这些高级 ping 命令可以提高工作效率!
【4月更文挑战第28天】Linux中的ping命令不仅用于基础网络连通性检查,还有许多高级功能。了解如`-c`(设置数据包数量)、`-i`(设置间隔时间)和`-w`(设置超时时间)等选项能提升效率。进阶技巧包括自定义数据包大小(`-s`)、详细统计信息(`-v`)、持续ping(`-t`)、指定源地址(`-S`)和多目标ping。这些在网络性能测试、故障排查和监控中极其有用。注意权限、参数选择,并结合其他工具以准确解读结果。提升网络管理技能,善用ping命令的全部潜力。
|
2天前
|
监控 Linux
【专栏】如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
【4月更文挑战第28天】在 Linux 中,掌握检查内存使用情况至关重要,因为内存问题可能导致系统性能下降甚至崩溃。本文介绍了 5 个常用的检查内存命令:1) `free` 提供内存和交换区的详细信息;2) `top` 显示进程信息及内存使用;3) `vmstat` 输出系统综合信息,包括内存动态变化;4) `pidstat` 监控特定进程的内存使用;5) `/proc/meminfo` 文件提供系统内存详细数据。了解和使用这些命令能帮助用户及时发现并解决内存相关问题,确保系统稳定运行。
|
2天前
|
Linux 网络安全 数据处理
【专栏】Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
【4月更文挑战第28天】Linux下的xxd命令是一个强大的二进制数据处理工具,用于十六进制转储和数据分析。它可以显示文件的十六进制和ASCII表示,方便查看内容、分析数据结构和比较文件。xxd支持指定输出格式、写入文件、数据提取和转换等功能。在网络安全分析、程序调试和数据恢复等领域有广泛应用。通过掌握xxd,用户能更深入理解和处理二进制数据。
|
2天前
|
安全 Linux 数据安全/隐私保护
【专栏】如何在 Linux 中使用 Chage 命令,修改 Linux 系统用户密码更改策略
【4月更文挑战第28天】`Chage` 命令在 Linux 中用于管理用户密码策略,包括有效期、过期警告和锁定。本文将介绍如何使用 `chage` 修改这些设置。通过 `chage -l` 查看用户策略,`-M` 设置最大有效期,`-W` 设置过期警告,`-I` 设置过期后锁定天数。文章还将探讨企业环境和特殊用户的应用案例,以及使用时的注意事项,如谨慎修改、通知用户和验证效果。了解并有效利用 `Chage` 可提升系统安全性和稳定性。
|
2天前
|
Linux
【专栏】如何在 Linux 中查找所有符号链接,这几个命令得会!
【4月更文挑战第28天】在Linux中,符号链接是特殊的文件类型,指向其他文件或目录。本文介绍了查找符号链接的三种方法:1) 使用`ls -l`查看文件类型为'l'的项;2) 使用`find / -type l`遍历文件系统;3) 使用`lsof -L`列出打开的链接。此外,还讨论了命令的详细用法、高级技巧和应用场景,并提供了实际案例。注意权限、系统负载和目标文件存在性等问题。掌握这些命令有助于管理和维护系统符号链接。