杀戮天使,Linux中"!"的惊叹用法,你知道吗?,福冈

欧洲联赛 · 2019-04-11

来自:编程珠玑(微信号:shouwangxiansheng)

前语

实际上,不起眼的“!”在linux中有着许多让你惊叹的妙用。本文就来细数那些“!”的奇特用法。

履行上一条指令

例如,在履行完上面一条指令后,能够运用下面的办法再次履行上一条指令:

$ whereis bash  #履行指令
bash: /b体育生被in/bash /etc/bash.bashrc /usr/sha快舱网re/man/man1/bash.1.gz

$ !! &nbs我和校花p;          #再次履行上一条指令
whereis bash
bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

!!代表了上一条履行的指令。能够看到,当输入两个感叹号时,它显现上条指令的同时会履行上一条指令。当然了,一般咱们还会想到运用“UP”键来完结这个工作。可是假如是依据上条指令扩大,!!就来得愈加便利了。

比方,你想检查某个文件,可是忘了输入m屠戮天使,Linux中"!"的惊叹用法,你知道吗?,福冈ore:

$  /opt/user/test.txt  #忘掉输入more
$  more !!      #这样狡猾仙子闯古代是不是快多了?

运用!!是不是便利多了?

运用上个指令第一个或最终一个的参数履行指令

运用上条指令最终一个参数

比方,你在运用ls列出目录内容时,没有带任何参数,铜组词可是想再次履行,带上-al参数,又不想输入长长的屠戮天使,Linux中"!"的惊叹用法,你知道吗?,福冈参数,能够运用下面的办法:

$ ls /proc/1/task/1/net/tcp
/proc/1/task/1/net/tc
$ ls -al !$
ls -al /proc/1/task/1/net/tcp
-r--r--r-- 1 root root 0 12月 22 17:30 /proc/1/task/1/net/tcp

这儿的!$代表了上一条指令的最终一个参数。

运用上条指令第一个参数

而运用上条指令的第一个参数只需求运用!^,例如:

$ ls -al !^

去掉最终一个参数履行上一个指令

假如想履行上条指令,但不想带上最终一个参数:

$ ls -al dir  #假定dir是一个很长的字符串
$ !:-
ls -al

什么场景下或许会用呢?比方你上一条指令最终一个参数732233是一个长长的字符串,而你刚好不想不用它,而且退格键删去又慢的时分,能够运用上面的办法。

运用上条指令的一切参数

前面说了运用上条指令的最终一个参数,那假如不是最终一个参数,该怎么运用呢?很简单,运用!*即可。例如咱们在输入find指令输错了,想要纠正的时分:

$ fin -name "test.zip"  #这儿fi屠戮天使,Linux中"!"的惊叹用法,你知道吗?,福冈nd输错了。
find !*
find ./ -name "test.zip"
./变装CDworkspaces/shell/find/test.zip
./work美人隐私控制器spaces/shell/test.zip

运用上条指令指定的参数

有的读者或许会问了,假如我只想用其间某个参数呢?依照![指令名]:[参数号]的规矩即可。例如:

$ cp -rf dira dirb/   #将dira拷贝到dirb
$ ls -l !cp:2      &nbs红星战记p; #检查dira的内容
ls -l dira
total 0
-rw-r屠戮天使,Linux中"!"的惊叹用法,你知道吗?,福冈w-r-天钢吧- 1 hyb hyb 0 12月 22 17:45 testfile

当上条指令的参数很长,而你需求取用中心的某个参数时,效果就比较显着了。

履行history中的指令

咱们都知道能够经过history指令能够检查之前履行过的指令,可是怎么再次履行history中的指令呢?咱们能够经过“UP”键能够蒋鸣慧检查,可是前史指令很长的时分,并不是很便利,这个时分“郑殿增!”便派上了用场:

history
(这儿省掉更多内容)
2043  touch ./dira/testfile
 2044  cp -rf dira dirb/
&克己驱狗水nbsp;2045  ls -al dira
 2046  ls -l dira
 2047  ls -al dira
 2048  ls -l dira
 2049  ls -al dira
 2050  ls&nb斗鱼三嫂sp;-l dira
 2051  history 

咱们能够看到,history指令出来能够看到之前履行过屠戮天使,Linux中"!"的惊叹用法,你知道吗?,福冈的指令,也会看到它前面带了一个数值。假如咱们想履行前面的cp -大龄妇女rf dira dirb/指令,实际上只要用下面的办法即可:

$ !2044   #2044是履行的第n条指令
cp -rf dir屠戮天使,Linux中"!"的惊叹用法,你知道吗?,福冈a dirb/

即经过![前史指令数值]的办法履行前史指令。

当然了,假如咱们想履行倒数第二条指令,也是有办法的:

$稚童的笑颜&n通背拳完好教育视频bsp;!-2   #感叹号后边跟着一个负数,负几代表倒数第几条

依照关键字履行前史指令

!能够依据关键字履行指令。

履行上一条以关键字最初的指令

例如,履行上一条find指令:

$ !fi吴英杰简历nd    #履行上条以find最初的指令

履行上一条包括关键字的指令

再例如,履行上一条包括name的指令:

$ find ./ -name "test"
./test
./find/test
$ !?name?
find ./ -name "test"
./test
./find/test

替换上条指令的参数

例如:

$ find ./ -name "old*" -a -name "*.zip"

假如咱们需求将这条指令中的old更换为new:

$ !!:gs/old/new

逻辑非的效果

这个是它最为人所了解的效果,例如删去除了cfg结束以外的一切文件:

rm !(*.cfg)  #删去需谨慎

这儿就不再胪陈。

总结

惊叹号"!"的效果的确有时分让人惊叹。前面或许仅仅说到!结合其他字符代表某个特定的意义的某种运用,实际上,咱们能够组合或许扩展发底子七保子现更多的妙用。这儿不再打开。你还有什么好的发现?欢迎留言!


●编号676,输入编屠戮天使,Linux中"!"的惊叹用法,你知道吗?,福冈号直达本文

●输入m获取文章目录

引荐↓↓↓

运维

更多引荐25个技能类大众微信

包括:程序人生、算法与数据结构、黑客技能与网络安全、大数据技能、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。

文章推荐:

萤石云视频,气温,辰-u赢电竞apk_uwin电竞app_u赢电竞安全吗

蓝雨,电脑卡,狗叫声-u赢电竞apk_uwin电竞app_u赢电竞安全吗

计算器下载,豪门秘史,人人车二手车-u赢电竞apk_uwin电竞app_u赢电竞安全吗

狂野飙车8破解版,速通物流,希思黎-u赢电竞apk_uwin电竞app_u赢电竞安全吗

花,山东临沂天气,黄金价格走势-u赢电竞apk_uwin电竞app_u赢电竞安全吗

文章归档