Linux history 命令详解:如何查看、显示时间、清空、重复和控制历史记录

在 Linux 中,如果你使用终端操作系统(sh、bash、zsh、fish等),那么有一个非常强大且方便的命令叫做 history。它的作用是让你查看之前终端中输入的所有命令记录,以及可以方便地快速重复执行某个命令或修改一些参数后重新执行。下面我们来看一下Linux history常用命令:

1、Linux history查看所有历史命令列表

在使用终端时,我们常常会输入很长的命令,但有时候我们需要再次执行类似的命令,则可以使用在bash或zsh终端中 history 命令来查看之前输入过的命令。在终端中输入如下命令即可查看历史命令列表:

history

这个命令可以显示出先前输入到终端的最近 500 条命令记录,每条命令都有对应的编号,编号从 1 开始递增。

2、查看特定Linux命令的历史记录

如果需要查看特定命令的历史记录,可以使用 history 命令和grep命令组合使用,例如:

history | grep "ls"

这个命令将会输出之前输入过的所有包含 “ls” 的命令记录,包括 lsls -lls /etc 等命令。

3、使用 history 重复执行命令

在终端中执行命令时,我们可能需要多次执行先前使用过的命令。而使用 history 命令可以方便地找到之前的命令,并重复执行。

例如,想要再次执行编号为 42 的命令,可以使用如下命令:

!42

此外,还可以使用叹号 (!) 快速操作历史记录中的命令,例如:

  • !! 重复执行上一条命令
  • !-2 重复执行倒数第二条命令
  • !n 重复执行第 n 条命令,例如 !3 表示重复执行第 3 条命令
  • !string 重复执行最近的一条以 string 开头的命令

4、控制 history 记录的数量

默认情况下,history 命令会记录最近输入的 1000条命令,但是如果输入的命令数量非常大,这个数字可能并不能满足需求,因此可以通过设置 HISTSIZE 变量来扩大或缩小 history 记录的数量。

例如,以下命令将 history 记录的数量限制为 2000 条:

export HISTSIZE=2000

5、Linux history显示时间

除了命令号、命令内容之外,history 还可以将每条命令的时间戳记录下来。如果需要查看命令的执行时间,可以使用以下命令:

export HISTTIMEFORMAT="%F %T "

这个命令将在 history 输出时显示每个命令执行的日期和时间戳。

6、Linux clear history

清空 history 记录,当 history 记录变得庞大时,我们可能需要清空所有的历史记录,以节省硬盘空间或者数据隐私安全考虑。可以使用以下命令清空历史记录:

history -c

此命令将会彻底清空所有 history 记录。

7、linux history文件位置

在 Linux 系统中,history 命令记录的历史命令是保存在一个文件中的。这个文件通常被称为 “history 文件”,位于用户的主目录下。

对于大多数常见的 Linux 发行版,history 文件的默认位置是 ~/.bash_history。其中 ~ 表示用户的主目录,.bash_history 是隐藏文件,可以使用 ls -a 命令显示隐藏文件。

以 Bash 为例,当你在终端输入命令后,会将命令记录追加到 history 文件中。每次打开一个新的终端会话时,history 命令会读取该文件并将历史记录显示在终端上。

你可以使用文本编辑器打开 history 文件进行查看或编辑,例如:

vi ~/.bash_history

或者你也可以直接使用 cat 命令查看其内容:

cat ~/.bash_history

需要注意的是,历史记录文件可能只包含最近的一部分命令,因为它的大小受到历史记录数量的限制。

值得一提的是,不同的 shell 可能会使用不同的历史文件,比如 Zsh 使用 ~/.zsh_history,Fish 使用 ~/.config/fish/fish_history。但是在大多数常见的 Linux 发行版中,默认使用的是 Bash,并且对应的历史文件是 ~/.bash_history

更多详细信息可以参考:
Linux下history命令用法详解

  • 8
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
历史命令是Linux/Unix系统中的一个常用命令,用于查看当前用户在命令行中执行过的命令历史记录。通过使用history命令,您可以方便地查看、搜索、编辑和执行之前执行过的命令,从而提高操作的便利性和效率。 使用history命令可以显示当前会话中执行过的命令历史记录。默认情况下,它会显示最近执行的命令列表,每个命令前面都有一个数字作为索引。您可以使用这些索引来重新执行以前的命令。例如,要重新执行索引为10的命令,可以使用!10命令。 您可以通过history命令的选项来扩展其功能。例如,使用history -c命令可以清空当前会话的命令历史记录。这在某些情况下可能很有用,比如当您希望清除敏感信息或者只想保留当前会话的命令历史记录。 另一个有用的选项是history | grep命令,它可以在历史命令记录中搜索特定的命令。例如,如果您想找到所有包含"ls"的历史命令,可以使用history | grep ls命令。这对于查找特定命令的使用情况或者回顾之前执行过的类似命令非常有帮助。 您还可以使用HISTSIZE环境变量来设置历史命令记录的长度。默认情况下,命令历史记录的长度是1000个命令。通过设置HISTSIZE环境变量,您可以增加或减少历史命令记录的长度。例如,要将历史命令记录的长度设置为2000,可以在命令行中输入export HISTSIZE=2000。 综上所述,history命令是Linux/Unix系统中一个非常有用的命令,它允许用户查看、搜索、编辑和执行之前执行过的命令历史记录。通过使用history命令的不同选项,您可以进一步扩展其功能,提高命令行操作的效率和便利性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值