自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]

文章目录

  • 1.历史命令与命令补全
    • 1.1 历史命令
      • 1.1.1 历史命令保存位置
      • 1.1.2 历史命令保存数量
    • 1.2 历史命令的调用
    • 1.3 命令与文件补全
  • 2. 别名与快捷键
    • 2.1 命令别名
    • 2.2 命令执行顺序
    • 2.3 别名永久生效
      • 2.3.1 当前用户永久生效
      • 2.3.2 所有用户都生效
    • 2.4 删除别名
    • 2.5 bash常用快捷键

1.历史命令与命令补全

1.1 历史命令

1.1.1 历史命令保存位置

linux现在可以将我们输入过的所有命令都保存在我们的计算机当中,只要我们使用命令:

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

-c:清空历史命令
-w:把缓存中的历史命令写入历史命令保存文件 	默认在~/.bash_history

每个用户的历史命令是单独保存的:

  • root的历史命令/root/.bash_history
  • user1用户的历史命令就在/home/user1/.bash_history

自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第1张图片
-w强制的将命令写入文件:

在这里插入图片描述在这里插入图片描述自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第2张图片
这是我这次登录之后敲入的命令,这些命令并不会直接写入历史命令保存文件,而是要等到我退出,才会把内存当中命令写入历史命令保存文件。-w就是不等我退出现在就把缓存中的文件写入历史命令保存文件。

自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第3张图片
如果使用-c清除所有的历史命令(缓存中、历史命令保存文件中)。

在这里插入图片描述
最好不要清空历史命令,这样有问题我们可以查看问题出现在哪里。

1.1.2 历史命令保存数量

历史命令默认可以保存1000条,同样我们也可以进行修改:

/etc/profile

在环境变量文件中:
自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第4张图片
我们也可以将它调大一点,如果历史命令保存在文件当中,我们改多少都没关系。但是如果我们要生效,重新登录或source读取文件。

1.2 历史命令的调用

  • 可以使用上、下箭头调用以前的历史命令。这个无法演示

  • 可以使用!n重复执行第n条历史命令
    自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第5张图片

  • 使用!!重复执行上一条命令
    自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第6张图片

  • 使用!字串重复执行最后一条以该字串开头的命令

自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第7张图片

1.3 命令与文件补全

在bash中,命令与文件的补全非常简单,只需要在输入命令或文件时,按Tab键就会自动补全

注意文件的补全:

  • 输入文件名,可以补全当前目录下的文件
  • 输入绝对路径,可以补全任意目录下的文件

这里无法演示,请会意。

也可以使用两次Tab查看可以使用的命令或文件。

在这里插入图片描述
使用Tab可以快速提示敲出你需要的命令。

2. 别名与快捷键

2.1 命令别名

别名:就是给这个用户起了个小名。

自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第8张图片
这其实就是使用了别名,我们可以使用命令:

alias

查看所有定义的别名:
自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第9张图片
所以我们查看到的结果时有颜色的(目录 =蓝色、可执行文件=绿色、压缩包或rpm包=红色)

如果我们要定义一个别名:

alias "别名='原命令'"

自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第10张图片
这样就设定好了别名。

2.2 命令执行顺序

第一顺位执行用绝对路径或相对路径执行的命令。这个时候一定执行的就是命令本身。

如果使用/usr/bin/ls就一定执行的ls命令本身,而不是ls加上了颜色显示:

自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第11张图片
第二顺位执行别名。

第三顺位执行bash的内部命令(shell本身自带的,没有执行文件,是shell自己的功能)。

第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。
在这里插入图片描述
如果没有找到就报错:
在这里插入图片描述
你就可以把自己写的脚本,复制进一个\$PATH支持的路径下,形成自己的命令脚本。

2.3 别名永久生效

2.3.1 当前用户永久生效

就要修改用户的环境变量文件:

~/.bashrc

自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第12张图片
添加你要修改的别名命令,就可以永久保存,但是只对root用户有用,其他用户要使用就要修改自己的环境变量文件

2.3.2 所有用户都生效

在这里插入图片描述

自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第13张图片
在这里插入图片描述

2.4 删除别名

unalias 别名

在这里插入图片描述
自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第14张图片
自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第15张图片
自动化运维[shell编程]——————Bash的基本功能[history、历史命令保存条数、alias、命令执行顺序、常用快捷键]_第16张图片

2.5 bash常用快捷键

快捷键 作用
ctrl+C 强制终止当前命令
ctrl+L 清屏
ctrl+U 删除光标之前的所有命令(剪切)
ctrl+Y 粘帖ctrl+U剪切的内容
ctrl+R 在历史命令中搜索你使用过的命令
ctrl+D 退出登录(logout)
ctrl+Z 暂停,放入后台

在这里插入图片描述

你可能感兴趣的:(shell)