Linux的History命令Bash History(history命令)

linux Linux的History命令Bash History 如果您在命令行上花费大量时间,则查看以前运行的命令的历史记录可能是一项有用的功能,可以使您的日常工作更加轻松并提高生产率。在本文中,我们将讨论history命令,该命令使您可以查看以前执行的命令的列表,在列表中进行搜索以及操作历史记录文件。 By myfreax 30 Oct 2019

如果你在命令行上花费大量时间,则查看以前运行的命令的历史记录可能是一项有意义的功效,可以使您的日常工作上更顺畅并提高工作效率。

在本文中,我们在这里讨论history命令,该命令让你可以看一下以前执行的命令的列表,在列表中进行搜索以及操作过程历史记录文本文档。

运用history命令和历史记录扩展

history是内置的shell,每一个shell的行为极有可能各有不同。我们在这里详解history的Bash嵌入版本信息。

以最简单的形式,当没有任何的选择项或基本参数的情况之下开启时,history命令说明带有号全部历史记录列表。

history
...
467  git push
468  tail -f var/logs/error
469  nano  22,5 functions.sh
470  source project-env/bin/activate
471  history

键入!n将执行历史记录列表里第n条命令,而!-n则会把命令n行退回。在以下案例中,大伙儿于第467行执行命令:

!467

执行命令的另一种方法有哪些运用!word扩展。 word是一种以“ word”逐渐发布的命令。

一般,history会在屏幕上显示每天做导出来。要一次查看导出来的一页,请将主要是通过管道输送到比如moreless 命令的通讯系统操作程序:

history | less

要说明最后n行,请将数据信息作为传送数据给命令。例如,要仅查看历史记录列表的后五行,请输入:

history -5

运用updown箭头键浏览列表里的内容。说明查找完的命令后,按Enter执行。

键入!!执行上一条命令:

!!

如果你忘记在命令中附加 sudo 时,这非常有帮助,你们可以键入以下几个方面取代再度键入命令:

sudo !!

!-1!!一样,并执行历史记录列表中的最后一个命令,!-2倒数第二个,依此类推。

^word1^word2^扩展允许您再度运行最后一个命令,将“ word1”替换为“ word2”。假如你一不小心键入了sduo command并非sudo command,则能用正确的单词不断以下命令:

^sduo^sudo^

运用 grep 命令来过滤导出来。例如,要查看包括“ nano”等在内的命令,请运行:

history | grep nano
302  sudo nano /etc/resolv.conf
356  nano setup.py
413  sudo nano /etc/hosts
469  nano  22,5 functions.sh

现如今,如果你想要再度运行nano setup.py命令,只需键入:

!356

查找命令历史记录的另一种方法有哪些按Ctrl-R。提示将变成以下几个方面,你们可以开始搜索先前执行的命令。

(reverse-i-search)`':

外壳将说明一条匹配线。要移到下一个相符的建议,请再一次按Ctrl-R

客户程序Bash手册,以获得有关历史扩展,修饰符和指示符的更多信息。

贮存历史记录列表

默认情况下,运作新对话时,Bash从.bash_historyword里加载历史记录列表。在当前对话中执行的命令列表保留在内存中,而且在会话关闭时保存到word里。

假如你打开了好几个Shell对话,则仅贮存最后关闭的对话的历史记录。

-a选择项可让你将目前对话历史记录列表保存到.bash_historyword里:

history -a

-w选择项将完整的历史记录列表加载历史记录文本文档。

history -w

清除历史记录

history命令允许您清除完整的历史记录列表删掉一些一部分。

要清除历史记录列表,挑选-c选择项:

history -c

能从历史记录列表中删除起点与终点之间一条或许多条独特线,挑选-d选择项。

例如,要删除365和375正中间的行(包括这种行,请输入:

history -d 365 375

倘若仅向-d选择项给与一个数字,则该命令将删除给定的行。

如果使用负整数,将在历史记录列表结尾慢慢算行。

上面的命令清除历史记录列表,该列表保留在内存中,但不会从电脑硬盘中的.bash_historyword里删除具体内容。要清除文本文档,你需要把历史记录列表写入文件:

history -c
history -w

修改历史行为

能用好几个不同种类的环境变量来定义Bash历史记录的行为。修改历史记录情况时,请在~/.bashrc或账户登录时载入的任何其他系统变量中设置变量。

默认情况下,Bash在命令历史记录列表中储存500行。 HISTSIZE变量允许您变动此值。要将其设成10000,请在.bashrcword里添加以下行:

HISTSIZE=10000

变量HISTCONTROL接受用分号分隔标值列表,这类值定义了如何在历史记录列表中贮存命令:-ignorespace-以空格符开始命令未保存在历史记录列表中。 -ignoredups-不贮存反复命令。 -ignoreboth-是简称,包括ignorespaceignoredups

HISTCONTROL=ignoreboth

设置HISTTIMEFORMAT变量后,Bash为每行命令的执行加上日期格式。

例如,假如你设置:

HISTTIMEFORMAT="%F %T: "

历史记录便以以下文件类型说明:

413  2019-10-27 21:13:07: sudo nano /etc/hosts

结论

history命令说明以前执行的命令的列表。例如,您可以使用历史记录来查看您之前忘记长命令。

如果您有任何问题或意见和建议,请随时。

LINUX

如何在CentOS 8安装PHP(如何下载软件并安装)

2023-1-19 12:44:55

LINUX

如何在CentOS 8安装Node.js和npm(centos安装node.js)

2023-1-19 12:49:26

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索