From 5f7b8f8077929676a7b8b5a3f7f05908b8396e86 Mon Sep 17 00:00:00 2001 From: feilong Date: Thu, 10 Feb 2022 15:12:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0shell?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../learn.md" | 2 +- .../5.Shell/learn.md" | 66 +++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) diff --git "a/data/3.gml\351\253\230\351\230\266/2.Linux\347\216\257\345\242\203\345\256\211\350\243\205/4.\347\273\210\347\253\257(Terminal)/learn.md" "b/data/3.gml\351\253\230\351\230\266/2.Linux\347\216\257\345\242\203\345\256\211\350\243\205/4.\347\273\210\347\253\257(Terminal)/learn.md" index dea51aa..a34fca1 100644 --- "a/data/3.gml\351\253\230\351\230\266/2.Linux\347\216\257\345\242\203\345\256\211\350\243\205/4.\347\273\210\347\253\257(Terminal)/learn.md" +++ "b/data/3.gml\351\253\230\351\230\266/2.Linux\347\216\257\345\242\203\345\256\211\350\243\205/4.\347\273\210\347\253\257(Terminal)/learn.md" @@ -11,7 +11,7 @@ 对`终端`和`shell`的通俗解释: * `shell`: - * 解析输入命令并传递给操作系统的程序,并把操作系统反馈信息输出的程序,是shell + * 解析输入命令并传递给操作系统的程序,并把操作系统反馈信息输出的程序,是`shell` * `终端`: * GUI下,把GUI下管理`shell`的程序(负责让`shell`能在GUI下交互、以及同时开启多个`shell`等叫做`terminal`) * 非GUI下,只有纯文本界面,Linux`终端`包含3类: diff --git "a/data/3.gml\351\253\230\351\230\266/2.Linux\347\216\257\345\242\203\345\256\211\350\243\205/5.Shell/learn.md" "b/data/3.gml\351\253\230\351\230\266/2.Linux\347\216\257\345\242\203\345\256\211\350\243\205/5.Shell/learn.md" index e69de29..7ae9b27 100644 --- "a/data/3.gml\351\253\230\351\230\266/2.Linux\347\216\257\345\242\203\345\256\211\350\243\205/5.Shell/learn.md" +++ "b/data/3.gml\351\253\230\351\230\266/2.Linux\347\216\257\345\242\203\345\256\211\350\243\205/5.Shell/learn.md" @@ -0,0 +1,66 @@ +# 认识Shell + +根据上一题的材料,核心是4个点: + +* `终端`和`shell`是两个概念 +* `终端` 负责交互 +* `shell` 负责解析输入命令并传递给操作系统的程序,并把操作系统反馈信息输出 + +`shell` 源自Unix,一直发展到今天,已经有非常多不同的`shell`。如果你在`Unix/Linux`的终端下执行命令`cat /etc/shells`,就可以看到系统上安装的`shell`程序列表,例如: + +```bash +/bin/bash +/bin/csh +/bin/dash +/bin/ksh +/bin/sh +/bin/tcsh +/bin/zsh +``` + +重点介绍下: + +* `sh`: 最初的UNIX shell程序,由Steve Bourne编写 +* `bash`: 几乎所有的Linux/Mac都提供`bash`,`bash`是Bourne Again Shell的首字母缩写,是`sh`的增强版本 +* `zsh`:有“终极Shell”之称,可直接使用各自平台的包管理工具安装,页面:[zsh](https://zsh.sourceforge.io/) +* `fish`: 也是一个常用的shell,可直接使用各自平台的包管理工具安装,页面:[fishshell](https://fishshell.com/) + +根据上述材料,下列哪些说法是错误的 + +## 答案 + +```bash +在一个终端里执行命令序列: +* 输入 sh 回车 +* 输入 bash 回车 +* 输入 zsh 回车 +* 输入 fish 回车 +* 输入 exit 回车 +* 输入 exit 回车 + +此时,当前终端停留在`bash`环境下 +``` + +## 选项 + +### A + +```bash +在一个终端里执行命令序列: +* 输入 sh 回车 +* 输入 bash 回车 +* 输入 zsh 回车 +* 输入 exit 回车 +* 输入 exit 回车 + +此时,当前终端停留在`bash`环境下 + +``` + +### B + +Windows上安装WSL后,也可以在终端里使用对应Linux子系统的 shell 环境 + +### C + +zsh和fishshell都有便利的命令自动完成功能,可以极大的提高效率 -- GitLab