我们一起学shell之一:shell了解

写在最前面!!!!!!by skyfans

下定决心,开始编写这方面的博客内容。原因很简单,自己做了运维近8年,从最开始的windows服务器运维到后来接触linux,是一个漫长的过程,也不是一个漫长的时间。技术这玩意,更新的越来越快,如果作为一名技术人员,不努力,永远也赶不上技术的快轨列车。也很清楚的记得一个童鞋回来和我说的东西:我去面试的时候那个经理给我出了一个shell的题,我没有直接答上来,那个经理说了一个很深的话:”作为一个运维不会shell,那就像失去了双腿一样!!“

在企业工作了这些年,从一名技术人员转变到项目经理,在到部门经理。感觉人生匆匆,每天处理不完的事情,技术在不复习的情况下,慢慢就忘掉了。人的遗忘是真的很快的!

前几天在考虑更新一个每天一个shell脚本系列内容,但是在更新后呢,好多的童鞋说经理:你写的内容有点hight了,我们多少有些看不懂,如果直接拿来用,我们又学不到东西(其实对于一个老运维人员来说肯定会感觉我写的东西都Low的不行,哈哈!!)。为此,我计划开始来一个我们一起学shell系列,目的还是照顾那些想从0开始学习的淫们吧!~~哈哈!

关于起个名字,不知道气什么好,我个人没啥文采,最近在看抖音上面有一首《我们一起学猫叫》好像挺火,那我就算是来了灵感,来个《我们一起学shell》系列吧!~于是名字就这么定了!!

好,扯淡到此结束!!开始正题!!

《一》shell基本介绍

1.1什么是shell

在学习东西之前,我们先要产生疑问,这是什么,是干吗的?就像小孩子一样,开始在成长的时候有各种各样的问题,像十万个为什么!!

什么是shell?
在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。Shell是一个用C语言编写的脚本语言,它是用户与Linux的桥梁,用户输入命令交给Shell处理,Shell将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。

总结下:就是壳和内核之间的勾引关系,不对是沟通关系。记住,是linux上的,windows可不认识它!

网络上偷个图,放在下面
在这里插入图片描述

1.2 shell基本分类

基本上shell分两大类:
(1):图形界面shell(Graphical User Interface shell 即 GUI shell)
(2):命令行式shell(Command Line Interface shell ,即CLI shell)

1.2.1 GUI shell
GUI为Unix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境。例如:应用最为广泛的 Windows Explorer (微软的windows系列操作系统),还有也包括广为人知的 Linux shell,其中linux shell 包括 X window manager (BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 XFCE等内容。

1.2.2 CLI shell
CLI是在用户系统提示符下使用键盘输入可执行命令的界面,用户通过键盘输入指令,完成一系列操作,并返回相应结果内容。文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。

1.2.3 shell的类型
Shell基本上是一个命令解释器,类似于DOS下的command。它接收用户命令(如free -m,df -h等),然后调用相应的应用程序指令内容,回馈结果。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。

shell的类型,在UNIX中主要有:
Bourne shell (包括 sh,ksh,and bash)
Bourne shell ( sh)
Korn shell ( ksh)
Bourne Again shell ( bash)
POSIX shell ( sh)
C shell (包括 csh and tcsh)
C shell ( csh)
TENEX/TOPS C shell ( tcsh)

由于在日常运维工作中我们常用的是bash的内容,所以后续我们主讲此种shell的相关姿势点。Bash 也是大多数Linux 系统默认的 Shell。

猜你喜欢

转载自blog.csdn.net/xzm5708796/article/details/83685756