如何在Linux中显示历史命令? (linux显示历史 命令)

如何在 Linux 中显示历史命令?

Linux 作为一款开源的操作系统,被广泛应用于服务器和个人电脑等领域。在使用 Linux 进行开发或管理时,我们通常只需要使用命令行终端就可以完成大部分工作。而在这个过程中,我们会不可避免地使用很多命令。有时我们还需要重新使用之前曾经使用过的命令,这时候,如果能够快速地找到之前执行过的命令,就可以大大提高效率了。那么,在 Linux 中,如何显示并管理历史命令呢?

一、使用 history 命令查看历史命令

在 Linux 中,历史命令是以文本文件的形式保存在系统中的。我们可以使用 history 命令来查看之前所有执行过的命令。该命令的语法格式如下:

$ history [n]

其中,n 表示要显示多少条最近执行过的历史命令。如果省略 n,那么默认会显示全部历史命令。

当我们执行了 history 命令之后,会在屏幕上显示所有执行过的历史命令,每条命令前面会有一个序号。例如:

1 ls

2 cd Documents/

3 cat README.md

4 vim index.html

5 git commit -m “commit message”

6 ssh root@123.456.789

我们可以使用序号来重新执行某个历史命令。例如,要重新执行第三条命令,只需要输入:

$ !3

这个命令会自动重复执行第三条命令。如果要重新执行最近执行过的命令,只需要输入:

$ !!

这个命令会自动重复执行最近执行过的命令。

二、使用 grep 命令搜索历史命令

有时候,我们并不需要查看所有执行过的历史命令,而是只需要查找执行过的某个特定命令,这时就可以使用 grep 命令进行筛选。grep 命令的语法格式如下:

$ history | grep ‘keyword’

其中,keyword 表示要搜索的关键词。该命令会在所有历史命令中查找与 keyword 匹配的命令行。例如,我们要查找执行过的所有 Git 命令,只需要输入:

$ history | grep git

这个命令会列出执行过的所有 Git 命令。我们也可以根据需要进一步筛选。

三、使用 fc 命令编辑历史命令

有时候,我们执行了一条错误的命令,需要重新修改后执行。或者,我们想编辑一条以前执行过的命令。这时,可以使用 fc 命令来编辑历史命令。它有以下两种语法格式:

1. $ fc [option] [first] [last]

2. $ fc -l [-n] [first] [last]

之一种语法格式可以打开默认编辑器来编辑所有从 first 到 last 的历史命令。默认编辑器是 vi。例如,要编辑前一个命令和前三个命令,可以输入:

$ fc -2 -4

这个命令会将前一个命令和前三个命令都打开到 vi 编辑器中。

第二种语法格式则可以列出所有历史命令,并提供一个类似于 vim 的界面进行编辑。例如,要列出前五个历史命令,可以输入:

$ fc -l 5

这个命令会将前五个历史命令列出来,并在每行前面加上行号。可以使用这个行号来编辑某条历史命令。

四、使用 HISTSIZE 和 HISTFILESIZE 管理历史命令

在 Linux 中,默认情况下可以记录 1000 条历史命令,并且仅在当前会话中保存。如果我们需要记录更多的历史命令,或者需要将历史命令保存到文件中以备后用,可以使用 HISTSIZE 和 HISTFILESIZE 参数进行设置。

HISTSIZE 参数表示在当前会话中记录的历史命令条数,默认为 1000,可以在 .bashrc 或 .bash_profile 文件中进行设置。例如,要将 HISTSIZE 设置为 5000 条,可以在 .bashrc 中添加如下代码:

$ export HISTSIZE=5000

HISTFILESIZE 参数表示保存到历史命令文件中的历史命令条数,默认为 2023。可以在 .bashrc 或 .bash_profile 文件中进行设置。例如,要将 HISTFILESIZE 设置为 10000 条,可以在 .bashrc 中添加如下代码:

$ export HISTFILESIZE=10000

在 Linux 中,显示和管理历史命令非常方便。我们可以使用 history 命令查看所有历史命令、使用 grep 命令进行搜索、使用 fc 命令进行编辑、使用 HISTSIZE 和 HISTFILESIZE 参数进行设置。这些功能可以大大提高我们的工作效率,让我们可以更加高效地使用 Linux。

相关问题拓展阅读:

Linux查看用户/历史命令

1、当前登录用户信息

who:

用户名

、终端类型、登陆日期以及远程主机地址。

who /var/log/wtmp

可以查看自从wtmp文件创建以来的每一次登陆情况

-H:打印每列的标题

users命令: 打印当前登录的用户,从上面可以看到我自念嫌己从不同主机同时登录,所以下面显示2次。

2、查看命令历史

每个用户的命令历史记录保存在 ~/.bash_history 文件里,

或者在终端输入: history

要想再执行哪条,使用 !96 重新执毁团行该条命令。

3、last命令查看用户登录历史

此命令会读取 /var/log/wtmp文件;/var/log/btmp可以显示远程登陆信息。

last默认打印所有用户的登陆信息。

如果想打印某个用户的登陆信息,可以使用

last 用户名

一些选项:

(1)-x:显示系统开关机以及执行等级信息

(2)-a:将登陆ip显示纤高橘在最后一行

(3)-d:将IP地址转换为主机名

(4)-t:查看指定时间的用户登录历史

例如: 查看axing在

axing@ax:~$ last axing -a -t0

4、lastlog命令查看所有用户最近一次登录历史

读取/var/log/lastlog文件;用户排列顺序按照/etc/passwd中的顺序

一些选项:

(1) -u:查看某用户的最后一次登录记录

比如: lastlog -u axing

(2) -t:查看最近几天之内的用户登录历史

比如: lastlog -t 1

查看最近1天之内的登陆历史

(3) -b:查看指定天数之前的用户登录历史

例如: lastlog -b 60

查看60天之前的用户登录历史

5、ac命令

根据/var/log/wtmp文件中的登陆和退出时间报告用户连接的时间(小时),默认输出报告总时间

需要安装:

(1)-p:显示每个用户的连接时间

(2)-d:显示每天的连接时间

(3)-y:显示年份,和-d配合使用

关于linux显示历史 命令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何在Linux中显示历史命令? (linux显示历史 命令)