!的多用途

本文介绍了Shell环境中高效使用历史命令的方法,包括直接调用历史记录中的命令、传递参数避免重复输入、处理多个参数、通过关键词执行命令等技巧。

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

$ history

$ !n        #n为history中的编号


2、执行指定的之前执行过的命令

$ history

$ !-7       #执行倒数第七条命令


3、向一条新命令传递旧命令的参数避免重复输入

“!$” 符号可以将上一条命令的参数传递给下一条命令参数

Administrator@Johnci MINGW64 /d
$ ls ./GTA5/
侠盗猎车手5/  修改器使用.txt  作弊码.txt

Administrator@Johnci MINGW64 /d
$ ll !$
ll ./GTA5/
total 24
drwxr-xr-x 1 Administrator 197121    0 十一 20 01:52 侠盗猎车手5/
-rw-r--r-- 1 Administrator 197121 3255 十一 21 01:42 修改器使用.txt
-rw-r--r-- 1 Administrator 197121 1224 十一  6 20:40 作弊码.txt

4、如何用(!)处理两个以上的参数

然后使用CP命令把它复制到 ‘home/avi/Downloads’目录

可以注意到第一个参数可以使用“!^” 来表示,剩下的参数就可以使用“命令名:参数序号”这种方式来表示,比如 “!cp:2″。再举个例子,如果你执行的某个命令为“xyz”,命令 后面有5个参数而你想调用第四个参数,就可以使用 “!xyz:4″ 来调用它。当然,你可以使用 “!* “ 来表示所有参数。


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

$ ls -l  /sdcard/admin

$ !ls

6、你可以使用(!!)来运行或者改变之前的命令。

Administrator@Johnci MINGW64 /d
$ mv logcat116_2016-10-12_10-58-04.log
mv: missing destination file operand after 'logcat116_2016-10-12_10-58-04.log'
Try 'mv --help' for more information.

Administrator@Johnci MINGW64 /d
$ !! logcat.log
mv logcat116_2016-10-12_10-58-04.log  logcat.log

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

$ rm !(*.log)

8.检查某个目录是否存在

使用 ‘! -d’  命令来判断目录是否为存在,可以同时配合“&&” 和 “||”来使用, 语句格式:[! -d /etc/grub ]



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值