Shell基础

什么是Shell?

Shell相当于内核的外壳,相当于人与内核交互的程序接口

那么什么是内核呢?

 内核是操作系统的内部核心程序,它向外部提供了对计算机设备的核心管理调用,Linux系统使用的是单一内核结构,虽然是单一内核体系但是它与传统的单一内核UNIX操作系统不同,在普通的单一内核系统中,所有的内核代码都是被静态编译联入的,而在Linux中.可以动态装入和卸载内核中的部分代码。Linux将这些代码段称为模块。(module),并对模块给与了强有力的支持.在Linux中,可以在需要时自动装入和卸载模块

 Linux的内核是非抢占式的,即Linux不能通过改变优先权来影响内核当前的执行流程,因此,Linux在实现实时操作时就有问题。Linux并不是一个“硬”实时操作系统.在Linux内核中,包括进程管理、定时器、中断管理、内核管理

Shell的种类:可以通过 cat /etc/shells 查看shell种类 在这里插入图片描述其中Linux默认的是/bin/bash类的Shell

/bin/bash的简介

1、命令记忆功能
登陆后,输入的命令暂时记录在内存中,当关机后,存储在当前用户主目录的 .bash_history中最多能记录1000条命令
2、命令和文件名补全功能
按tab键补全
3、命令别名设置功能
alias lm=“ls -la”

在这里插入图片描述
此时lm替代的就是“ls -la”命令,当再次启动或者打开新窗口时失效。
4、进行前后台切换
5、通配符功能
ls ~/ha*
6、编程语言功能
shell支持编程语言的功能.如变量,分支,循环,数组等编程语法

Shell中的变量

shell的变量与编程语言中的变量意义是一样的
1、变量的命名规则
(1)可以使用英文字母,数字,下划线,同样的数字不能开头
(2)变量名通常大写
(3)不能使用空格,其他符号
(4)不能使用bash中的关键字
2、使用规则
(1)没有类型区别,直接写变量名。
(2)使用“=”赋值,但是“=”前后不能有空格
(3)必须使用$连接变量名 $变量名 ${变量名}

只读变量和删除变量

   readonly [变量名] :设置为只读变量后,变量不能够删除(使用超级管理员的身份可以)或者修改

在这里插入图片描述
使用Unset删除命令之后
,在这里插入图片描述会提示Myname这个变量是只读变量不能进行删除
unset命令是用来删除变量的
首先定义一个Name变量,

在这里插入图片描述直接在命令行上输入变量的名,然后使用echo命令进行查看,需要注意的是,当使用echo查看变量时,必须要在变量名前加 ***$***,不然无法进行查看变量
使用unset命令删除Name这个变量
在这里插入图片描述
使用unset命令删除变量时,不需要在变量名字前面 加 $字符.

env、export、set三个命令查看环境变量

  env:显示当前用户的环境变量

在这里插入图片描述
set:显示当前Shell所有变量.包括其内建环境变量(与Shell外观等相关),用户自定义变量及导出的环境变量。

在这里插入图片描述
export:显示(设置)当前导出成环境变量的Shell变量(注意:export为bash或类bash私有的命令)
在这里插入图片描述

什么是环境变量呢?

环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息.通过使用环境变量,可以很容易的修改一个牵涉到一个或者多个应用程序的配置信息(Linux是一个多用户的操作系统,每个用户登录后,都会有一个专用的运行环境,通常每个用户默认的环境是相同的,这个默认环境实际上就是一组环境 变量的定义.用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值