Linux命令行模式的预备知识
命令行模式CML的专有名词知识
从windows过度到Linux最大的变化,就是“更少的使用GUI (graphics user interface),更多的使用CML (command line)”。对于小白有必要理解CML的基本逻辑和专有名词。
Terminal终端
首先我们需要将terminal理解成一个应用程序,只不过这个应用程序有点特殊:它可以通过一定的命令间接、间接、间接的实现对操作系统的调度和控制。为什么说间接呢?你想想如果terminal能直接实现对系统的控制,那岂不是我们这类小白用户可以随便控制操作系统(分分钟崩溃啊!)
那terminal是如何实现对操作系统的控制的呢?–>>shell
Shell壳
shell有2层意思:一层是壳程序,就是我们用户在terminal上编写的命令行语句, e.g.: cd …等等;第二层是壳解释器,它在terminal的后端,负责对我们所写的壳程序进行解释,将其转换成操作系统可以识别并执行的语句,这也就解释了为啥terminal间接控制操作系统的原因。正因为有了shell的存在,才保证了我们普通用户合规的控制操作系统(因为如果你瞎写壳程序,壳解释器不给你解释啊!哈哈!)
bash
shell有很多版本,各有各的优点,其中比较经典的有:bash (Bourne Again Shell)、csh (C Shell)、kch (Korn shell)等。对于我们普通用户只需要考虑各个shell在壳程序层所做的优化,比如:命令行补全、命令行历史查询等。