历史:改进控制台的使用

终端

在此,我的第一篇文章 DesdeLinux,我想简单介绍一下任何 Linux 的一个不太出名但非常实用的控制台或 shell 命令。我是说 历史.

几乎所有使用Linux的人都知道,如果我们在终端中按向上箭头,它将向我们显示以前使用的命令,如果继续按一下,我们将在该命令列表中向后退。 把那个 !! 我们将执行最后使用的命令。 好吧,这要感谢 历史,但是它的潜力并没有止于此,因为如果直接执行它,我们将获得包含最后一千个命令的列表:

sebastian:~$ history
1543 ping -c 2 desdelinux.net
1544 clear
1545 sudo apt-get update
1546 uname
1547 history

该列表本身将更长,但是仅举几个例子就足够了。 从现在开始 我们可以看到所有使用命令的历史记录 再加上一个数字,使我们能够在列表中找到所需的数字。 如果您愿意,也可以这样做 历史 显示相同的执行日期.

所以写 ! 再加上行号,shell将执行与该行相对应的命令:

sebastian:~$ !1543
ping -c 2 desdelinux.net
PING desdelinux.net (192.31.186.28) 56(84) bytes of data.

但是,我们也可以用字母执行,因为如果我们把 !+un 将执行“ 1546”行,因为 运行以那些字母开头的最后一个命令.

sebastian@soporte-mesi01:~$ !un
uname
Linux

但是要小心,因为这可能会带来风险,因为我们不知道哪个命令是以这些字母开头的最后一个命令,因此恢复以前使用的命令的最佳方法是使用 按键组合 CTRL+r,搜索引擎将为我们提供 就像我们写的那样,它将向我们显示匹配的最后一个完整命令。 所以用挤压 进入 将运行它。

相反,如果我们想列出使用命令的所有时间,则必须使用grep:
sebastian:~$ history | grep uname
1499 uname -r
1500 uname -a
1546 uname
1549 uname
1550 history | grep uname

它将仅列出列出的单词所在的行,在这种情况下,«UNAME«。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   拉夫

    大! 谢谢你的提示

  2.   静态

    恭喜,小费

  3.   uk

    这是在寻找,谢谢!

  4.   胜利者

    我不知道Ctrl + r,我将对其进行练习,使其保留在大脑数据库中。
    您还可以在命令后添加命令¨$ history -c,如您所知,该命令用于清除历史记录,通常在我们不想留下线索或由于键入错误的命令而变得肮脏时有用。 。
    问候和感谢的帖子!

    1.    Thalskarth

      使用-c参数的人我知道,但实际上我从未使用过

  5.   阿尔贝托

    非常有趣的快捷键“ Ctrl + r”。 补充一点,如果有多个终端打开,则“ history”命令仅显示该终端的命令,直到打开另一个新终端为止。
    它也可以与“ tail”命令一起使用(以查看最新命令),或与“ less”命令一起使用以按页面查看它们。

    您好!

  6.   加布里埃尔

    它们是您不时忘记的小技巧,但它们非常有用,谢谢😉

  7.   维托

    太棒了
    因此,无需编写rsync -avl -stats -progress /媒体/数据/ WEBS / /媒体/ WD / WEBS
    我只需要写!496,从现在开始!
    我总是后悔从Linux开始迟到,而我一直感到很幸运能够开始使用Linux。
    感谢您的这些命令。 他们肯定是在男人那里,但是我从不看,就像我买一个小工具一样,我最后看的是手册。
    谢谢。
    收到亲切的问候。

    1.    丹尼尔·罗哈斯(Daniel Rojas)

      Vito,请记住,随着更多行添加到历史记录中,该行的数量将发生变化。 我建议您避免输入整个行的方法是将其作为别名添加到您的.bashrc中,这样,只需键入分配给它的别名的名称,就会执行分配的整个行。

      的问候!

      1.    维托

        谢谢。
        这个数字就是我的例子。 这个数字在我的记录中,然后我尝试了小费。 我知道它会更改,并且每次运行它时,相同的命令都会出现一个新的数字。

        关于.bashrc中的别名,我知道并且仅使用它通过“ pan”(而不是适当的命令)关闭监视器(sleep 1 && xset dpms force off),但是我并没有太多使用别名,因为我使用了许多命令,所以我不得不记住别名的问题; 我最终遇到了两倍多的问题。 记住命令或记住命令别名。

        因此,记住“历史”甚至更容易记住“历史| grep rsync»用于当我必须备份工作时。 后者是我看到的一种实用程序的示例。

        毫无疑问,至少在我看来,这对于保存我的大脑RAM非常稀缺非常有用。 因此,我不必记住许多命令。

        感谢您的回答。

        最好的问候。

  8.   迭戈

    执行(不带引号)“ history> historia.txt”也非常有用,从而将我们已经执行的命令保存在文本文件中。

    1.    Thalskarth

      是的,您甚至可以始终在中间使用grep进行过滤,例如使用类似
      history | grep uname >pru.txt
      然后,txt将仅使用“ uname”命令保存结果

  9.   华金

    最好:Ctrl + r

  10.   约达

    好文章,非常有用。 谢谢你的信息🙂