Linux基础学习(10)--Shell基础
第十章——Shell基础
一.Shell概述
1.Shell是什么:
(1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

(2)Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
2.Shell的分类:
(1)BourneShell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh。
(2)C Shell:C Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名。
(3)Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh。
(4)Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。
3.Linux支持的Shell:
/etc/shells
二. Shell脚本的执行方式
1.echo输出命令:





2.第一个脚本:

3.脚本执行:

三.Bash的基本功能
1.历史命令与命令补全:
(1)历史命令:


(2)历史命令的调用:

(3)命令与文件补全:

2.命令别名与常用快捷键:
(1)命令别名:

(2)命令执行顺序:

(3)让别名永久生效:

(4)删除别名:

(5)Bash常用快捷键:

3.输入输出重定向:
(1)标准输入输出:

(2)输出重定向:


(3)输入重定向:


4.多命令顺序执行与管道符:
(1)多命令顺序执行:




(2)管道符:



5.通配符与其他特殊符号:
(1)通配符:


(2)Bash中其他特殊符号:





四.Bash的变量
1.用户自定义变量
(1)什么是变量:变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。
(2)变量设置规则:变量名称可以由字母、数字和下划线组成,但是不能以数字开头。如果变量名是“2name”则是错误的。
(3)变量分类:用户自定义变量。
(4)本地变量:


2.环境变量
(1)环境变量是什么:用户自定义变量只在当前的Shell中生效,而环境变量会在当前Shell和这个Shell的所有子Shell当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的Shell中生效。
(2)设置环境变量:

(3)系统常见环境变量:



3.位置参数变量




4.预定义变量
(1)预定义变量:


(2)接收键盘输入:


五.Bash的运算符
1.数值运算与运算符:
(1)declare声明变量类型:

(2)数值运算—方法1:

(3)方法2:expr或let数值运算工具

(4)方法3:“$((运算式))”或“$[运算式]”
(5)运算符:


2.变量测试与内容替换:




六.环境变量配置文件
1.环境变量配置文件简介:
(1)source命令:

(2)环境变量配置文件简介:


2.环境变量配置文件作用:






3.其他配置文件和登录信息:
(1)注销时生效的环境变量配置文件:

(2)其他配置文件:

(3)Shell登录信息:



Linux基础学习(10)--Shell基础的更多相关文章
- linux 学习10 shell 基础
10.1 Shell概述 .Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一 ...
- 【Linux基础总结】Shell 基础编程
Shell 基础编程 重启虚拟机遇到磁盘损坏如何解决 Shell编程中变量的声明.引用及作用域 Shell程序 概述 以文件形式存放批量的Linux命令集合,该文件能够被Shell解释执行,这种文件就 ...
- python基础学习10
python基础学习 内容概要 文件内光标的移动 文件数据修改 函数简介 函数语法结构 内容详情 文件内光标的移动 with open(r'路径','r',encoding='utf8') as f: ...
- Shell基础学习(一) Shell简介
Shell是什么? Shell是C语言编写的一种程序,用于用户与linux操作系统交互:Shell既是命令语言,又是程序设计语言. Shell脚本是什么? Shell脚本是用Shell编写的脚本程序. ...
- Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用
一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境 2> 练习命令历史.命令别名 3 ...
- linux 学习随笔-shell基础知识
1:用户的shell历史命令保存在home/username/.bash_history中 #!! 执行用户的上一条命令 #!pw 执行命令历史中最近一次以pw开头的命令 2:'*'来匹配零或多个 ...
- linux/linux学习笔记-Shell基础(mooc)
一.shell概述 shell根据ascII表,将命令翻译为0101...传给内核执行. 内核->shell翻译为命令->用户(操作的界面就是shell,shell=翻译官) linux标 ...
- Linux 笔记 - 第十章 Shell 基础知识
博客地址:http://www.moonxy.com 一.前言 Shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行.实际上 Shell 是一 ...
- lesson - 10 shell 基础知识
课程大纲: 1. shell特性 命令历史 history !! !$ !n !字符 Tab 键可以补全文件路径或者命令 alias a=“b” unalias a 通配符 *匹配零个或多个 ...
- C++基础学习10:继承
继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似. 继承可以理解为一个类从另一个类获取方法(函数)和属性(成员变量)的过程.如果类B继承于类A,那么B就 ...
随机推荐
- 机器学习算法总结(十二)——流形学习(Manifold Learning)
1.什么是流形 流形学习的观点:认为我们所能观察到的数据实际上是由一个低维流行映射到高维空间的.由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上这些数据只要比较低的维度就能唯一的表示 ...
- Oracle会话超时退出设置
前一段时间客户打电话说自从数据库搬迁后连接数据库总是提示会话不可用,和客户沟通才知到他们连接数据库的程序是从早上连上数据库后就一直保持连接状态,一天中需要执行几次操作,由于数据库中的会话连接有超时限制 ...
- 【angularjs】使用angular搭建项目,实现隔行换色
描叙:使用ng-class实现每隔3行换色 代码: <!DOCTYPE html> <html ng-app="myApp"> <head> & ...
- 003_生成器(generator)内部解析
#http://kb.cnblogs.com/page/87128/(未看完)
- 初学Python——字符串相关操作
基本字符串操作 Pyhton中字符串的格式化输出在前面已经总结了,接下来介绍一些常用的字符串操作 先定义一个字符变量,以下的操作都以此为例: name=" my name is china ...
- Flink知识点
1. Flink.Storm.Sparkstreaming对比 Storm只支持流处理任务,数据是一条一条的源源不断地处理,而MapReduce.spark只支持批处理任务,spark-streami ...
- keepalived+lvs子网掩码造成VIP切换故障 + vrrp_script+track_script
keepalived+lvs子网掩码造成VIP切换故障 架构:keepalived+lvs ,前端调度器是双主模型 现象:keepalived手动停掉一台,但是虚拟IP不会切换 整体网络是24位 VI ...
- object detection[rfcn]
0 - 背景 从rcnn,spp,fast rcnn, faster rcnn,yolo,ssd,这里又有个新模型叫rfcn,即Region-based Fully Convolutional Net ...
- Android root检测方法小结
转载目的,之前主要应用这里的原理解决了,手机被某个APP检测为root过的手机的问题,记录后续可能参考. 出于安全原因,我们的应用程序不建议在已经root的设备上运行,所以需要检测是否设备已经root ...
- BZOJ 5467 Slay the Spire
BZOJ 5467 Slay the Spire 我的概率基础也太差了.jpg 大概就是这样,因为强化牌至少翻倍,所以打出的牌必定是全部的强化牌或者$k-1$个强化牌,然后剩余的机会打出最大的几个攻击 ...