shell 1:shell简介

本文详细介绍了Linux Shell的各个方面,包括Shell的特点、它与内核的关系、如何连接用户和内核、Shell编程、不同类型的Shell以及脚本编写。讲解了Shell作为命令语言和编程语言的双重角色,强调其在自动化任务和日常Linux管理中的重要性。此外,还提到了常见的Shell种类,如bash、csh、ksh,并解释了不同Shell配置文件的作用和用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 shell特点

1.1 shell是什么

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。

1.2 shell和内核关系

Shell 本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序,它和其他应用程序如QQ等一样,然而 Shell 也有着它的特殊性,就是开机立马启动,并呈现在用户面前;用户通过 Shell 来使用 Linux,不启动 Shell 的话,用户就没办法使用 Linux。

1.3 shell连接用户和内核

Shell 程序本身的功能是很弱的,比如文件操作、输入输出、进程管理等都得依赖内核。我们运行一个命令,大部分情况下 Shell 都会去调用内核暴露出来的接口,这就是在使用内核,只是这个过程被 Shell 隐藏了起来,它自己在背后默默进行,我们看不到而已。

1.4 shell连接应用程序

在 Shell 中输入的命令,有一部分是 Shell 本身自带的,也叫做内置命令;有一部分是其它的应用程序(一个程序就是一个命令),称之为外部命令。

Shell 本身支持的命令并不多,功能也有限,但是 Shell 可以调用其他的程序,每个程序就是一个命令,这使得 Shell 命令的数量可以无限扩展,其结果就是 Shell 的功能非常强大,完全能够胜任 Linux 的日常管理工作,如文本或字符串检索、文件的查找或创建、大规模软件的自动部署、更改系统设置、监控服务器性能、发送报警邮件、抓取网页内容、压缩文件等。同时,Shell 还可以让多个外部程序发生连接,在它们之间很方便地传递数据,也就是把一个程序的输出结果传递给另一个程序作为输入。

1.5 Shell编程

Shell 并不是简单的堆砌命令,我们还可以在 Shell 中编程,这和使用 C++、C#、Java、Python 等常见的编程语言并没有什么两样。Shell 虽然没有 C++、Java、Python 等强大,但也支持了基本的编程元素,例如:

if...else 选择结构,case...in 开关语句,for、while、until 循环;

变量、数组、字符串、注释、加减乘除、逻辑运算等概念;

函数,包括用户自定义的函数和内置函数(例如 printf、export、eval 等)。

站在这个角度讲,Shell 也是一种编程语言,它的编译器(解释器)是 Shell 这个程序。我们平时所说的 Shell,有时候是指连接用户和内核的这个程序,有时候又是指 Shell 编程。

1.6 shell使用场景

Shell 主要用来开发一些实用的、自动化的小工具,而不是用来开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值