【Linux入门】十三、Shell基础3 -- 历史命令与补全、命令别名与快捷键

Shell基础3 -- 历史命令与补全

1 历史命令

history命令

# history [选项] [历史命令保存文件]

选项:

-c  清空历史命令

-w 把缓存中的历史命令写入历史命令保存文件(默认是登陆用户家目录下的.bash_history,也可以指定保存到哪个文件)

用法:

直接使用history,可以看到之前敲过的命令(即使是此次启动之前的)

默认会在退出登陆后自动保存到.bash_history文件中;

历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改

2 命令与文件补全

在Bash中,命令与文件补全是非常方便和常用的功能,我们只要在输入命令或文件名时,按TAB键就会自动补全;

如果输入的前半部分可以匹配到多个,再按一次TAB则会把所有的匹配结果显示出来。

Shell基础2 -- 命令别名与快捷键

1 命令别名

# alias 别名='原命令'

设定命令别名

# alias

查询命令别名

【Linux入门】十三、Shell基础3 -- 历史命令与补全、命令别名与快捷键

命令执行时顺序:

1、用绝对路径或相对路径执行的命令

2、执行别名

3、Bash的内部命令(Shell内置命令)

4、按照$PATH环境变量定义的目录查找顺序找到的第一个命令

注意:

上面使用alias设定别名,同样是临时生效;

如果想要永久生效,需要修改/root/.bashrc文件。

2 Bash常用快捷键

【Linux入门】十三、Shell基础3 -- 历史命令与补全、命令别名与快捷键

方向          <-前               后 ->
删除
ctrl + d      删除光标所在位置上的字符相当于VIM里x或者dl
ctrl + h      删除光标所在位置前的字符相当于VIM里hx或者dh
ctrl + k      删除光标后面所有字符相当于VIM里d shift+$
ctrl + u      删除光标前面所有字符相当于VIM里d shift+^
ctrl + w      删除光标前一个单词相当于VIM里db
ctrl + y      恢复ctrl+u上次执行时删除的字符
ctrl + ?      撤消前一次输入
alt  + r      撤消前一次动作
alt  + d     删除光标所在位置的后单词

移动
ctrl + a      将光标移动到命令行开头相当于VIM里shift+^
ctrl + e      将光标移动到命令行结尾处相当于VIM里shift+$
ctrl + f      光标向后移动一个字符相当于VIM里l
ctrl + b      光标向前移动一个字符相当于VIM里h
ctrl + 方向键左键    光标移动到前一个单词开头
ctrl + 方向键右键    光标移动到后一个单词结尾
ctrl + x       在上次光标所在字符和当前光标所在字符之间跳转
alt  + f       跳到光标所在位置单词尾部


替换
ctrl + t       将光标当前字符与前面一个字符替换
alt  + t      交换两个光标当前所处位置单词和光标前一个单词
alt  + u     把光标当前位置单词变为大写
alt  + l      把光标当前位置单词变为小写
alt  + c      把光标当前位置单词头一个字母变为大写
^oldstr^newstr    替换前一次命令中字符串   

历史命令编辑
ctrl + p   返回上一次输入命令字符
ctrl + r       输入单词搜索历史命令
alt  + p     输入字符查找与字符相接近的历史命令
alt  + >     返回上一次执行命令

其它
ctrl + s      锁住终端
ctrl + q      解锁终端
ctrl + l        清屏相当于命令clear
ctrl + c       另起一行
ctrl + i       类似TAB健补全功能
ctrl + o      重复执行命令
alt  + 数字键  操作的次数