Linux7PPT教学课件
合集下载
Linux操作系统(RHEL7/CentOS7)课件第1章 Linux简介与安装
第1章 Linux简介与安装
一本好的入门教材可以让读者快速领悟Linux的操作方式和系 统的基本使用。
目前Linux的入门教材主要针对两类读者:非技术型、技术型。
非技术型读者:对Linux不是真的感兴趣,只是用Linux上网、 听音乐、编辑文档等。针对非技术型用户的入门教材以插图为主, 讲的内容主要是在GUI下的操作(鼠标),所以,这种使用Linux 的方式还是Windows的思维方式。
第1章 Linux简介与安装
1.1 Linux简介 1.2 实例—硬盘安装RedHat Enterprise Linux 7 1.3 引导工具GRUB的设置与应用 1.4 引导工具GRUB2的设置与应用 1.5 RHEL7的启动流程 1.6 本章总结 1.7 习题
本书的重点在前4章,只有学好前4章,读者 才算对Linux真正入门,后面几章的学习才会比 较轻松,甚至可以自学。随着读者学习、掌握越 来越多的计算机主要课程的相关知识,你就可以 在Linux的世界里纵深发展了。因此,本书是一 本比较好的入门教材。也希望读者在学习的过程 中重基础、重理论,切忌浮躁。
第1章 Linux简介与安装
技术型读者:对Linux很感兴趣,针脱离Windows的思维方式, 这样会给读者以后的进一步学习带来很大帮助,也能使读者逐步 领悟Linux的精髓(命令行)所在。
第1章 Linux简介与安装
本书针对的是技术型读者,主要是计算机专 业(或相关专业)的学生。
本章学习目标:
❖ 了解Linux的起源、特点、内核版本和发行版本的区别 ❖ 了解硬盘分区和MBR ❖ 理解计算机的启动顺序 ❖ 理解引导工具GRUB/GRUB2 ❖ 理解RHEL 7的详细启动流程 ❖ 熟练掌握RedHat Enterprise Linux 7的安装 ❖ 熟练掌握系统引导工具GRUB/GRUB2设置及使用
一本好的入门教材可以让读者快速领悟Linux的操作方式和系 统的基本使用。
目前Linux的入门教材主要针对两类读者:非技术型、技术型。
非技术型读者:对Linux不是真的感兴趣,只是用Linux上网、 听音乐、编辑文档等。针对非技术型用户的入门教材以插图为主, 讲的内容主要是在GUI下的操作(鼠标),所以,这种使用Linux 的方式还是Windows的思维方式。
第1章 Linux简介与安装
1.1 Linux简介 1.2 实例—硬盘安装RedHat Enterprise Linux 7 1.3 引导工具GRUB的设置与应用 1.4 引导工具GRUB2的设置与应用 1.5 RHEL7的启动流程 1.6 本章总结 1.7 习题
本书的重点在前4章,只有学好前4章,读者 才算对Linux真正入门,后面几章的学习才会比 较轻松,甚至可以自学。随着读者学习、掌握越 来越多的计算机主要课程的相关知识,你就可以 在Linux的世界里纵深发展了。因此,本书是一 本比较好的入门教材。也希望读者在学习的过程 中重基础、重理论,切忌浮躁。
第1章 Linux简介与安装
技术型读者:对Linux很感兴趣,针脱离Windows的思维方式, 这样会给读者以后的进一步学习带来很大帮助,也能使读者逐步 领悟Linux的精髓(命令行)所在。
第1章 Linux简介与安装
本书针对的是技术型读者,主要是计算机专 业(或相关专业)的学生。
本章学习目标:
❖ 了解Linux的起源、特点、内核版本和发行版本的区别 ❖ 了解硬盘分区和MBR ❖ 理解计算机的启动顺序 ❖ 理解引导工具GRUB/GRUB2 ❖ 理解RHEL 7的详细启动流程 ❖ 熟练掌握RedHat Enterprise Linux 7的安装 ❖ 熟练掌握系统引导工具GRUB/GRUB2设置及使用
Linux入门学习大全超详细 ppt课件
Linux操作系统
(4) 使我们的工作更加方便。Linux为广大用户提供 了一个在家里学习和使用Unix操作系统的机会。尽管 Linux只是由计算机爱好者们开发的,但它在很多方面 还是相当稳定的,从而为用户学习和使用目前世界上 最流行的Unix操作系统提供了便利的机会。现在有许 多CD-ROM供应商和软件公司(如RedHat、红旗和 Turbo Linux等)支持Linux操作系统。Linux成为Unix系 统在个人计算机上的一个代用品,并能用于替代那些 较为昂贵的系统。因此,如果一个用户在公司上班时 在Unix系统上编程,或者在工作中是一位Unix的系统 管理员,他就可以在家里安装一套Unix的兼容系统, 即Linux系统,在家中使用Linux就能够完成一些工作任 务。
Linux操作系统
(3) 丰富的应用软件。Linux不仅为用户提供了强大 的操作系统功能,而且还提供了丰富的应用软件。用 户不但可以从Internet上下载Linux及其源代码,而且还 可以从Internet上下载许多Linux的应用程序。可以说, Linux本身包含的应用程序以及移植到Linux上的应用程 序包罗万象,任何一位用户都能从有关Linux的网站上 找到适合自己特殊需要的应用程序及其源代码,这样 用户就可以根据自己的需要下载源代码,以便修改和 扩充操作系统或应用程序的功能。这对Windows 2000、 Windows 98、MS-DOS或OS/2等商品化操作系统来说 是无法做到的。
(3) 交互程序:允许用户发送信息或接收来自其他 用户的信息。交互程序是用户与机器的信息接口。 Linux是一个多用户系统,它必须和所有的用户保持联 系。信息可以由系统上的不同用户发送或接收。信息 的发送有两种方式:一种方式是与其他用户一对一地 进行对话,另一种方式是一个用户对多个用户同时进 行通讯,即所谓广播式通讯。
Linux课件7
一、What’s GCC GCC stands for “GNU Compiler Collection”. GCC is an integrated distribution of compilers for several major programming languages. These languages currently include C, C++, Objective-C, Objective-C++, Java, Fortran, and Ada.
27
3 GDB调试器(cont.)
Gdb的使用方法:
Gdb [option] [executablefile[core-file or process-id]
gdb基本命令.
file装入想要调试的可执行文件. kill终止正在调试的程序 list列出产生执行文件的源代码的一部分. next执行一行源代码但不进入函数内部.
25
2 GCC编译器(cont.)
-g 产生调试信息. GDB能够使用这些调试 信息。 -o outfile 指定输出文件的文件名,默认为 a.out -mmachine-option... 指定所用的平台.
26
3 GDB调试器
Gdb是一款GNU开发组织并发布的 UNIX/Linux下的程序调试工具。它使你 能在程序运行时观察程序的内部结构和内 存的使用情况. 以下是 gdb 所提供的一些 功能: 它使你能监视你程序中变量的值. 它使你能设置断点以使程序在指定的代码 行上停止执行. 它使你能一行行的执行你的代码.
6
1 Vi编辑器(cont.)
2) 切换至插入模式(Insert mode)编辑文件 在「命令行模式(command mode)」下 按一下字母「i」就可以进入「插入模式 (Insert mode)」,这时候你就可以开始输 入文字了。 3) Insert 的切换 您目前处于「插入模式(Insert mode)」, 您就只能一直输入文字,如果您发现输错了字! 想用光标键往回移动,将该字删除,就要先按一 下「ESC」键转到「命令行模式(command mode)」再删除文字。
27
3 GDB调试器(cont.)
Gdb的使用方法:
Gdb [option] [executablefile[core-file or process-id]
gdb基本命令.
file装入想要调试的可执行文件. kill终止正在调试的程序 list列出产生执行文件的源代码的一部分. next执行一行源代码但不进入函数内部.
25
2 GCC编译器(cont.)
-g 产生调试信息. GDB能够使用这些调试 信息。 -o outfile 指定输出文件的文件名,默认为 a.out -mmachine-option... 指定所用的平台.
26
3 GDB调试器
Gdb是一款GNU开发组织并发布的 UNIX/Linux下的程序调试工具。它使你 能在程序运行时观察程序的内部结构和内 存的使用情况. 以下是 gdb 所提供的一些 功能: 它使你能监视你程序中变量的值. 它使你能设置断点以使程序在指定的代码 行上停止执行. 它使你能一行行的执行你的代码.
6
1 Vi编辑器(cont.)
2) 切换至插入模式(Insert mode)编辑文件 在「命令行模式(command mode)」下 按一下字母「i」就可以进入「插入模式 (Insert mode)」,这时候你就可以开始输 入文字了。 3) Insert 的切换 您目前处于「插入模式(Insert mode)」, 您就只能一直输入文字,如果您发现输错了字! 想用光标键往回移动,将该字删除,就要先按一 下「ESC」键转到「命令行模式(command mode)」再删除文字。
linux centos7 服务器命令教程第11章DNS服务器PPT课件
• 4.启动服务 – # systemctl start named.service
• 5.设置自启动状态 – # systemctl enable named.service
Date: 11/28/2020
11.1项目一:DNS服务器的安装与启动
• 操作过程: • # yum -y install bind • #systemctl start named.service • #systemctl enable named.service
.edu
.com
根域 .net
第二层网域
子域 主机
Date: 11/28/2020
11.1.1DNS服务器介绍
• 1.DNS正向解析
– 通常用户在上网时,输入一个域名后,系统会自动将输入的
域名提交给DNS服务器,等待其返回IP地址,然后再用这个
2 安装DNS服务器的过程
3 管理named服务
详见章节 11.1.1 11.1.2 11.1.2
Date: 11/28/2020
11.1.1DNS服务器介绍
• DNS是指域名系统(Domain Name System)。 • 在Internet上域名与IP地址之间是一一对应的,域名虽然便于人
们记忆,但机器之间只能互相认识IP地址,它们之间的转换工 作称为域名解析,域名解析需要由专门的域名解析系统来完成 ,DNS就是进行域名解析的系统。
Date: 11/28/2020
Linux系统管理与服务器配置 ——基于CentOS 7
第11章 DNS服务器
Date: 11/28/2020
目录
• 11.1项目一: DNS服务器的安装与启动 – 11.1.1DNS服务器介绍 – 11.1.2安装DNS服务器
• 5.设置自启动状态 – # systemctl enable named.service
Date: 11/28/2020
11.1项目一:DNS服务器的安装与启动
• 操作过程: • # yum -y install bind • #systemctl start named.service • #systemctl enable named.service
.edu
.com
根域 .net
第二层网域
子域 主机
Date: 11/28/2020
11.1.1DNS服务器介绍
• 1.DNS正向解析
– 通常用户在上网时,输入一个域名后,系统会自动将输入的
域名提交给DNS服务器,等待其返回IP地址,然后再用这个
2 安装DNS服务器的过程
3 管理named服务
详见章节 11.1.1 11.1.2 11.1.2
Date: 11/28/2020
11.1.1DNS服务器介绍
• DNS是指域名系统(Domain Name System)。 • 在Internet上域名与IP地址之间是一一对应的,域名虽然便于人
们记忆,但机器之间只能互相认识IP地址,它们之间的转换工 作称为域名解析,域名解析需要由专门的域名解析系统来完成 ,DNS就是进行域名解析的系统。
Date: 11/28/2020
Linux系统管理与服务器配置 ——基于CentOS 7
第11章 DNS服务器
Date: 11/28/2020
目录
• 11.1项目一: DNS服务器的安装与启动 – 11.1.1DNS服务器介绍 – 11.1.2安装DNS服务器
《linux课程》课件
使用 Cron 命令可以设置和管 理定时任务,自动执行脚本和 命令。
Top
Top 命令可以帮助用户查看和 管理系统进程,对系统性能进 行监控。
Linux 系统监控和调优
1
C PU 管理
2
Linux CPU 管理技巧包括进程管理、
CPU 亲和力设置、数据缓存优化等。
3
内存管理
Linux 内存管理是系统性能调优的关 键,可以通过调整内存大小提升系统 速度。
2
容灾和恢复
掌握容灾和恢复技巧,能够保证系统在不同灾难情景下的全面恢复。
3
性能优化
了解性能优化技术,可以识别和解决系统性能瓶颈问题。
Linux 常见问题解决
无法启动系统
检查 BIOS 设置和硬件故障等因素,解决无 法启动进入系统的问题。
驱动问题
检查硬件设备的驱动和系统的兼容性,解决 硬件设备无法正常工作的问题。
应用程序性能问题
使用 top 命令查看进程性能和资源使用情况, 解决应用程序卡顿和占用系统资源过多的问 题。
网络问题
使用网络工具 ping 和 traceroute 等调试网 络连接问题。
ping、traceroute、nslookup 等命令能够帮助用户分析网络 状况。
Linux 网络配置
1
IP 地址和网关
掌握 IP 地址和网关配置方法,能够简单高效地连接网络。
2
DNS 服务器
了解 DNS 服务器的作用和配置方法,可以帮助用户解析 URL 地址和进行网络 通信。
3
网络协议
熟悉 Linux 支持的 TCP/IP 网络协议,可以识别和纠正网络问题。
概念,能够帮助用户管理文件系统的
Linux操作系统分析课件7
从pentium开始,很多80x86微处理器都引入 了一个TSC
一个64位的、用作时间戳计数器的寄存器 它在每个时钟信号(CLK)到来时+1
例如时钟频率400MHz的微处理器,TSC每2.5ns就+1
rdtsc指令用于读该寄存器
Linux Operating Systems Analysis 7
12
如何计算CPU的时钟频率CLK
Linux在初始化的时候,利用可编程间隔定时 器获得CPU的频率 观察calibrate_tsc(),了解如何计算CPU的频 率
已知:PIT的频率 未知:CLK频率 方法:统计在PIT已知的一段时间内(50ms), CLK发生了多少次;然后计算出CLK频率(次数 /50ms)
例如:Motorala 146818
能在IRQ8上发出周期性的中断,频率在 2HZ~8192之间
可以对其编程实现一个闹钟
Linux Operating Systems Analysis 5
xlanchen@2007.10.9
Linux本身只使用RTC获得时间和日期 对应的设备文件为/dev/rtc
Linux Operating Systems Analysis 13
xlanchen@2007.10.9
Linux的计时体系结构
Linux要周期性的执行一些任务,例如
更新系统自启动以来所经过的时间 更新时间和日期 确定进程运行了多久 检查每个软定时器是否已经到期
xlanchen@2007.10.9
xlanchen@2007.10.9
Linux Operating Systems Analysis
Linux培训PPT课件
Linux操作系统的进程管理和系统监控命令和工具
netstat命令:显示网络连 接和网络状态信息
top命令:实时显示进程活 动和系统负载
ps命令:显示当前进程状 态信息
ifconfig命令:配置网络 接口和IP地址等网络参数
vmstat命令:显示虚拟内 存使用情况和系统状态信息
iostat命令:显示磁盘I/O 使用情况和系统状态信息
Linux操作系统的软件包管理和安装命令和工具
添加标题
软件包管理:使用apt-get、yum、dnf等软件包管理工具,可以安装、更新、卸载 和管理软件包
添加标题
安装命令和工具:使用apt-get install、yum install、dnf install等命令可以安 装Linux操作系统上的软件和工具
Linux操作系统的未来发展和趋势分析
持续增长的市场需求 不断的技术创新 更广泛的应用领域 社区的活跃支持
Linux操作系统的应用前景和发展方向展望
行业应用:云计算、大数据、物联网等领域的广泛应用 社区支持:全球范围内的开发者社区,提供丰富的软件资源和工具 安全性:强大的安全性能和防护能力,保障企业和个人数据的安全 未来发展:持续的技术创新和生态建设,推动Linux在更多领域的应用拓展
Linux操作系统的命令行基础
命令行界面
常用命令:ls, cd, pwd, mkdir, rm, rmdir等
文件和目录操作 :创建,删除, 复制,移动等
பைடு நூலகம்
权限管理: chmod, chown 等
Linux操作系统的文本编辑器介绍和使用
Vim编辑器:功能强大,学习曲 线较陡峭
Emacs编辑器:扩展性强,需要 一定的学习成本
教学课件第7章Linux文件管理
7.5 文件与目录基本操作
7.5.7 文件的复制、移动和删除命令-cp,mv,rm
1.cp命令。 cp [option] [ src_filel src_dir] [dst_file I dst_dir]
2.mv命令。 mv [option] [src_file|src_dir] [dst_fileldst_dir]
第七章 Linux文件管理
7.4 文件操作系统调用
在VFS中,采用dentry结构和inode节点配合实 现文件查找。
主要文件操作:
1.文件的打开。 2.文件的关闭 。 3.文件指针移动 。 4.读写文件操作。 5.文件属性控制。 6.文件上锁。 7.文件的I/O控制。 8.各种其他文件操作。
第七章 Linux文件管理
第七章 Linux文件管理
7.5 文件与目录基本操作
7.5.3 文件查找命令-find,locate
1.find命令。 find [option] filename
2.locate命令 。 locate [option] filename
第七章 Linux文件管理
7.5 文件与目录基本操作
7.5.4 文本处理命令-sort,uniq
第七章 Linux文件管理
7.3 虚拟文件系统
虚拟文件系统(VFS)是物理文件系统与服务之 间的一个接口层,它对每一个具体的文件系统的所有 细节进行抽象,使得Linux用户能够用同一个接口使 用不同的文件系统。
VFS只是一种存在于内存的文件系统,在系统 启动时产生,并随着系统的关闭而注销。
第七章 Linux文件管理
第七章 Linux文件管理
7.2 Linux文件系统
7.2.3 文件系统的实现
7.5.7 文件的复制、移动和删除命令-cp,mv,rm
1.cp命令。 cp [option] [ src_filel src_dir] [dst_file I dst_dir]
2.mv命令。 mv [option] [src_file|src_dir] [dst_fileldst_dir]
第七章 Linux文件管理
7.4 文件操作系统调用
在VFS中,采用dentry结构和inode节点配合实 现文件查找。
主要文件操作:
1.文件的打开。 2.文件的关闭 。 3.文件指针移动 。 4.读写文件操作。 5.文件属性控制。 6.文件上锁。 7.文件的I/O控制。 8.各种其他文件操作。
第七章 Linux文件管理
第七章 Linux文件管理
7.5 文件与目录基本操作
7.5.3 文件查找命令-find,locate
1.find命令。 find [option] filename
2.locate命令 。 locate [option] filename
第七章 Linux文件管理
7.5 文件与目录基本操作
7.5.4 文本处理命令-sort,uniq
第七章 Linux文件管理
7.3 虚拟文件系统
虚拟文件系统(VFS)是物理文件系统与服务之 间的一个接口层,它对每一个具体的文件系统的所有 细节进行抽象,使得Linux用户能够用同一个接口使 用不同的文件系统。
VFS只是一种存在于内存的文件系统,在系统 启动时产生,并随着系统的关闭而注销。
第七章 Linux文件管理
第七章 Linux文件管理
7.2 Linux文件系统
7.2.3 文件系统的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
把它们组合起来使用。可以在测试语句中使用的逻辑运算符有:
❖ ! 逻辑非( NOT ),它放在任意逻辑表达式之前,使原来为真的表达式 变为假,使原来为假的变为真。例如,
[ ! -r $1 ] , ! test -r “$1”等。 ❖ - a 逻辑与( AND ),它放在两个逻辑表达式中间,仅当两个表达式都为
n1 -lt n2
如果n1小于n2,则测试条件为真
n1 -le n2
如果n1小于或等于n2,则测试条件为真
n1 -gt n2
Байду номын сангаас
如果n1大于n2,则测试条件为真
n1 -ge n2
如果n1大于或等于n2,则测试条件为真
2020/12/10
9
4.逻辑运算符 上述测试条件可以在if 语句或循环语句中单个使用,也可以通过逻辑运算符
[ \( "$a" -ge 0 \) -a \( "$b" -le 100 \) ]
❖ 逻辑表达式中的条件测试运算符优先级高于“!” 运算符,“!” 运算符的优 先级高于“ -a”运算符,“-a”运算符高于 “-o”,而且圆括号( )高于 “-a”
2020/12/10
10
5.特殊条件测试 ❖ (1) :表示不做任何事情,其退出值为0。 ❖ (2)true 表示总为真,其退出值总是0。 ❖ (3)false 表示总为假,其退出值是255。
2.有关字符串方面的测试
参数
功能
-z s1
如果字符串s1的长度为0,则测试条件为真。
-n s1 s1
s1 = s2
s1 != s2 s1 < s2
如果字符串s1的长度大于0,则测试条件为真。 如果字符串s1不是空字符串,则测试条件为真。 如果s1等于s2,则测试条件为真。“=”也可以用 “==” 代替。在“=”前后应有空格。
❖ if语句用于条件控制结构中,其一般格式为: if 测试条件 then 命令1 else 命令2
fi ❖ 其中,if、then、else和fi是关键字。 例如:
if test -f "$1"
then echo "$1 is an ordinary file . "
else echo "$1 is not an ordinary file . "
test -f "$1"
❖ 也完全可写成:[ -f "$1" ]
❖ 第三种形式是: [[条件表达式]]
❖ test命令可以和多种系统运算符一起使用。这些运算符可以 分为四类:文件测试运算符、字符串测试运算符、数值测试 运算符和逻辑运算符。
2020/12/10
6
1.有关文件方面的测试
参数 -r 文件名 -w 文件名 -x 文件名 -f 文件名 -d 文件名 -p 文件名 -b 文件名 -c 文件名 -s 文件名 20-2t0/1文2/1件0 描述字
功能 若文件存在并且是用户可读的,则测试条件为真 若文件存在并且是用户可写的,则测试条件为真 若文件存在并且是用户可执行的,则测试条件为真 若文件存在并且是普通文件,则测试条件为真 若文件存在并且是目录文件,则测试条件为真 若文件存在并且是命名的FIFO文件,则测试条件为真 若文件存在并且是块设备文件,则测试条件为真 若文件存在并且是字符设备文件,则测试条件为真 若文件存在并且文件的长度大于0,则测试条件为真 若文件被打开且其文件描述字是与终端设备相关的, 7 则测试条件为真。默认的“文件描述字”是1
fi 2020/12/10
3
❖ if语句中else部分可以缺省。例如, if test -f "$1" then echo "$1 is an ordinary file . " fi
❖ if 语句的else部分还可以是else—if结构,则用关键字“elif”代 替“else if”。例如, if test - f "$1" then pr $1 elif test - d "$1" then ( cd $1 ; pr * ) else echo "$1 is neither a file nor a directory . " fi
如果s1不等于s2,则测试条件为真。 如果按字典顺序s1在s2之前,则测试条件为真
s1 > s2
如果按字典顺序s1在s2之后,则测试条件为真
2020/12/10
8
3.有关数值方面的测试
参数
功能
n1 -eq n2
如果整数n1等于n2,则测试条件为真
n1 -ne n2
如果整数n1不等于n2,则测试条件为真
真时,结果才为真。例如,
[ - f "$myfile" - a - r "myfile" ]
❖ - o 逻辑或( OR ),它放在两个逻辑表达式中间,其中只要有一个表达 式为真,结果就为真。例如,
[ "$a" -ge 0 -o "$b" -le 100 ]
❖ (表达式) 圆括号,它可以把一个逻辑表达式括起来,使之成为一个整 体,优先得到运算。例如,
❖ ⑵模式字符串中可以使用通配符
❖ ⑶ 如果一个模式字符串中包含多个模式,那么各 模式之间应以竖线(|)隔开,表示各模式是“或” 的关系,即只要给定字符串与其中一个模式相配, 就会执行其后的命令表
第7讲 Linux shell3
2020/12/10
1
主要内容
❖ 控制结构
If语句 条件测试 case语句 while语句 until语句 for语句 break命令和continue命令 exit命令 select语句
2020/12/10
2
4.9 控制结构
4.9.1 if语句
2020/12/10
11
4.9.3 case语句
case语句允许进行多重条件选择。其一般语法形式是:
case 字符串 in 模式字符串1) 命令
… 命令;; 模式字符串2) 命令
… 命令;;
… 模式字符串n) 命令
… 命令;;
esac
2020/12/10
12
在使用case语句时应注意:
❖ ⑴ 每个模式字符串后面可有一条或多条命令,其 最后一条命令必须以两个分号(即;;)结束。
2020/12/10
4
❖ if的语句的更一般形式是: if 命令表1 then 命令表2 else 命令表3 fi
2020/12/10
5
4.9.2 条件测试
❖ 条件测试有三种常用形式:一种是用test 命令,如上所示。 另一种是用一对方括号将测试条件括起来。这两种形式是完 全等价的。例如,测试位置参数$1是否是已存在的普通文件, 可写为:
❖ ! 逻辑非( NOT ),它放在任意逻辑表达式之前,使原来为真的表达式 变为假,使原来为假的变为真。例如,
[ ! -r $1 ] , ! test -r “$1”等。 ❖ - a 逻辑与( AND ),它放在两个逻辑表达式中间,仅当两个表达式都为
n1 -lt n2
如果n1小于n2,则测试条件为真
n1 -le n2
如果n1小于或等于n2,则测试条件为真
n1 -gt n2
Байду номын сангаас
如果n1大于n2,则测试条件为真
n1 -ge n2
如果n1大于或等于n2,则测试条件为真
2020/12/10
9
4.逻辑运算符 上述测试条件可以在if 语句或循环语句中单个使用,也可以通过逻辑运算符
[ \( "$a" -ge 0 \) -a \( "$b" -le 100 \) ]
❖ 逻辑表达式中的条件测试运算符优先级高于“!” 运算符,“!” 运算符的优 先级高于“ -a”运算符,“-a”运算符高于 “-o”,而且圆括号( )高于 “-a”
2020/12/10
10
5.特殊条件测试 ❖ (1) :表示不做任何事情,其退出值为0。 ❖ (2)true 表示总为真,其退出值总是0。 ❖ (3)false 表示总为假,其退出值是255。
2.有关字符串方面的测试
参数
功能
-z s1
如果字符串s1的长度为0,则测试条件为真。
-n s1 s1
s1 = s2
s1 != s2 s1 < s2
如果字符串s1的长度大于0,则测试条件为真。 如果字符串s1不是空字符串,则测试条件为真。 如果s1等于s2,则测试条件为真。“=”也可以用 “==” 代替。在“=”前后应有空格。
❖ if语句用于条件控制结构中,其一般格式为: if 测试条件 then 命令1 else 命令2
fi ❖ 其中,if、then、else和fi是关键字。 例如:
if test -f "$1"
then echo "$1 is an ordinary file . "
else echo "$1 is not an ordinary file . "
test -f "$1"
❖ 也完全可写成:[ -f "$1" ]
❖ 第三种形式是: [[条件表达式]]
❖ test命令可以和多种系统运算符一起使用。这些运算符可以 分为四类:文件测试运算符、字符串测试运算符、数值测试 运算符和逻辑运算符。
2020/12/10
6
1.有关文件方面的测试
参数 -r 文件名 -w 文件名 -x 文件名 -f 文件名 -d 文件名 -p 文件名 -b 文件名 -c 文件名 -s 文件名 20-2t0/1文2/1件0 描述字
功能 若文件存在并且是用户可读的,则测试条件为真 若文件存在并且是用户可写的,则测试条件为真 若文件存在并且是用户可执行的,则测试条件为真 若文件存在并且是普通文件,则测试条件为真 若文件存在并且是目录文件,则测试条件为真 若文件存在并且是命名的FIFO文件,则测试条件为真 若文件存在并且是块设备文件,则测试条件为真 若文件存在并且是字符设备文件,则测试条件为真 若文件存在并且文件的长度大于0,则测试条件为真 若文件被打开且其文件描述字是与终端设备相关的, 7 则测试条件为真。默认的“文件描述字”是1
fi 2020/12/10
3
❖ if语句中else部分可以缺省。例如, if test -f "$1" then echo "$1 is an ordinary file . " fi
❖ if 语句的else部分还可以是else—if结构,则用关键字“elif”代 替“else if”。例如, if test - f "$1" then pr $1 elif test - d "$1" then ( cd $1 ; pr * ) else echo "$1 is neither a file nor a directory . " fi
如果s1不等于s2,则测试条件为真。 如果按字典顺序s1在s2之前,则测试条件为真
s1 > s2
如果按字典顺序s1在s2之后,则测试条件为真
2020/12/10
8
3.有关数值方面的测试
参数
功能
n1 -eq n2
如果整数n1等于n2,则测试条件为真
n1 -ne n2
如果整数n1不等于n2,则测试条件为真
真时,结果才为真。例如,
[ - f "$myfile" - a - r "myfile" ]
❖ - o 逻辑或( OR ),它放在两个逻辑表达式中间,其中只要有一个表达 式为真,结果就为真。例如,
[ "$a" -ge 0 -o "$b" -le 100 ]
❖ (表达式) 圆括号,它可以把一个逻辑表达式括起来,使之成为一个整 体,优先得到运算。例如,
❖ ⑵模式字符串中可以使用通配符
❖ ⑶ 如果一个模式字符串中包含多个模式,那么各 模式之间应以竖线(|)隔开,表示各模式是“或” 的关系,即只要给定字符串与其中一个模式相配, 就会执行其后的命令表
第7讲 Linux shell3
2020/12/10
1
主要内容
❖ 控制结构
If语句 条件测试 case语句 while语句 until语句 for语句 break命令和continue命令 exit命令 select语句
2020/12/10
2
4.9 控制结构
4.9.1 if语句
2020/12/10
11
4.9.3 case语句
case语句允许进行多重条件选择。其一般语法形式是:
case 字符串 in 模式字符串1) 命令
… 命令;; 模式字符串2) 命令
… 命令;;
… 模式字符串n) 命令
… 命令;;
esac
2020/12/10
12
在使用case语句时应注意:
❖ ⑴ 每个模式字符串后面可有一条或多条命令,其 最后一条命令必须以两个分号(即;;)结束。
2020/12/10
4
❖ if的语句的更一般形式是: if 命令表1 then 命令表2 else 命令表3 fi
2020/12/10
5
4.9.2 条件测试
❖ 条件测试有三种常用形式:一种是用test 命令,如上所示。 另一种是用一对方括号将测试条件括起来。这两种形式是完 全等价的。例如,测试位置参数$1是否是已存在的普通文件, 可写为: