Tab键的妙用
1.command没有完全输入时: 点击tab,如果能唯一匹配到命令,则直接补全,否则需要点击两下tab来显示能够匹配到的命令。
2./2tab : 显示根目录下的所有目录,包含隐藏的目录。相当于 ls -Ad /*/
3../2tab 和 *2tab : 显示当前目录下的子目录。 相当于 ls -Ad ./*/
4.~2tab : 显示所有用户列表
5.$2tab : 显示所有变量
6.@2tab : 显示 /etc/hosts 记录
*注:centos 7 此功能没有了
7.=2tab:列出该目录下所有文件 相当于 ls -A *注:centos 7 需要在等号后面接一个空格
history命令相关的引
-
对历史命令执行
!!: 再次执行上一条命令
*ctrl+p ,执行: 也可以执行上一条命令
!-#:执行历史命令中的倒数第#条命令
!#:执行历史中的第#条命令
!字符串:执行最近一条以给定字符串开头的命令
!?字符(串):执行最近一条包含给定字符(串)的命令
重要 :以下为对历史命令的处理(这个方法可能不常用,但仔细研究可以探知linux文本编辑思想)
^字符串 :删掉上一条命令中的给定字符串并执行
^字符串1^字符串2:将上一条命令中的字符串1改为字符串2并执行 -
!!:gs/字符串1/字符串2:将上一条命令中的所有字符串1修改为字符串2并执行 (替换机制类似于vim中的全局替换)
-
搜索命令:
ctrl+r :出现以下界面,输入关键字进行搜索
ctrl+g:退出命令的搜索
-
(常用) 调用历史命令的参数:(这里主要集中对^ & * n :p 的汇总应用)
command ESC . :调用上一条命令的最后一个参数
command !^:调用上一条命令的第一个参数
command !$:调用上一条命令的最后一个参数,同 esc .
command !*:调用上一条命令的所有参数
command !:n:调用上一条命令的第n个参数
注:这里 ! 类似于上一条命令的变量,注意比较下面的 !m 以及 !string.
command !m:^:调用第m条命令的第一个参数
command !m:$:调用第m条命令的最后一个参数
command !m:n:调用第m条命令的第n个参数
command !m:*: 调用第m条命令的所有参数
command !string:^: 调用以给定字符串开头的最近的命令的第一个参数
command !string:$: 调用以给定字符串开头的最近的命令的最后一个参数
command !string:n: 调用以给定字符串开头的最近的命令的第n个参数
command !string:: 调用以给定字符串开头的最近的命令的所有参数
-
通过:p 指令对符合搜索条件的命令或参数只是显示不执行。
!*:p : 显示上一条命令的所有参数
!$:p :显示上一条命令的最后一个参数
!^:p : 显示上一条命令的第一个参数。
!string:p:显示第一个以给定字符串开头的命令,但是不执行。
-
历史命令的变量的妙用,如果想永久修改变量,请编辑~/.bash_profile。 *
-
HISTIGNORE=“str1:str2:…”: 对历史命令的显示忽略str1,str2,…
*注意这里的字符串必须时完整的,如果想输入关键字,需加上*符号 此变量只对该变量生效后输入的命令有效。
-
HISTTIMEFORMATE=”%T %F” 在历史命令列表中显示时间。
注意:(变量设置只对电脑开机后输入的命令有效,) 最后变量参数后面最好加空格,以免显示出来的信息混乱。
HISTCONTROL=ignoredups :忽略重复的命令只显示一次(这里是对参数生效后且连续输入的命令起作用)HISTCONTROL=erasedups:擦除和当前输入的重复的命令,只对当前内存中的命令有作用,对文件中的记录没有作用。
-
-
历史命令的选项妙用:
-c :清空历史命令(这里清空的时内存中保存的命令记录)
-a: 追加当前内存中的命令到命令文件中
-w:把内存中的命令覆盖到命令文件中
`注意`:这两个选项,-a 会出现更多的重复记录
-a -w 具体区别请参照网上链接
-n:读取命令历史文件中新写入的命令。(不同人登陆同一账户时常用)
-r:读取命令历史文件到内存。
-p: history -p `command` `command` :悄悄的执行命令 不记录历史
-s:history -s `command` `command` :只写入历史文件但不执行命令
原创文章,作者:zhoulz,如若转载,请注明出处:http://www.178linux.com/69226