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

被折叠的 条评论
为什么被折叠?



