bash基础特性(1): 历史命令
history为历史命令,在bash中执行后可查看命令执行的历史。
history命令有多个环境变量用以对Linux系统进行设置。
1)为Linux系统设置历史记录的时间。
为history增加一个时间戳
<code>export HISTTIMEFORMAT='%F %T '</code>
history命令存放的位置 (如何查看bash的命令历史)
查看history 近期命令
history n , history 10
调用第n 条命令
调用!n
调用!!(最近的命令)
history -d 10 删除指定第几条命令
手动追加当前缓冲区命令到历史命令记录中(.bash_history)
history的实例, 关于 rm !$ 或者某命令 !$:
<code>
[root@VM_203_36_centos ~]# cd hell
-bash: cd: hell: No such file or directory
[root@VM_203_36_centos ~]# cd hello/
[root@VM_203_36_centos hello]# ls
[root@VM_203_36_centos hello]# touch txt.txt 1.txt
[root@VM_203_36_centos hello]# ls *.txt
1.txt txt.txt
[root@VM_203_36_centos hello]# rm !$
rm *.txt
rm: remove regular empty file '1.txt'? y
rm: remove regular empty file 'txt.txt'? y
[root@VM_203_36_centos hello]#
</code>
bash基础特性(2):Tab键命令补全
在使用bash时,输入命令不完整或者命令想不起来的时候可以按TAB键进行命令补全。
问题
当使用Tab键无法进行命令补全时,需要查看当前用户的shell环境是否是bash
bash的使用快捷键
编辑命令
Ctrl + a :移到命令行首
Ctrl + e :移到命令行尾
Ctrl + f :按字符前移(右向)
Ctrl + b :按字符后移(左向)
Alt + f :按单词前移(右向)
Alt + b :按单词后移(左向)
Ctrl + xx:在命令行首和光标之间移动
Ctrl + u :从光标处删除至命令行首
Ctrl + k :从光标处删除至命令行尾
Ctrl + w :从光标处删除至字首
Alt + d :从光标处删除至字尾
Ctrl + d :删除光标处的字符
Ctrl + h :删除光标前的字符
Ctrl + y :粘贴至光标后
Alt + c :从光标处更改为首字母大写的单词
Alt + u :从光标处更改为全部大写的单词
Alt + l :从光标处更改为全部小写的单词
Ctrl + t :交换光标处和之前的字符
Alt + t :交换光标处和之前的单词
Alt + Backspace:与 Ctrl + w 相同类似,分隔符有些差别 [感谢 rezilla 指正]
重新执行命令
Ctrl + r:逆向搜索命令历史
Ctrl + g:从历史搜索模式退出
Ctrl + p:历史中的上一条命令
Ctrl + n:历史中的下一条命令
Alt + .:使用上一条命令的最后一个参数
控制命令
Ctrl + l:清屏
Ctrl + o:执行当前命令,并选择上一条命令
Ctrl + s:阻止屏幕输出
Ctrl + q:允许屏幕输出
Ctrl + c:终止命令
Ctrl + z:挂起命令
Bang (!) 命令
!!:执行上一条命令
!blah:执行最近的以 blah 开头的命令,如 !ls
!blah:p:仅打印输出,而不执行
!$:上一条命令的最后一个参数,与 Alt + . 相同
!$:p:打印输出 !$ 的内容
!:上一条命令的所有参数
!:p:打印输出 !* 的内容
^blah:删除上一条命令中的 blah
blahfoo:将上一条命令中的 blah 替换为 foo
blahfoo^:将上一条命令中所有的 blah 都替换为 foo
问题:
关于zsh与bash的不同导致的问题:
1, zsh与bash的环境不同、在使用上会有一些区别,bash下的环境在zsh下无法正常使用,会出现一些诡异的现象和情况。
2,获取帮助的命令,help、info命令在zsh环境上无法使用,在bash环境上可以使用。
3,history命令在zsh中无法实现像bash一样的事情。
在bash中:history -c 清除所有的命令,zsh无法实现。
在bash中:export HISTTIMEFORMAT="%Y %T"