linux命令history作用,Linux命令:history命令历史的管理及用法
bash可以保存的过去曾经执行过的命令。当某个用户登录到shell中,会读取该用户家目录中的~/.bash_history文件,并将历史命令列表保存到内存中。当用户退出当前shell时,会将内存中的历史命令列表覆盖至~/.bash_history文件。
我们可以通过# histroy 来查看历史命令。history是bash的内部命令。通过# help history获取帮助。
一、history的常见选项
# history
。。。 # 省略前面994 manpoweroff995 poweroff --reboot996 manpoweroff997 manshutdown998 shutdown +2 "Goodbye SB"
999 shutdown -c1000 man rm
1001 info rm
1002 manhistory1003enable1004 enable | grephistory1005help history1006history1007 history -d 1000
1008history1009 echo$HISTORYSIZE1010 history
# history -c 清空命令历史记录
# history -d N N为整数,删除历史中序号是N的命令
# history N N为整数,显示最近N条历史
# history -a 追加本次回话新执行的命令历史列表至~/.bash_history文件
# history -r 读历史文件附加到历史列表
# history -w 保存历史列表到指定的历史文件
# history -n 读历史文件中未读过的行到历史列表
# history -p 展开历史参数成多行,但不存在历史列表中
# history -s 展开历史参数成一行,附加在历史列表后
二、调用命令历史的方法
1、重复前一个命令,有4种方法
使用方向键↑选中命令,按↑↓调整,并回车执行
输入!! 并回车执行
输入!-1 并回车执行
按Ctrl + p,调出命令,并回车执行
2、 !:0 执行前一条命令(去除参数)
3、 Ctrl + n显示当前历史中的下一条!命令,但不执行
4、 Ctrl + j执行当前命令
5、 !n 执行history命令输出对应序号为n的命令
6、 !-n执行history历史中倒数第n个命令
7、 !string 重复前一个以“string”字符串开头的命令
8、 !?string 重复前一个包含string字符串的命令
9、 !string:p 仅打印命令历史,而不执行
10、 !$:p 打印输出!$(上一条命令的最后一个参数)的内容
11、 !*:p 打印输出!*(上一条命令的所有参数)的内容
12、 ^string 删除上一条命令中的第一个string
13、 ^string1^string2将上一条命令中的第一个string1替换为string2
14、 !:gs/string1/srting2 将上一条命令中所有的string1都替换为string2
15、使用方向键↑↓键来上下浏览从前输入的命令
16、Crtl + r来在命令历史中搜索命令
进入(reverse-i-search)`':模式
17、 Crtl + g 从历史搜索模式退出
18、 重新调用前一个命令中最后一个参数,3种方法
!$
Esc . (点击Esc键后松开,然后点击.键)
Alt+. (按住Alt键的同时点击.键),在一些终端软件中屏蔽了Alt功能键,需要开启
19、command !^ 利用上一个命令的第一个参数做cmd的参数
command !$ 利用上一个命令的最后一个参数做cmd的参数
command !* 利用上一个命令的全部参数做cmd的参数
command !:n 利用上一个命令的第n个参数做cmd的参数
command !n:^ 调用第n条命令的第一个参数
command !n:$ 调用第n条命令的最后一个参数
command !n:m 调用第n条命令的第m个参数
command !n:* 调用第n条命令的所有参数
command !srting:^ 从命令历史中搜索string开头的命令,并获取它的第一个参数
command !srting:$ 从命令历史中搜索string开头的命令,并获取它的最后一个参数
command !srting:n 从命令历史中搜索string开头的命令,并获取它的第n个参数
command !srting:* 从命令历史中搜索string开头的命令,并获取它的所有参数
三、命令历史相关的环境变量
HISTSIZE:命令历史中可以保存的命令的个数,默认值为1000
HISTFILE:命令历史保存在哪个文件,默认为当前用户家目录中的.bash_history文件
HISTFILESIZE:命令历史文件可以保存的命令的个数,默认值为1000
HISTIGNORE='command1:command2:...',让历史命令不记录执行过的命令,默认为NULL
举例:HISTIGNORE='ls' #让历史文件不记录ls命令,但是如果ls命令后接任何参数(包括空格)都会记录起来。所以要完全不记录任何与ls相关的命令,需要赋值为'ls *',即 HISTIGNORE='ls *'
HISTTIMEFORMAT="%F %T-->" 执行history 命令显示的时候,带有此格式时间。
让~/.bash_history带有相对时间如:#1560378603
HISTCONTROL=[ignoredups|ignoredups|ignoreboth|erasedups],控制命令历史的生成
ignoredups:忽略记录重复的命令:连续相同的命令为重复命令(默认的变量值)
ignorespace:不记录以空白字符开头的命令
ignoreboth:相当于上面两个参数ignoredups,ignorespace的组合
erasedups: 删除重复命令
注意:修改环境变量建议在/etc/profile.d/中创建***.sh文件,便于日后的查看和管理
linux命令history作用,Linux命令:history命令历史的管理及用法相关推荐
- linux系统中pwd命令的作用,Linux运维pwd命令有什么用途?linux系统
Pwd命令用于显示当前所在的位置,是Linux运维工作人员需要掌握的Linux文件和目录操作命令之一.对于Linux运维工作,Linux命令是必不可少的.随着技术的发展,市场对于Linux运维人才的需 ...
- linux命令管道符号作用,linux认证:unix中管道符让输入源不起作用
在Unxi操作系统中,标准输入和标准输出是外壳程序中可以单独使用的两个独立流.但是有时候系统工程师需要让某些特定的输入源不起作用.当系统工程师在开发一些实用的脚本程序的过程中,经常需要用到. 一.在什 ...
- linux中egrep命令的作用,linux命令积累之egrep命令(示例代码)
学搭建Nginx环境,必须要配置的Nginx.conf文件中,如下: #user nobody; worker_processes 1; #error_log logs/error.log; # ...
- Linux的inode作用,Linux下inode知识
[TOC] 背景 今天复习Linux命令,到df的时候发现了一个之前忽略的东西.也就是 -i 这个选项,列出文件系统分区的inode信息.这个inode,是个什么东西? inode是用来做什么的 in ...
- linux cat命令的作用,Linux中cat命令的作用有哪些
本期微子网络将为您带来Linux中的cat命令的功能.文章内容丰富,从专业角度分析叙述.看完这篇文章,希望你能有所收获. cat命令的目的是连接文件或标准输入并打印它们.此命令通常用于显示文件内容,或 ...
- sed命令的作用linux,Linux重要命之sed命令详解
导读 Sed 代表流编辑器,常用于 Linux 中基本的文本处理.sed 命令是 Linux 中的重要命令之一,在文件处理方面有着重要作用.可用于删除或移动与给定模式匹配的特定行. 如何使用sed命令 ...
- linux中where作用,linux基础命令——whereis命令的使用介绍
摘要: linux基础命令中的whereis命令用于查找文件.该指令会在特定目录中查找符合条件的文件.这些文件应属于原始代码.二进制文件,或是帮助文件.该指令只能用于查找二进制文件.源代码文件和 ...
- linux的passwd命令的作用,Linux passwd 命令的使用
1.命令简介 passwd 令用于设置用户的认证信息,包括用户密码.账户锁定.密码失效等. 系统管理员能用它管理系统用户的密码,只有管理员可以指定用户名称,一般用户只能变更自己的密码. 2.命令格式 ...
- linux中touch命令的作用,Linux中touch命令的作用是什么
今天微子网络向你展示了触摸命令在Linux中的功能.内容简洁易懂,一定会让你眼前一亮.希望通过这篇文章的详细介绍,你能有所收获. linux的Touch命令不常用,但在使用make时可能会用到,mak ...
最新文章
- 程序员保值的五个关键点
- 三次样条插值Python实现
- java 中遍历目录下所有文件
- 新手如何使用有三AI系统性跟读AI领域的论文
- android广告页白屏_年度整理!2056页《大厂安卓岗面试真题解析合集》火爆全网...
- vue如何获取年月日_好程序员web前端教程分享Vue相关面试题
- Python 西瓜书机器学习支持向量机(SVM)
- Java经典编程题50道之三十二
- QT 5.12.9 +VS 2019配置并实现与三菱Q系列PLC通讯功能(1)软件的安装
- 计算机键盘没有fn,教您fn键设置方法
- 万凯新材深交所上市破发:募资超30亿 公司市值101亿
- 商务智能大总结4 聚类分析
- 《笨方法学 Python 3》31. 作出决定
- Python处理视频文件的实用姿势
- STARK代码详细学习笔记
- Android 存储选择
- Android视频转换GIF图片Bitmap转GIF
- 【GBASE】南大通用GBase 8a MPP Cluster技术特点
- PyGame弹珠游戏双人粗略版
- 企业微信机器人发送消息
热门文章
- gridview获取选中行数据_Word转Excel,不想熬夜加班,那就掌握这个数据清洗方法...
- android 按钮带图标 阴影_android中带图标的按钮(ImageButton)怎么用
- VBoxManage: error: Nonexistent host networking interface, name 'vboxnet0' (VERR_INTERNAL_ERROR)
- JQuery $.each遍历JSON字符串报Uncaught TypeError:Cannot use 'in' operator to search for
- linux服务器虚拟内存设置,修改Linux服务器虚拟内存Swap大小
- 康乐php一键脚本,kangle一键脚本
- Java日历compareTo()方法与示例
- java calendar_Java Calendar getLeastMaximum()方法与示例
- 汉子编码比字母编码长_字母/博客作者编码问题(使用动态编程)
- python凯撒密码实现_密码:凯撒密码及其Python实现