Jack
2021-01-12 16:13 deepin
大家有没看懂的,可以在评论区直接留言哦
Reply Like 1 View the author
大家有没看懂的,可以在评论区直接留言哦
对用户极其友好的 fish 也应该介绍一下吧,虽然它不符合 posix 标准
对用户极其友好的 fish 也应该介绍一下吧,虽然它不符合 posix 标准
这个,fish我没有用过啊
如果你觉得好用的话,你开个帖子介绍一下,我在文中引用一下你的帖子。
这个是原创还是课件呀
这个是原创还是课件呀
肯定是原创啊
课件有那么多参考资料吗?
第二张图片没有图片来源,是因为这是我自己截的自己的系统图
正文中链接挂了,原地址在这:
《今天给大家推荐一个好用的shell》https://bbs.deepin.org/post/194562
非常牛B。感谢deepin出这样的系列文章!!
非常牛B。感谢deepin出这样的系列文章!!
你这是把我当成官方人员了吗?
我是一个官方认证的deepin爱好者
你这是把我当成官方人员了吗?
我是一个官方认证的deepin爱好者
牛B plus
写完了记得参加官方的评测活动,保准拿第一
写完了记得参加官方的评测活动,保准拿第一
嗯嗯,我继续努力
推荐一波 zsh 的zim 框架,比oh-my-zsh快,更小更方便
继续努力
继续努力
谢谢鼓励。
我是菜鸟,现在不都用puty或Xshell这两个工具了吗?特别是Xshell
我是菜鸟,现在不都用puty或Xshell这两个工具了吗?特别是Xshell
你说的 putty 和 Xshell是运行在windows上连接linux的应用。
我这里说的shell,既是用户命令与Linux内核交互的接口,也是一种编程语言,可以编写脚本文件。
什么是终端?
在早期的计算机历史上,终端的概念是这样的:
图1 约1982年的ASKII视频终端(图源)
终端的工作:用户通过终端输入命令,终端将命令传入计算机,执行后,并把结果输入到终端上显示。
但是现在计算机硬件一体化程度越来越高,硬件质量也越来越强,输入输出设备完全没必要 单独用一个硬件和计算机进行交换信息了,取而代之使用软件终端和计算机进行交互信息。这就是终端模拟器 (Terminal Emulator),也就是现在人们所了解的终端。
图2 terminator 终端终结者
当使用图形用户界面时,需要终端模拟器与shell进行交互。在Linux系统中,有许多终端模拟器可以使用,但是它们基本上都做同样的事情:让用户访问shell。
那么,
shell 是什么?
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。是在Linux内核与用户之间的解释器程序,现在Linux通常指/bin/bash解释器来负责向内核翻译以及传达用户/程序指令,shell相当于操作系统的“外壳”。
图3 linux架构(图源)
如上图所示:如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。
Shell相当于是一个翻译,把我们在计算机上的操作或我们的命令,翻译为计算机可识别的二进制命令,传递给内核,以便调用计算机硬件执行相关的操作;同时,计算机执行完命令后,再通过Shell翻译成自然语言,呈现在我们面前。
shell分为两大类:
以上是shell作为命令解释器,同时Shell有自己的编程语言 用于对命令的编辑,它允许用户编写由shell命令组成的程序。
shell也是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
最后,bash 与 shell
上文所述,shell是运行在终端中的命令语言,而bash(GNU Bourne-Again Shell)是最常用的一种shell。
由于早年的 Unix 年代,发展者众,所以由于 shell 依据发展者的不同就有许多的版本,例如常听到的 Bourne SHell (sh) 、在Sun 里头默认的 C SHell、 商业上常用的 K SHell、还有 TCSH,ZSH 等等,每一种 Shell 都各有其特点。
图4 shell家族(图源网络)
现在,随着shell的发展,zsh 受到更多人的喜爱,一些发行版开始把 zsh 作为默认shell。具体原因可见:为什么说 zsh 是 shell 中的极品? - 韦易笑的回答 - 知乎
而 zsh 的安装可以查看社区里的这篇帖子:今天给大家推荐一个好用的shell --fexlou创作
参考资料: