2024年2月20日发(作者:)

linux中history的用法

基本语法:

history [选项] [查找模式]

选项:

-h,--help:显示帮助信息

-c,--clear:清楚历史记录

-w,--write:将当前的历史记录写入到文件中

-r,--read:从文件中读取历史记录

-a,--append:将当前的历史记录追加到历史文件中

-n,--non-interactive:使用非交互方式运行

-p,--params:设置显示命令的格式

-d,--duplicates:去除重复的命令

-s,--search:按照指定模式命令历史记录

-H,--no-dupes:不记录重复的命令

查找模式:

!:n,n为一个数字:执行历史记录中的第n条命令

!-n:执行历史记录中的倒数第n条命令

!:执行上一条命令

!word:执行以word开头的最后一条命令

!?word?:执行包含word的最后一条命令

^string1^string2^:将前一个命令中的string1替换为string2执行

!$:执行上一条命令的最后一个参数

示例:

1.查看历史记录:

$ history

2.使用命令编号执行以前的命令:

$!n#n为要执行的命令的编号

3.使用感叹号执行最后一条命令:

$!

4.查找并执行以指定字符串开头的最后一条命令:

$ !word

5.查找并执行包含指定字符串的最后一条命令:

$ !?word?

6.替换并执行前一个命令中的指定字符串:

$ ^string1^string2^

7.执行上一条命令的最后一个参数:

$!$

8.清除历史记录:

$ history -c

9.将当前的历史记录写入到文件中:

$ history -w

10.从文件中读取历史记录:

$ history -r

11.将当前的历史记录追加到文件中:

$ history -a

12.设置显示命令的格式:

$ history -p

13.去除重复的命令:

$ history -d

14.按照指定模式命令历史记录:

$ history -s=search_pattern

15.不记录重复的命令:

$ history -H

16.使用非交互方式运行:

$ history -n

history命令还可以与其他Linux命令结合使用,如grep、awk、sed等,来实现更高级的操作。以下是一些示例:

1.并显示包含指定关键字的历史命令:

$ history , grep keyword

2.显示最近使用的命令:

$ history , tail

3.根据特定条件显示历史命令:

4.修改历史命令中的参数:

$ history , sed 's/old_param/new_param/'

综上所述,history命令是Linux中一个非常有用的工具,可帮助用户管理和重复执行命令历史记录,提高工作效率。通过合理的使用选项和查找模式,用户可以更好地利用history命令来满足自己的需求。