欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux 命令前加感叹号 history 历史命令 等 有大用

Linux下叹号!的用法

在定义包含!的字符串变量时,出现了以下提示错误。

注意:在centos系统下错误,在Fedora系统可以正常运行。

修正方法有以下几种:

(1)将整个字符串用单引号引起来。

(2)在!后添加空格。

(3)在!前面加转义符\。

(3)用单引号将!引起来。

(4)双引号和转义符配合使用。

接下来,顺带总结了Linux系统下!感叹号的几种常用方式:

1.   !用作否定符号

如果!紧跟在一对方括号的左方括号之后,则表示不包括在方括号中列出的字符。

例如:file[! 1-4].c  表示以file开头,第5个字符不是1-4之间数字的.c文件名

2.   !从历史命令中取出一条命令来执行

第一步: 先用history查看历史命令序号

第二步:!  序号    //执行某条命令

    ! -3  //执行倒数第3条命令

    !-1可以用!!代替,执行上一条命令,和键盘的上键一样

注意:使用grep检索相关命令,高效便捷

3.  !$ 传递最后执行的命令的参数,以方便的运行新命令(非常实用)

4.   !命令名(或命令前几位字符串) 引用最近一次使用的某命令

5.    !?字符串 指向最近一次包含此字符串的命令

 

看似简单的知识背后,承载的是收获和成长!


来自 https://www.cnblogs.com/wxywxy/p/7756596.html

Linux中的叹号命令

 (2012-06-22 10:49:01)转载

标签: 

杂谈

分类: LinuxAndCPP

整天在shell环境下操作,不积累点快捷输入的小技巧是不行的。

最常用的技巧恐怕就是Tab自动补全以及上方向键来回退上几条历史命令了,这些对于cshbashkshzsh都适用。

最近还找到一种快速回退上一条历史的一些小技巧,暂记录之。

1、 除了方向键上,还可以用“!!”代表上一条输入的命令,用这个的好处在于可以将这两个字符放在命令行任何位置以便于构成新的命令。

例如:

$./some-shell-command

$cat !!

则后一条命令就相当于cat ./some-shell-command,这样做比先按方向键上回退一条命令,然后定位到开始,插入cat要快捷得多。

2、 除了!!!$代表得是上一条命令中最后一个parameter,这是个更有用的变量,例如:

$ls /some-path-to-a-directory

$cat !$/some-file.txt

如果some-path-to-a-directory不幸为一个非常长的路径的时候,使用!$恰好就能省去输入这个超长路径的麻烦,这条命令实际 上就相当于cat  /some-path-to-a-directory/some-file.txt

3、 !str代表以历史命令中最近一条以str开头的命令。

比如!ssh 就是最后一次执行ssh的命令

4、 !?str?代表历史命令中最近一条包含str的命令。

5、 !n!-n,前者代表history命令显示出来前面的条目数为n的那条命令,后者代表当前命令条目数减去n的那条命令,例如!-3就代表3 条前的那个命令。

对比起来,12是相当实用的,剩下3条记得住就用,记不住也无妨了。

https://www.cnblogs.com/wxywxy/p/7756596.html

普通分类: