Linux基础----shell的基本应用

Linux Shell是用户与Unix/Linux系统交互的重要桥梁,本文详细介绍了Shell的定义、执行方式,包括交互式和批处理。讲解了不同类型的Shell,如/bin/bash,以及其功能特性,如命令记忆、自动补全、命令别名。此外,文章还涵盖了变量的定义、命名规则、使用方法,以及环境变量和自定义变量的区别,强调了只读变量和删除变量的操作。最后,探讨了shell脚本语言的编程特性,并对比了Shell与编译型语言的差异。

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

shell的定义

Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。shell是人与内核交互的程序接口,人通过程序接口发出指令,通知内核kernel,让硬件进行作业。

Shell执行命令的方式

  1. 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。
  2. 批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。

shell的种类

  1. /bin/sh:sh 由Steve Bourne开发,是Bourne Shell的缩写,sh 是Unix 标准默认的shell。
  2. /bin/bash:bash由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的缩写,是Linux标准默认的shell。它基于Bourne shell,吸收了C shell和Korn shell的一些特性。bash完全兼容sh,也就是说,用sh写的脚本可以不加修改的在bash中执行。
  3. /bin/ash:ash shell 是由Kenneth Almquist编写的,Linux中占用系统资源最少的一个小shell,它只包含24个内部命令。
  4. /bin/tcsh:csh是Linux比较大的内核,它由以William Joy为代表的共计47位作者编成,共有52个内部命令。
  5. /bin/ksh:ksh 是Korn shell的缩写,由Eric Gisin编写,共有42条内部命令。该shell最大的优点是几乎和商业发行版的ksh完全兼容,这样就可以在不用花钱购买商业版本的情况下尝试商业版本的性能了。

/bin/bash的简介

大多数linux系统默认使用的就是/bin/bash这个shell。

功能简介:

  1. 命令记忆功能
    登陆后,输入的命令暂时记录再内存中,当关机后,存储在当前用户主目录的.bash_history。最多能记录1000条命令。
    注:只有当正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值