Linux中"!"的惊叹用法

作者: 程序猿编码 | 来源:发表于2020-04-26 22:39 被阅读0次

Linux 系统中,“!” 符号或者操作符通常被用做逻辑否定的操作符,同时也通过一些调整和改动命令来从历史记录中找出你需要的命令行。

那么现在就让我们学习一下 “!” 这神奇而独特的用法吧!

从历史记录中使用命令号来运行命令

我们都知道可以通过history命令可以查看之前执行过的命令,但是如何再次执行history中的命令呢?我们可以通过“UP”键可以查看,但是历史命令很长的时候,并不是很方便,这个时候“!”便派上了用场

要查看最近用过的命令列表,可以输入不带选项的histroy命令。

信息只截屏一小部分。这时你可以通过命令 history 的输出中的命令序号来执行一条命令。例如:

!11

上面可以看到它执行了号码为!11的 yum install brew 命令,这种执行方式对执行某些特别长的命令非常有用,你只要使用”!”符号加上命令的序号就能执行该命令啦。

你可以运行 !-1、!-2 等命令来执行你记录序列中的倒数第一条命令、倒数第二条命令。和上面的操作流程一样,你需要先用 history 命令来列出命令列表。

使用上条命令最后一个参数

比如,你在使用ls列出目录内容时,没有带任何参数,但是想再次执行,带上-al参数,又不想输入长长的参数,可以使用下面的方式:

这里的!$代表了上一条命令的最后一个参数。

使用上条命令第一个参数

而使用上条命令的第一个参数只需要使用!^,例如:

通过关键词来执行之前的命令

我们可以通过执行关键词来执行之前的命令。可以按照下面的命令来理解:

ls /home > /dev/null
ls -l /home/minger/share

上面是相同的ls命令对应了不同参数和文件夹。

此外我们将每一个标准输出都传递到了 ”/dev/null”因为我们并不希望处理程序的标准输出。现在我们可以调用命令的关键词来实现它们。例如:

使用 !(文件名) 的方式来避免命令对某个文件的影响

这里的 “!” 符号相当于逻辑否定来使用,用来避免对加了 “!” 前缀的文件产生影响。

从目录中删除除 file.txt 外的所有文件:

rm !(file.txt)

从目录中删除 pdf 为后缀以外的文件:

rm !(*.pdf)

删除需谨慎,这里就不再详述。

总结

history命令是bash shell 内置命令,history命令有助于我们缩短输入命令的时间,达到节省命令快捷操作的要求。

而惊叹号"!"的作用确实有时候让人惊叹。前面可能只是提到!结合其他字符代表某个特定的含义的某种使用。本文只是简单介绍一些妙用,欢迎补充!

参考:https://linuxstory.org/mysterious-ten-operator-in-linux/

欢迎关注公众号【程序猿编码】,添加本人微信号(17865354792),回复:领取学习资料。或者回复:进入技术交流群。网盘资料有如下:

相关文章

  • Linux 中“!”的惊叹用法

    前言 实际上,不起眼的“!”在linux中有着很多让你惊叹的妙用。本文就来细数那些“!”的神奇用法。 执行上一条命...

  • Linux中"!"的惊叹用法

    Linux 系统中,“!” 符号或者操作符通常被用做逻辑否定的操作符,同时也通过一些调整和改动命令来从历史记录中找...

  • linux rename命令

    参考:Linux中rename命令的用法

  • 每天一条linux命令——find

    Linux中find常见用法示例 ·find path -option [ -print ] ...

  • Linux常用命令

    Linux中wc命令用法 Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、...

  • linux中grep的用法

    1.grep的基本用法1.1基本用法 1.2选项与参数: 2.利用grep取出含有关键字的行

  • Linux中Vim用法

    在Linux中使用Vim用法可以让自己操作游刃有余,大大提升了自己的工作效率,所以是非常推荐使用Vim! Vim工...

  • linux中sed用法

    一、sed命令介绍: 1、含义:Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器...

  • linux中;,&&, &,|和||用法

    ; 每个命令按照从左到右的顺序, 顺序执行。不管执行失败与否,所有命令都会执行。 && 前一个执行成功后才执行后面...

  • 2021-09-15Linux中的$符号的三种常见用法

    本文总结了Linux中的$符号的各种用法 用法一: 显示脚本参数(?、@、!)(本质上属于变量替换) {10}. ...

网友评论

    本文标题:Linux中"!"的惊叹用法

    本文链接:https://www.haomeiwen.com/subject/bkmswhtx.html