• shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序

  • 用户可以用 Shell 来启动、挂起、停止或者编写一些程序

  • Shell 还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。

  • Shell 是解释执行的脚本语言,在 Shell 中可以直接调用 Linux 系统命令

echo

  1. 输出命令

  2. -e:激活转义字符

    # hello
    echo hello
    
    # a        b
    echo -e "a\tb"
    

编写执行 shell

  1. 编写 shell

    # !/bin/bash
    echo hello
    
  2. 赋予权限执行

    # 通过 Bash 调用执行脚本
    sh hello.sh
    
    # 赋予执行权限,直接运行
    chmod 755 hello.sh
    chmod u+x hello.sh
    ./hello.sh
    

别名

  1. 临时生效:alias cp="cp -i"

  2. 永久生效:写入环境变量配置文件 vi ~/.bashrc,执行更新 source ~/.bashrc

  3. 删除别名:unalias 别名

命令快捷键

命令 含义
ctrl + c 强制终止当前命令
ctrl + l 清屏
ctrl + a 光标移动到命令行首
ctrl + e 光标移动到命令行尾
ctrl + u 从光标所在的位置删除到行首

历史命令

  1. 语法:history [选项] [历史命令保存文件]

  2. 选项

    • -c 清空历史命令
    • -w 把缓存中的历史命令写入历史命令保存文件 ~/.bash_history
  3. 默认保存 1000 条,设置保存一万条 /etc/profile HISTSIZE=10000

调用

# 清空历史命令
history -c
# 第一次输出 1
echo 1
# 第二次输出 2
echo 2
# 第三次输出 3
echo 3

# 使用上下箭头调用以前的历史命令
# 使用 !n 重复执行第 n 条历史命令
!2
# 使用 !! 重复执行上一条命令
!!
# 使用 !字符 重复执行最后一条以该字符串开头的命令
!echo

输出重定向

  1. 标准输入输出

    设备 设备文件名 文件描述符 类型
    键盘 /dev/stdin 0 标准输入
    显示器 /dev/stdout 1 标准输出
    显示器 /dev/stderr 2 标准错误输出
  2. 输出重定向

    类型 符号 作用
    标准输出重定向 命令 > 文件 以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中
    标准输出重定向 命令 >> 文件 以追加的方式,把命令的正确输出输出到指定的文件或设备当中
    错误输出重定向 命令 > 文件 以覆盖的方式,把命令的错误输出输出到指定的文件或设备当中
    错误输出重定向 命令 >> 文件 以追加的方式,把命令的错误输出输出到指定的文件或设备当中
    正确输出和错误输出同时保存 命令 > 文件 2 >& 1 以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中
    正确输出和错误输出同时保存 命令 > 文件 2 >>& 1 以追加的方式,把正确输出和错误输出都保存到同一个文件当中
    正确输出和错误输出同时保存 命令 &> 文件 以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中
    正确输出和错误输出同时保存 命令 &>> 文件 以追加的方式,把正确输出和错误输出都保存到同一个文件当中
    正确输出和错误输出同时保存 命令 >> 文件1 2 > 文件2 以覆盖的方式,正确的输出追加到文件 1 中,把错误输出追加到文件 2 中
  3. 输入重定向

    • 命令 < 文件把文件做为命令的输入,wc 命令的功能为统计指定文件中的行数、字数、字节数, 并将统计结果显示输出
    • 示例代码
      vi 1.txt
      # 第一行写入 i love you
      # 第二行写入 do you love me
      
      wc < 1.txt
      # 2   7    26
      # 行  单词  字节
      

符号

多命令顺序执行

多命令执行符 格式 作用 案例
; 命令1; 命令2 多个命令执行,命令之间没有任何逻辑联系 echo 1; echo 2;
&& 命令1 && 命令2 逻辑与 当命令1正确执行,则命令2才会执行 当命令1执行不正确,则命令2不会执行 echo 1 && echo 2;
|| 命令1 || 命令2 逻辑或 当命令1执行不正确,则命令2才会执行 当命令1正确执行,则命令2不会执行 echo 1 || echo 2;

管道符号

  1. 命令1的正确输出会作为命令2的参数

  2. 命令1 | 命令2

    ls /etc/ | more
    

通配符

匹配文件名和目录名

通配符 作用
? 匹配一个任意字符
* 匹配 0 个或任意字符,也就是可以匹配任意内容
[] 匹配中括号中任意一个字符
[-] 匹配中括号中任意一个字符,-代表范围
[^] 匹配不是中括号中的一个字符

其它符号

符号 作用
‘’ 单引号,在单引号中所有的特殊符号,如 $ 和 ` 都没有特殊含义
“” 双引号,在双引号里特殊符号都没有特殊含义,但是 $ ` \ 例外,拥有调用变量值,引用命令和转义的含义
`` 反引号,扩起来的是系统命令
$() 和反引号一样
# 在 shell 脚本中,# 开头的行代表注释
$ 用于调用变量的值
\ 转义符号
# 输出字符串
echo '$PATH'
# 输出变量
echo "$PATH"
# 执行 ls 命令
echo `ls`
# 执行 ls 命令
echo $(ls)
# \ 转义
echo -e "a\tb"
打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于前端开发的技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程。

了解更多

目录

  1. 1. echo
  2. 2. 编写执行 shell
  3. 3. 别名
  4. 4. 命令快捷键
  5. 5. 历史命令
  6. 6. 调用
  7. 7. 输出重定向
  8. 8. 符号
    1. 8.1. 多命令顺序执行
    2. 8.2. 管道符号
    3. 8.3. 通配符
    4. 8.4. 其它符号