百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

shell教程第0篇--shell是什么

liuian 2024-11-28 00:50 51 浏览

shell教程第0篇--shell是什么

本文是shell教程第0篇,主要介绍shell编程的基本知识。

  • 首先介绍shell是什么,介绍shell在linux/unix中的重要作用
  • 接下来会厘清shell中的一些概念,区分shell和shell script
  • 一般系统带的shell都及其难用,这里介绍如何配置shell让工作更加顺手
  • shell script是我们重点学习的内容,接下来简要分析一下shell编程的难点和我们学习的过程
  • 最后会给出整个教程的目录,方便大家按照自己的需要查阅

shell是什么

在影视作品中,常常看到一个天才在电脑面前敲几下代码,然后就成功地黑进了对方服务器,然后把对方给制服了。而他面对的黑色界面,通常就是一个shell。其实你内心会想,为啥不是一路鼠标点击下一步?

计算机早期只有键盘(没有鼠标),所有和计算机的交互都是通过键盘输入命令来实现。比如我们在命令行(terminal中)输入ls,就可以显示当前目录下的文件。

但其实从输入ls到在屏幕上显示文件夹这是一个很复杂的过程。要点就是我们通过shell来调用计算机操作系统的内核,操作系统的内核来控制硬件做出相应的行为。

下面讲一个冗长的故事来说明这个问题。如果不愿意看,可以略过。
电子计算机是一堆实实在在的物理器件搭建起来的。屏幕上能的文字,硬盘中存储文件,都是因为硬件中的电路改变的结果。操作计算机,其实是对硬件的操作。但是硬件确实是很复杂的东西,复杂到人脑大约装不下。简单的硬件比如说电子手表,复杂的硬件比如说计算机芯片:别说操作硬件了,就连看懂电路图都很困难;遑论把它们组装起来实现一定的功能。此时,人们的处理办法是分块处理。定义好各个部分之间的连接和接口,把每个模块开发好,然后连接起来一起处理。不同模块实现不同功能,最终各个击破,实现我们想要的效果。
低级的功能在底层实现,高级的功能在顶层实现。低级的功能通过组合就是高级的功能。比如说控制屏幕上特定的一个点显示的颜色是一个低级的功能,这个是人脑能够处理的。我们先把这个东西搞好。然后通过组合,就可以实现对屏幕上所有点的控制,这就是高级功能。

低级功能和高级功能之间必然存在接口,这样才能从上往下发命令,从下往上反馈结果。在计算机中,硬件处于底层,而我们对计算的操作处于顶层,顶层和底层之间联系的通道就是shell。

再举一个建房子的的例子。工人擅长搬砖,砌墙啥,项目负责人来指挥,起初要建房的人,不会和工人直接谈,而是会经过项目负责人来谈。这里的shell就是起初建房的人和项目负责人的语言。

在计算机中,操作内核的也不只有shell,常见的软件也是可以操作到系统内核的。最常见的图形界面,也是会操作系统内核的。

不过shell在Unix/Linux等机器上具有效率高,可以短期大量操作的优点,所以成为运维的需要。

常见的shell

从前面的讲述中可以了解到,shell并不是操作内核的唯一方式。这里也可以做一点小小推断,不同的shell也可以操作内核,实现相同功能。实际也是有多个shell可以使用。最常见的shell是bash,也有sh和zsh。通常裸的bash是很难用的,特别是你用过配置过后的zsh。

shell script

shell中本身可以执行命令,有时候就是一条一条命令的堆叠。针对我们要实现的功能,我们把它们写到一个文件里面,从上到下串行执行。这个就是shell script。
shell是执行shell script的环境,我们学习shell,主要是学习shell script的编写方式。

shell script编写难处

我们写c++,写python,都有调试的过程。代码写得对不对,不是自己说了算,还是要真刀实枪地上机器运行,便知分晓。
当然,这个调试需要有一堆调试环境。或者要集成开发环境。但是在shell script中,则几乎没有这样的环境,只能实际到系统中去运行,但是对与错误的反馈总是不那么智能。

特别是某些针对文件夹的操作,你调试一次,建立了文件夹。条件就又和你上次不一样了。

另外,shell script的语法,和python c++啥的,又有明显的不同。如果你是先学的c++或者python,然后来学shell script,就会觉得shell中有些语法很莫名其妙。

shell script学习方式

这个又是老生常谈的话题了。如何学习shell script,方式就是不断练习。
本系列教程的目录如下:

  • shell的配置
  • shell与shell script的区别(本文)
  • shell script中的变量
  • shell script中变量的运算
  • shell script对文件夹的判断
  • shell script中选择分支循环结构的书写

相关推荐

手机u盘有必要买吗(手机u盘需要什么软件)

网上卖的手机U盘大都是各地的实体数码店进行发货和销售的。他们采用的U盘质量和工厂生产的质量是一致的。并没有什么区别对待。而且由于网上销售费用比较低,所以他在售卖比实体数码店售卖的价格更低,所以这种手机...

电脑系统怎么下载到u盘中(电脑系统win7纯净版下载官方免费版最新版)

下载电脑系统,可以到电脑系统资源下载网站,找到下载页面的下载点,右击下载点,选择迅雷下载,可以把系统文件下载到硬盘里,然后插上U盘,将下载好的系统文件复制到U盘。另一种方法是,将迅雷软件的默认下载路径...

小米主题安装器(红米主题商店app下载安装)

很抱歉,一加九手机无法直接安装小米主题。因为一加九和小米手机使用的是不同的操作系统和主题引擎,它们之间不兼容。一加九使用的是基于Android的OxygenOS操作系统,而小米手机使用的是基于Andr...

hp电脑恢复出厂系统(hp电脑恢复出厂系统操作)

  在开始菜单的【设置】中找到【重置此电脑】的选项即可开始重置恢复到出厂设置;如果您需要整个硬盘格式化,可以选择其中的【删除所有文件】的选项,等待系统设置完成之后会重新进入新系统设置。以下是详细介绍:...

ghost做c盘镜像的步骤(ghost制作镜像步骤)

共9个步骤:1、一般GHOST工具是在PE启动后使用,这个就是PE中GHOST所在路径,找到这个软件并运行。2、界面是英文版本的,因为软件的易操作易学习性,所以这个软件基本没有中文版版本,然后在弹出的...

win10家庭版怎么激活系统(win10家庭版激活步骤)

win10家庭中文版怎么激活1.在win10系统桌面上,点击左下角的开始按钮选择设置选项进入。2.进入设置列表菜单,点击更新和安全选项进入。3.点击激活选项继续下一步操作。4.在弹出输入产品密钥的对话...

office2010和2016区别(office2010和2016差别大不大)

一、指代不同1、word2010:Word2010是Microsoft公司开发的Office2010办公组件之一,主要用于文字处理工作。2、word2016::Word2016是Microsoft公司...

在电脑上怎么截图(在电脑上怎么截图保存到桌面)
  • 在电脑上怎么截图(在电脑上怎么截图保存到桌面)
  • 在电脑上怎么截图(在电脑上怎么截图保存到桌面)
  • 在电脑上怎么截图(在电脑上怎么截图保存到桌面)
  • 在电脑上怎么截图(在电脑上怎么截图保存到桌面)
win10官网下载教程(windows官网下载win10)

步骤1首先打开360安全浏览器步骤2在搜索框中输入“微软官网”,点击“搜索”按钮步骤3点击进入微软官网步骤4下滑界面,在下方可以看到可以下载的系统,此处以windows10企业版下载为例,点击这个版本...

恢复帝app下载(恢复帝app官方)

微信删除好友一般是不能恢复的,有时候在网上会看到一些关于微信删除好友可以帮助恢复的黑客,大多数都是骗人的,因此,再着急恢复好友也需要理智、谨防上当受骗。1.电源:首先确认摄像头通电是否正常状态,指示灯...

系统之家下载安装(系统之家安装版)

是靠谱的。系统之家(HomeSystem)广义上包含了电脑系统安装和手机系统安装,在之前手机软件还不是很普及的时候一般特指电脑系统安装,可如今手机用户大量的出现,安卓系统可以说超过Windows系统...

win10正版系统官网原版纯净版老电脑

一,纯净版Win10系统是根据正版系统制作的,没有夹杂其它软件和驱动,和正版系统一样安装完后需要打各种驱动和根据安装常用软件。二,本质上纯净版Win10也是盗版系统,这是和正版系统最大的区别,而且可能...

十大最好用的浏览器(市面上最好用的浏览器)

1、谷歌chrone  谷歌美国Google公司开发的一款浏览器,谷歌浏览器的特点就是界面简洁,速度快不卡顿,内容全面,你想要找到内容上面都有,就是在安装插件的方面会比较麻烦,不过看在它那么好用的份...

ipad充不上电了怎么办(ipad充不上电怎么办但显示在充电)

 原因和解决办法: 1、ipad充不进去电很可能是充电线的原因,假如大家在给ipad充电的时候以前经常有过接触不良的情况,那么,你就需要考虑更换充电线了。  2、第二,就是接口问题了,或者说是充电...

怎样取消开机启动项目(如何取消开机启动程序)

在Windows操作系统中,有一些程序或服务可能会在计算机启动时自动运行,这些程序或服务也被称为开机启动项。如果您希望在启动Windows时减少计算机运行的程序或服务数量,您可以关闭一些开机启...