Shell

shell

人机交互的中介

常见shell

  • 字符界面

    • terminal

      • 黑窗口
  • 图形界面

    • windows窗口

      • 图形窗口
  • 声控界面

    • 小爱同学

      • 只通过声音交流
  • 真人界面

    • 傻妞

      • 拟人交互界面
  • 主要作用

    • 利用定义好的指令间接的指挥计算机干活

Bash基本功能

  • alisa

    • 给命令起别名功能
  • history

    • 查看历史命令
    • 管道符
  • 通配符

    • ?* [] [-] [^]
  • grep

    • 搜索文本功能
  • 命令 > 文件

    • 输出重定向
  • 多条命令

    • 命令1 :命令2

      • 顺序执行
    • 命令1 && 命令2

      • 前命令正确执行后执行后命令
    • 命令1 || 命令2

      • 前一命令错误执行,才执行后一个命令
  • exit

    • 退出shell
  • 快捷键

    • ctrl+a

      • 光标移到开头
    • ctrl+e

      • 光标移到结尾
    • ctrl+u

      • 向前剪切删除
    • ctrl+k

      • 向后剪切删除
    • ctrl+c

      • 终止当前命令
    • ctrl+z

      • 当前进程后退运行

一门编程语言

数据

  • 字符串

    • 一串字符
  • 数组

  • 文件

  • 变量

    • 自定义变量

      • 局部变量
      • 定义 x=123
      • 调用 $x
      • 叠加 x=”$a”456
      • 查询 set -u
      • 删除 unset x
    • 环境变量

      • 系统环境变量

        • PATH

          • 命令路径
        • PS1

          • 定义命令提示符
        • LANG

          • 系统语言
          • 纯字符界面支持中文:插件zhcon
          • 远程连接工具支持中文
      • 自定义环境变量

        • 全局变量

        • 定义 export x=123

        • 查看

          • 查看所有

            • set
          • 查看环境变量

            • env
        • 调用 $x

        • 删除 unset

    • 预定义变量

      • 位置参数变量

        • $n $* $@ 向脚本程序传递参数
      • $?

        • 最后一条命令的返回状态
      • $$

        • 当前进程的进程号(PID)
      • $!

        • 最后一个进程的进程号(PID)

函数

  • 内置函数

    • 可忽略
  • 自定义函数

    • 很少用
  • 内置命令

    • echo

      • 回声,输出内容到屏幕
    • read

      • 接收键盘输入功能
      • -p 提示信息
        -t 等待时间
        -n 指定字符数
        -s 隐藏输入
    • declare

      • 声明变量类型
  • 文本处理工具

    • 正则表达式

    • cut

      • 提取列数据
    • sed

      • 提取行数据
    • awk

      • 文本分析
    • sort

      • 排序工具

流程控制

  • 条件语句

    • if语句

      • if then
    • 双分支

      • if then else
    • 多分支

      • if elif else
      • case
  • 循环语句

    • for
    • while
    • until
  • break

  • continuse

参考资料

http://linuxcommand.org/index.php

https://billie66.gitbooks.io/tlcl-cn/content/

https://www.gnu.org/software/bash/manual/bash.html


Shell
http://www.keker.top/2018/09/24/Linux/shell/
作者
Keker
发布于
2018年9月24日
许可协议