0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux history命令的使用技巧

Baekhyn0506 来源:TIAP 作者:TIAP 2023-02-03 16:30 次阅读

使用 Linux 命令行工作,需要了解且使用 history 的一些常用的特性,不管是 Linux 初学者,还是系统专家。

在使用过一段时间 Linux 终端之后,大家应该都会注意到,使用上下箭头按键,可以执行之前运行过的命令,这就是 history 所起到的作用。

1,查看 bash 历史记录(history)

我们在之前的文章中介绍过 history 的使用,大家感兴趣可以参考。

查看 bash 历史记录,最简单的方法就是在命令行中输入 history 命令:

history

这将显示你历史记录中的上百或上千条命令,这取决于 HISTSIZE 变量中设定的大小。

图片

如果不想列出所有的历史记录,可以限制显示出的记录条数。 比如,想要只显示最近的 7 条历史命令,可在 history 命令后跟上一个数字 7,如下:

history 7

图片

2,运行 bash 历史记录中的命令

在查看 history 记录后,可以使用一个感叹号 ! 来运行其中的某条历史命令,如下方式:

!

图片

使用两个感叹号 !! 可以返回历史记录中最后的一条命令。 比如:

sudo !!

图片

另外,也可以使用一个特定的字符串来运行 history 命令,这个“特定的字符串”就是 history 命令中,与其匹配的命令:

!text

比如,你曾经运行过 echo $HISTCONTROL,然后想再次运行它,那么可以这样:

!echo

上述命令,会再次运行 history 中的最后一条 echo 命令:

图片

这其实也相当于是在 history 命令中以 “字符串” 方式匹配搜索。

如果你不确定在 history 中的具体命令,可以在其后添加 :p 来打印该命令,而不是运行,比如 !echo:p,!23:p 等。

3,搜索 history 记录

你可能会想到使用 grep 搜索 history 记录,像下面这样:

history | grep text

搜索历史记录的一个更好且超级方便的方法是使用 ctrl + r 键,反向搜索并键入您要查找的字符串。

可以通过反复按 ctrl + r 来循环选择,当找到要查找的命令时,按 ctrl + o 或只按 enter 键即可选择并运行该命令。

例如,下面的示例搜索包含 “aud” 的命令:

图片

如果找不到想要的命令,可更改搜索的字符串,或者按 ctrl + g 退出搜索。

4,重新使用历史记录中以前命令中的参数

关于 history 的另外一个很有用的技巧是,可以在新命令中使用以前命令中的参数。

我们可以像这样使用上一个命令的最后一个参数:


比如,假设我们刚刚使用过 less 命令读取过某个文件,然后想再编辑此文件,那么可以使用 !$ 快捷键,如下图所示:

图片

上面的选项只提供上一个命令的最后一个参数。 如果需要所有参数,请使用以下命令:


5,清除历史记录中的条目

有一个名为 HISTCONTROL 的环境变量,可以帮助我们处理 bash 历史记录中的冗余条目。 可以为其指定以下三个值之一:

  • ignorespace:使用这个变量值,在运行某个命令时,在该命令前面加一个空格,该命令照常运行,但是不会记录在 history 记录中;
  • ignoredups:如果有两个或多个相同的命令连续运行,则只有一个命令会记录在 history 记录中;
  • ignoreboth:设置上述两个功能。

设置 HISTCONTROL 变量,应该在 bashrc 文件中设置,以便在每次使用 bash shell 时该变量的设置都会起作用。

如果 history 中的记录太多,可以使用 -c 选项来清理历史记录,然后从新开始记录新的命令。

history -c

图片

除了我们上面介绍的以外,history 还有很多东西值得研究学习,大家可以参考 history 命令的 man 手册,感兴趣的话还可以了解一下 history builtins。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206734
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21849
  • 命令行
    +关注

    关注

    0

    文章

    75

    浏览量

    10344
  • Bash
    +关注

    关注

    0

    文章

    57

    浏览量

    10071
收藏 人收藏

    评论

    相关推荐

    有关Linux history历史命令的例子详解

    当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升。事实上,一旦你掌握了我在下面给出的15个有关
    发表于 07-11 07:37

    Linux怎么查看历史命令

    可以执行history命令查看历史命令
    发表于 07-18 06:54

    LINUX怎么清除历史记录命令

    目的很简单,就是清除linux下的历史命令linux 下输入history 命令显示历史敲过的命令
    发表于 07-25 07:45

    如何轻松记住 Linux 命令

    首先我想提名的是命令行工具 history ,使用这条命令时你可以查看你此前使用过的命令。包括使用最为广泛的Bash在内的这种Linux S
    发表于 05-18 14:26

    Linux的常用网络命令

    Linux的常用网络命令 Linux 的常用网络命令  计算机网络的主要优点是能够实现资源和信息的共享,并且用户可以远程访问信息。Linux
    发表于 01-18 12:47 1118次阅读

    Linux关机命令详解

    Linux关机命令详解 在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都 可以达到重启系统的目的,但每个
    发表于 01-18 12:52 3515次阅读

    Linux系统命令指南

    在“Linux 文件命令精通指南”中,我们讨论了利用最基础和最常用 Linux 文件命令所需的基本信息。在本文中,我将对 Linux 系统
    发表于 05-23 10:23 881次阅读

    linuxHistory命令代码的详细资料合集免费下载

    本文档的主要内容详细介绍的是linuxHistory命令代码的详细资料合集免费下载。
    发表于 11-19 08:00 2次下载

    linux有哪些常用的命令

     Linux命令非常之多,分为内部命令和外部命令
    发表于 02-27 08:00 4次下载
    <b class='flag-5'>linux</b>有哪些常用的<b class='flag-5'>命令</b>

    Linux操作系统基础命令:如何运用Bash history

    相信大家平时都有用 history 命令来查看命令历史记录,但是实际上 history 命令并非只有这个功能,
    的头像 发表于 09-02 11:05 1842次阅读

    如何在history命令中启用时间戳

    我们大家应该都比较熟悉 history 命令,其用于查看先前都运行过哪些命令。不过有一个问题,默认情况下,history 命令是不显示
    的头像 发表于 01-04 16:52 1652次阅读
    如何在<b class='flag-5'>history</b><b class='flag-5'>命令</b>中启用时间戳

    常用Linux命令介绍

    linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,
    的头像 发表于 02-09 14:31 835次阅读

    浅析Linux精致的命令

    这只是一小部分常用的Linux命令Linux有很多命令可以使用。建议通过man命令来查看命令
    的头像 发表于 04-24 16:28 1335次阅读

    常用Linux命令要记牢!

    linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,
    的头像 发表于 08-07 15:31 444次阅读

    shell命令linux命令一样吗

    Shell命令Linux命令并不完全一样。 首先,Shell是一种命令行解释器,它是用来解释和执行用户输入的命令的。Shell既是一种
    的头像 发表于 11-08 10:51 1375次阅读