Linux基础3-1 Bash及其特性

什么是Bash:

shell是Bash中的一部分:

  • shell是用户连接到计算机使用的外壳程序 ,
    • shell是外部执行程序,可以在shell中执行shell,结构会形成父子shell结构
  • 多用户登录系统,使用bash程序,程序只能有一个,但是进程可以有多个
    • 进程:正在运行中的应用程序,在每个进程来看,当前主机上只存在内核和当前进程
    • 进程是程序的副本,进程是程序执行实例

Bash特性

  • 命令历史、命令补全

    • 查看历史命令:history(默认保存1000个)
      • -c :清空历史命令
      • -d :删除指定位置的历史命令
      • -w :将当前历史命令缓冲区命令写入历史命令文件中
    • 使用技巧
      • !n :执行命令历史中的第n条命令
      • !-n :执行命令历史中倒数第n条命令
      • !!:执行上一条历史命令
      • ![字符串] :执行命令历史中,最近一次以字符串开头的命令
      • !$:引用前一个命令的最后一个参数
      • esc . :引用前一个命令的参数
    • 命令补全:搜索PATH环境变量所指定的每个路径下面以我们给出的字符串开头的可执行文件,使用TAB键进行未写完的命令补全,或者连续两次使用tab键,进行类似命令查找
    • 路径补全:搜索给出的起始路径下的每个文件名,使用tab键补全,或者连续两次使用tab键,进行类似命令查找
    • 管道、重定向
    • 命令别名:使用自己习惯的字符串替换指定命令
      • 命令:alias
      • 语法:alias [别名] = [命令名 + 参数]
      • Linux基础3-1 Bash及其特性
      • 在shell中定义的别名仅在当前shell声明周期中有效,且有效范围只在当前shell,如果切换shell进程或更替shell周期,则别名失效
      • 撤销别名:unalias [别名]
      • Linux基础3-1 Bash及其特性
    • 命令行编辑
      • 光标跳转:
        • Ctrl + a :到行首
        • Ctrl + e :到行尾
        • Ctrl + u :删除光标到行首的内容
        • Ctrl + k :删除光标到行尾的内容
        • Ctrl + l :清屏
    • 命令行展开
    • 命令行替换
      • 使用 $(命令),$将命令执行的结果提取出来当参数
      • bash支持的引号:
        • ‘’ :命令替换
        • “” :弱引用,可以实现变量替换
        • “’ :强引用,不完成变量替换
    • 文件通配名
      • * :匹配任意长度的任意字符
      • Linux基础3-1 Bash及其特性
      • ?:匹配任意的单个字符
      • Linux基础3-1 Bash及其特性
      • [] :匹配指定范围内的单个字符
      • Linux基础3-1 Bash及其特性
      • [] :匹配指定范围外的单个字符
      • Linux基础3-1 Bash及其特性
      • [:space:] :匹配空白字符
      • [:punct:] :匹配标点符号
      • [:lower:] :匹配小写字母
      • [:upper:] :匹配大写字母
      • [:alpha:] :匹配大小写字母
      • Linux基础3-1 Bash及其特性
      • [:digit:] :匹配数字
      • [:alnum:] :匹配数字和大小写字母
    • 支持使用变量
    • 支持编程

相关推荐