登录  | 加入社区

黑狼游客您好!登录后享受更多精彩

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 571|回复: 0

【连载】嵌入式Linux开辟教程:Linux Shell

[复制链接]

216

主题

1

帖子

0

现金

黑狼菜鸟

Rank: 1

积分
0
发表于 2017-12-4 02:05:27 | 显示全部楼层 |阅读模式 来自 澳大利亚
第3章 开始利用Linux


本章导读


本章重点先容Linux的常用操纵和下令。在先容下令之前,先对Linux的Shell举行了简朴先容,然后按照大多数用户的利用风俗,对各种操纵和相干下令举行了分类先容。对相干下令的先容都力图普通易懂,都给出操纵实例,使读者可以或许照着现实操纵,并得到精确效果。下令是Linux操纵体系的利器,务必把握好,固然不大概一下子纯熟把握,但是只要多加训练,就可熟能生巧,运用自若。末了对Linux的情况变量也举行了须要的先容。


3.1 Linux Shell


3.1.1 Shell是什么


前面已经提到过,Linux体系为用户提供了多种用户界面,包罗Shell界面、体系调用和图形界面。此中Shell界面是UNIX/Linux体系的传统界面,也可以说是最紧张的用户界面,无论是服务器、桌面体系照旧嵌入式应用,都离不开Shell。


Shell,英文本意是外壳,Linux Shell就是Linux操纵体系的外壳,为用户提供利用操纵体系的接口,是Linux体系用户交互的紧张接口。登录Linux体系大概打开Linux的终端,都将会启动Linux所利用的Shell。


Linux Shell一个下令表明器,是Linux下最紧张的交互界面,从尺度输入吸收用户下令,将下令举行剖析并通报给内核,内核则根据下令,作出相应的动作,假如有反馈信息,则输出到尺度输出上,表示过程如图 3.1所示。嵌入式Linux的尺度输入和输出都是串口终端。


HwFlgAa0zgGaTt0Z.jpg

图3.1 下令输入和效果输出



Shell既能表明自身的内建下令,也能表明外部下令,如体系某个目次下的可实行步伐。Shell起首判定是否是本身的内建下令,然后再查抄是不是体系的应用步伐,假如不是内建下令,在体系也找不到这个应用步伐,则提示错误信息,假如找到了应用步伐,则应用步伐调入体系调用时陷入内核。



Shell也是一种表明型的步伐计划语言,而且支持绝大多数高级语言的步伐元素,如变量、数组、函数以及步伐控制等。Shell编程简朴易学,任安在Shell提示符中输入的下令都可以放到一个可实行的Shell步伐文件中。Shell文件实在就是浩繁Linux下令的聚集,也称为Shell脚本文件。


3.1.2 Shell的种类和特点


Linux Shell有多种Shell,比力通用且有尺度的重要分为两类:Bourne Shell(sh)和C Shell (csh),各自包罗几种详细的Shell,详细如表 3.1所列。


nWtVGDHZvhWb7pXD.jpg



Bourne Shell是UNIX最初利用的shell,在每种UNIX上都可以利用。Bourne Shell的长处是在Shell编程方面很好,缺点是用户的交互不如其他几种Shell。


Bourne Again Shell简称Bash,是Bourne Shell的扩展,与Bourne Shell完全向后兼容,在Bourne Shell的底子上增长了许多新特性。Bash提供了下令补全、下令编辑和下令汗青表等功能,还包罗了许多C shell和Korn shell中的长处,利用机动,界面友爱,编程方便,是GNU/Linux操纵体系的默认Shell。


Korn Shell由AT&T的Bell实行室David Korn开辟,吸取了全部C Shell的交互式特性,并融入了Bourne shell的语法,与Bourne shell完全兼容。


C Shell由Bill Joy在BSD体系上开辟,加强了用户交互功能,并将编程语法酿成了C语言风格,还增长了下令汗青、别名、文件名更换、作业控制等功能。现在利用较少。


在差别发行版中,所接纳的默认Shell也有所差别,如Redhat和Fedora中默认Shell为bash,Ubuntu中用了dash。无论用哪种Shell,登录体系后体系将运行一个Shell历程。根据差别用户,Shell提供差别的下令提示符,root用户的提示符为“#”,平凡用户的下令提示符为“$”,在下令提示符下输入下令即可与体系举行交互。


只管差别发行版的默认Shell有大概差别,但是所接纳的Shell一样平常都具有如下特性:




  • 具有内置下令可供用户直接利用;
  • 支持复合下令:把已有下令组合成新的下令;
  • 支持通配符(*、?、[]);
  • 支持TAB键补齐;
  • 支持汗青记载;
  • 支持情况变量;
  • 支持背景实行下令大概步伐;
  • 支持Shell脚本步伐;
  • 具有模块化编程本领,如次序流控制、条件控制和循环控制等;
  • Ctrl+C能停止历程。


本文为CSDN原创,点击“阅读原文”可检察全文并到场讨论。


假如您喜好这篇文章,请点击右上角“…”将本文分享给你的朋侪。




上一篇:运维看家本事之一:Shell脚本编程与正则表达式
下一篇:shell脚本极简教程
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

 

QQ|申请友链|小黑屋|手机版|Hlshell Inc. ( 豫ICP备16002110号-5 )

GMT+8, 2024-5-16 08:53 , Processed in 0.057938 second(s), 47 queries .

HLShell有权修改版权声明内容,如有任何爭議,HLShell將保留最終決定權!

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表