Linux一些基础的概念,shell,命令

本小节将介绍一些Linux操作系统中的基本概念,包括操作系统,shell,命令,终端,作为我的****专栏《系统学习Linux命令》的开篇。

大学计算机操作系统是我第一次接触Linux系统,但是那门课程偏重于操作系统原理的讲解,linux只是作为原理的演示。在实际工作之后,发现了解计算机操作系统原理还是不够的,要能够熟练的运用linux命令去完成工作,能够掌握linux命令背后的一些原理和背景知识对于linux工程师来说非常的必要。在实际的工作中,对于诸如ls,cd,ps等命令是被不断的使用,但是总感是对于Linux系统,无论是centos还是ubntu以及其他的发行版来说,并没有系统的建立认识。很多的linux知识点都是比较破碎的。因此我希望通过分享我对于Linux的使用经验以及总结,能够让大家使用Linux的过程中,建立其系统的认识,知其然并知其所以然,因此一些概念需要首先明确一下。

1,什么是Linux操作系统

Linux首先是一个操作系统,连接底层硬件和上层应用的中间层,是由大神林纳斯开发的,继承了unix的很多思想并予以发展。Linux是一个开源的项目,吸引了全世界最优秀的一些程序员参与其中,并迅速的成长壮大并成为服务器操作系统的主流。正是由于其开源,很多的公司在其基础上,即相应的内核分支上进行裁剪和增强,并发行了一些被国内外公司广泛使用的版本,比如Centos,Ubuntu,Fedroa等等,如图1:

Linux一些基础的概念,shell,命令

图1

国内公司使用的比较多的就是centos以及ubuntu,本次我将以centos7为例进行linux命令的讲解。

2,什么是shell

shell这个词,接触过Linux的人都应该听说过,比如shell脚本,shell命令, webshell等等,但是很多人对于shell是什么并没有特别明确的认识。shell首先是一个程序。前面我们提到操作系统是一个中间层,连接的是底层硬件和上层软件。那么shell其实也是一个中间层,他链接的是终端和操作系统。将终端传递过来的命令(通过键盘传入终端)传递给操作系统。当然如果shell仅仅只是传话这么简单,其实好像这一层可有可无。其实shell中还提供了环境变量,shell变量,shell函数等诸多的功能,比如cd,help等命令就是shell内置的命令。它复杂性的一面会在后续的章节中陆续的展开。

3,什么是终端

上述第二点提到了终端,什么是终端?终端一词在不同的场景下其含义是不一样的,在互联网这个时代,手机是终端,PC是终端,智能穿戴设备是终端。但是放在Linux中终端指的是图形界面的仿真器,用来和shell进行连接,如图2是centos7系统自带的teminal:

Linux一些基础的概念,shell,命令

图2

很多时候由于系统提供的终端功能有限,不能够满足程序员们的需求,因此通常使用securecrt,xshell等终端来和shell进行连接,传递键盘输入的命令,如图3是我使用的xshell终端:

Linux一些基础的概念,shell,命令

图3

xshell提供了很多有用的功能,比如保存经常使用的命令,保存用户名密码,管理多个远程连接,主题设置等等。

4,什么是命令

命令就是大家输入的字符串,是shell或者操作系统能够理解的有意义字符串组合,如图4:
Linux一些基础的概念,shell,命令

图4

第一次的abcd就不是命令,因为这一串字符,无法被解析。第二行就是命令,被正确的执行并加以显示结果。当然大家对于命令的第一印象就是命令对应着一个可执行程序。可执行程序是一种类型的命令,明亮还包括shell内置命令等其他的类型。关于命令类型的知识点,下一个章节将会单独进行解释。

本文为****村中少年原创文章,未经允许不得转载,博主链接这里