转:http://www.ttlsa.com/linux-command/6-linux-command/
发现我们敲linux命令,很多时候都在不停的切换到这个目录,又切回这个目录,都是一些Linux常用命令,这边我们讲的是Linux不常用的命令的linux命令技巧,我们需要在 Bash 中重复执行先前的命令。你当然可以使用上方向键来查看之前曾经运行过的命令。但这里有一些更好的方式:
		Linux命令技巧如下;
1. !!:重复执行上一条指令
2. !a:重复执行上一条以a为首的指令
3. !number:重复执行上一条在history表中记录号码为number的指令
4. !-number:重复执行前第number条指令
5. !$:表示获得上一条命令中的最后一项内容
6. 用Ctrl + r 组合键来进入历史搜索模式在history表中查询某条过往指令,找到需要重复执行的命令后,按回车键即可重复命令参数(即上一点中的第5条)
	
		Linux命名技巧1
以下是Linux命令技巧的实例:
	
| 
									1
								 
									2
								 
									3
								 
									4
								 
									5
								 
									6
								 | 
									[root@li229-122 tmp]# cd /data/site/test.ttlsa.com/
								 
									[root@li229-122 test.ttlsa.com]# ls
								 
									info.php
								 
									[root@li229-122 test.ttlsa.com]# !!
								 
									ls
								 
									info.php
								 | 
如上命令,大家可以看到我输入!!,实际上是重复了上一条命令ls
Linux命名技巧2
| 
									1
								 
									2
								 
									3
								 
									4
								 
									5
								 | 
									[root@li229-122 ~]# touch a
								 
									[root@li229-122 ~]# touch b
								 
									[root@li229-122 ~]# touch c
								 
									[root@li229-122 ~]# !t
								 
									touch c
								 | 
如果上命令,可以看到敲了三个touch命令,输入!t,他匹配了我最后一条的touch c命令
Linux命令技巧3
| 
									1
								 
									2
								 
									3
								 
									4
								 
									5
								 
									6
								 
									7
								 
									8
								 
									9
								 | 
									[root@li229-122 ~]# history
								 
									   41  history
								 
									   42  touch a
								 
									   43  touch b
								 
									   44  touch c
								 
									   45  history
								 
									[root@li229-122 ~]# !43
								 
									touch b
								 
									[root@li229-122 ~]#
								 | 
如上命令,history看到了history的编号。接着!43执行的是编号为43的touch b
Linux命令技巧4
| 
									1
								 
									2
								 
									3
								 
									4
								 
									5
								 
									6
								 
									7
								 
									8
								 
									9
								 
									10
								 
									11
								 
									12
								 
									13
								 
									14
								 | 
									[root@li229-122 ~]# history
								 
									   41  touch a
								 
									   42  history
								 
									   43  touch a
								 
									   44  touch c
								 
									   45  touch d
								 
									   46  history
								 
									   47  touch c
								 
									   48  touch 2
								 
									   49  history
								 
									[root@li229-122 ~]# history ^C
								 
									[root@li229-122 ~]# !-5
								 
									touch d
								 
									[root@li229-122 ~]#
								 | 
如上命令,可以看到我们执行了linux历史记录命令中倒数第五条
Linux命令技巧5
| 
									1
								 
									2
								 
									3
								 
									4
								 
									5
								 | 
									[root@li229-122 ~]# a b c e eeeee
								 
									-bash: a: command not found
								 
									[root@li229-122 ~]# !$
								 
									eeeee
								 
									-bash: eeeee: command not found
								 | 
如上命令,当然这些命令是我乱输的,可以发现获取到的是命令最后一个参数
		Linux命令技巧6
安装ctrl + r,出现如下内容:
	
| 
									1
								 
									2
								 | 
									[root@li229-122 ~]# ^C
								 
									(reverse-i-search)`':
								 | 
接着输入touch
| 
									1
								 
									2
								 | 
									[root@li229-122 ~]# ^C
								 
									(reverse-i-search)`touch': touch c
								 | 
便出现了相关命令touch c.找临时命令会比较方便




