Linux操作系统-总复习-第九章
Linux操作系统第9章

$
之所以有这样的结果,是因为Linux Shell的规则是,双 引号不隐藏反单引号。双引号与单引号的作用不同,双引 号可以看到反单引号,因此可调用date命令。
root tty1 may 11 17:30
$ 表明经搜索root目录,john mail里may 11 17:30收到letter。
第9章 Shell编程
3. 后台执行命令 & 指在后台运行一个进程。Linux系统是一个多任务操
作系统,能调动几个进程同时运行。当计算机执行已登录
的每个其它任务的命令时,也能执行用户要求的命令。这 些操作看起来是同时进行的,实际上,在任一时刻,计算
其工作路径在 /usr/bin/sh目录下。
第9章 Shell编程
若在 $ 提示符下输入: $ ksh 则会出现 $ 提示符,表示此时是Korn Shell(KSH)环境,其 工作路径在 /usr/bin/ksh目录下。 若在 $ 提示符下输入:
$ csh
则会出现 % 提示符,表示此时是C Shell(CSH)环境,其工 作路径在 /usr/bin/csh目录下。
3. 执行用户命令时启动Shell
执行用户命令时,由系统生成新的子Shell来执行该命 令。
第9章 Shell编程
9.3 Shell的元字符(通配符)
1. 管道与命令表 管道指一个命令的标准输出作为另一个命令的标准输 入,不经过任何中间文件的通道。管道能在应用程序中使 用。利用管道,可将信息从一个程序送到另一个程序。管 道是单向的通信路径,由输出端将信息送入管道,由接收
《Linux操作系统实用教程》课件第9章

9.1 Linux系统下的数据库种类及特点
数据库简介
数据库相关概念 数据库类型 数据库管理员的职责
Linux下的主要自由软件数据库
PostgreSQL数据库 MySQL数据库
9.2 MySQL数据库管理
MySQL数据库的初始化操作 MySQL数据 库的初始化操作
安装MySQL 启动MySQL 连接与断开MySQL服务器
第9章 Linux系统下的数据库应用
以Linux下的开源、免费的,支持多线程、 多用户的MySQL数据库为例, 介绍了MySQL数据库的基本操作和远程的 管理方法,以及PHP访问数据库的环境构建 及网络编程的基本方法。
Linux公社()
Linux公社()于2006年9月25日 注册并开通网站,Linux现在已经成为一种广受关 注和支持的一种操作系统,IDC是互联网数据中心, LinuxIDC就是关于Linux的数据中心。
mysqladmin -u root password "passwd“
root用户有口令后运行MySQL:
mysql –h hostname –u root -p
Enter password: 需要键入正确的密码才能连接成功。
建立其他访问权限的用户
grant privileges on what to user identified by "passwd" with grant option
Linux期末总复习

rmdir :删除空目录。选项 -p 表示当删除指定目录后,如果该目录的父目录也 变成了空目录,则将其一并删除。 例:
• • • rmdir 删除空目录 /tmp/cc: rmdir /tmp/cc 可以使用rmdir来删除空目录,如果在删除指定目录后,如果该目录的父目录也变成了空目录,可以加 上参数 ______将父目录一并删除。 判断:rm只能用来删除文件,rmdir命令用来删除目录。
• 使用_______命令可以从root用户切换到普通用户user。(su - user)
• 判断:linux中是丌区分大小写的。(错)
LINUX
16
期末 复习
LINUX
17
期末 复习
退出 vi
VI编辑器的三种模式
启动 VI 命令模式 : 键 回车键
• 例: • • VI编辑器的三种模式:____、______和_________。 VI编辑器中,按_____可以从插入模式回到命令模式,按
期末 复习
期末复习
LINUX
1
期末 复习
目录
1. linux概述 2. 常用命令 3. 文本编辑器VI
4. Fedora下的软件管理 5. 文件和目录的权限管理
6. 系统管理不监视
7. 网络的基本配置
8. 进程连接不管理 9. samba的安装不使用
10.存储设备的挂载不卸载
LINUX
2
期末 复习
• 判断:find命令查找速度比locate命令快。
• 判断:locate命令查找到的信息一般都是最新的。
LINUX
14
期末 复习
管道符号 “|”
|:管道符号“|”的作用是将多个命令组合到一起,把前一个命令的输 出传递给下一个命令作为输入,最终得到结果。 例: • 分页列出/etc目录下的文件和目录: ls /etc | more
linux总复习

元字符及其含义1、输入输出重定向 1)输出重定向1:> 例:ls > dir.l /*存目录内文件*/ cal > year.d /*存年历*/ cat > a1.c /*创建文件a1.c */ cat a1.c > a2.c /*复制文件a1.c */ cat a1.c a2.c > a3.c /*合并a1.c和 a2.c */ 2)输出重定向2: >> 例:cat a2.c >> a1.c /*将文件a1.c 添加 到a2.c 尾部 */ 3)输入重定向: < 例:cat < dir.l /*在屏幕上显示dir.l */
如果〉左边没有文件的名称,而右边有 文件名,例如:cat >file1 结果会“空出一行空白行”,等待你输 入文字,输入完毕后再按[Ctrl]+[c]或 [Ctrl]+[d],结束编辑,并产生file1这 个文件,而file1的内容是刚刚输入的内 容。 指令:cat file1>>file2:将file1的文 件内容“附加”到file2的文件后面,而 file2的内容依然存在。
显示信息命令 echo 功能:将其后内容原样在屏幕上显示。 一般说来,在echo命令中,单、双引号 无特殊意义,均不显示。只是当其内有 特殊字符时,单、双引号会有区别,单 引号其中一般特殊字符原样显示。例‘\‘ 表示\是普通字符。双引号内如果有特殊 字符则按特殊字符起作用。例“\‖,表示 \是作为特殊字符的标志,不原样显示。 后台执行命令 & 将LINUX命令放后台执行,但遇送屏幕显 示及键盘输入命令,仍然会干挠前台。
LINUX操作系统总复习
LINUX系统的三层结构
LINUX系统的特点
Linux操作系统课后习题答案及复习要点

Linux操作系统课后习题答案及复习要点- 一 -Linux 操作系统填空部分1. Linux是在GRL版权协议下发行的遵循POSIX 标准的操作系统内核.2. Linux内核的作者是linus torvalds .3. Linux 可以通过光盘,硬盘和网络等多种介质进行安装.4. Red Hat Linux提供的引导程序有GRUB 和LILO .5. X Window 是一套基于服务器/客户端架构的视窗系统,于1984 年在麻省理工学院(MIT) 计算机科学研究室开发.6. X Window 由服务器,客户端和通信协议三部分组成.7. Linux 下的文件可以分为5 种不同的类型,分别普通文件,目录文件,链接文件,设备文件和管道文件.8. 通常,root的主目录为/root .9. root 的UID 通常为0 .10. RPM 软件包管理器可以完成查询,安装,卸载,升级,验证,以及源码分发等多项任务,及大地方便了Linux 的使用.11. RPM 软件包文件名中一般包括名称,版本号,发行号和硬件平台等信息.12. vi 有3 种基本工作模式:文本输入,命令行和末行.13. 如果未进行指定输出文件名,gcc编译出来的程序后缀是一个名为a.out 的可执行文件.14. 通常在操作系统中,进程至少要有三种基本状态,分别为运行,就绪和封锁.15. 在Linux 系统中,进程的执行模式划分为用户和内核.选择1. 下面不是KDE 组件的程序是B .A. KonquerorB. NautilusC. KOfficeD. KDevelop2. 下面不是Linux 桌面的有D .A. KDEB. GNOMEC. XFCED. Bash3. 用于存放系统配置文件的目录是A .A. /ectB. /homeC. /varD. /root4. 通常,Linux 下的可执行程序位于下列哪些目录? FA. /binB. /homeC. /sbinD. /usr/libE. /varF. /usr/bin5. Linux 下重命名文件可用如下哪个命令? CA. renB. lsC. mvD. copy6. Linux 下移除目录可用如下哪些命令? CA. mvB. delC. rmE. rmdirF. mkdir7. 下列命令中,无法对文件进行压缩的是BCFHI .- 二 -A. tarB. lessC. mvD. bzip2E. gzipF. lsG. zipH. locateI. cat(将当前用户主目录打包成tar.gz 格式备份,并将该文件权限设为666.在当前目录下创建backup 目录,并将上题中的tar.gz 文件解压缩到该目录.)8. 上题中,要显示含权限信息的backup 目录内容可用下面哪个命令? CA. ls./backupB. ls-A./backupC. ls-la./backupD. ls-r./backup9. 下面哪些文件和用户组账号有关? BA. /ect/passwordB. /ect/g shadowC. /ect/shadowD. /ect/gpasswd10. 删除用户使用的命令是B .B. uesrdelC. usrdelD. delete user11. 默认情况下,root 用户属于以下哪个用户组? DA. userB. adminC. rootD. system12. 查询RPM软件包的命令为AD .A. rpm –qB. rpm –sC. rpm –ID. rpm --query13. 下面能查看磁盘空间使用率的有C .A. mountB. umountC. dfD. fdisk –l14. 可以将分区格式化为vfat 的命令有C .A. mkfs.vfatB. mkvfatfsC. mkfs –t vfatD. mkfs.ext215. 下面Linux 程序中哪一个是调试器? CA. viB. gccC. gdbD. make16. 制定周期性执行的计划任务需要使用下面的哪些命令? BA. atB. cronC. cronjobD. batch17. 下面那组快捷键可以迅速终止前台运行的进程? DA. Ctrl+AB. Ctrl+CC. Ctrl+QD. Ctrl+Z18. 下面哪些是合法的变量名? ABDHA. KittyB. bOOkC. Hello WorldD. Olympic gameE. 2catF. %goodsG. ifH. game19. 下面哪种是正确的赋值方法? AA. a=abcB. a =abcC. a= abcD. a=”abc”简答1.比较文件的异同可以使用哪些命令?答:比较文件的异同可以使用comm和diff.2. 普通用户如何修改密码?P89-5答:普通用户只能用不带参数的passwd命令修改自己的口令.1.在终端下输入passwd2.输入新密码3.再次输入密码- 三 -3.如何为新增用户指定用户主目录?答:useradd -c username –d /home/Jone4.什么是软件包的依赖关系?答:要求只有安装特定的软件包之后才能正常安装该软件包.5.简述对磁盘进行配额管理的意义和方法.答:(1)意义:保护系统有效利用磁盘空间;(2)方法:按用户进行限制和对用户组进行限制,包括硬限制和软限制.6.简述ps 命令和top 命令的区别.答:ps命令和top命令的区别是top命令是一个动态显示过程,可以通过用户按键来不断刷新当前状态;如果在前台执行,top命令将独占前台,直到用户终止top命令为止.7.简述kill 和killall 的区别.P158-7答:使用kill命令可以终止一个已经阻塞的进程,或者一个陷入死循环的进程;而killall 命令会终止所有的进程.8.编写一个Shell 脚本,计算100 以内不是5 整数倍的数字的和.(编程题)#!/bin/bashi=1sum=0while [$i -le 100];doif [$[$i%5] -ne 0];then sum=$[$sum+$i]fii=$i+1doneecho $sum解:#!/bin/bashdeclare -i sum=0declare -i b=5for i in `seq 1 100`doB=$(expr $i%$b )if [ $B -ne 0 ]thensum=$[$sum+$i]fidoneecho $sum其他:1.DNS 系统依赖一种层次化的域名空间分布式数据结构,可分为如下3 部分:(1)域名或资源记录:指定结构化的域名空间和相应的数据.(2)域名服务器:它是一个服务器端程序,包括域名空间树结构的部分信息.(3)解析器:它是客户端用户向域名服务器提交解析请求的程序.2.vsfpd用户配置:匿名用户、本地用户、虚拟用户.3.用于比较整数的关系运算符有:-lt(小于)、-le(小于或等于)、-gt(大于)、-ge(大于或等于)、-eq(等于)、-ne(不等于).4.启动进程:定时执行—at命令、空闲时执行—batch命令、周期性执行—cron和crontab 命令.5.进程的定义:程序是存储在磁盘上包含可执行机器指令和数据的静态实体,而进程是在操作系统中执行的特定任务的动态实体.Linux 操作系统包括3个不同类型的进程:交互进程、批处理进程、守护进程.6.shell 编程的美元符号代表什么意思?答:表示变量替换,即用其后指定的变量的值来代替变量.7.在控制台里使用帮助—man 命令:man […..]name….(例:man 5 inittab)8.在控制台里使用帮助—info命令及其他:Info cmd name.除了上述两种方式外还可以使用help 命令名来实现帮助.9.显示文件内容命令及其含义:显示文件内容命令—cat,more,less,head,tail;文件内容查看命令—grep,egrep,fgrep;文件查找命令—find,locate;文本处理命令—sort,uniq;文件内容统计命令—wc;文件比较命令—comm.,diff;文件复制、移动和删除—cm,mv,rm(可重命名);文件链接命令—ln;目录的创建与删除命令—mkdir,rmdir;改变工作目录、显示路劲以及显示目录内容命令—cd,pwd,ls.10.文本修改命令(单个与多个)及不同的命令删除的是什么:(单个)nx 删除光标所在位置开始向右的n个字符;nX删除光标前面那个字符开始向左的n个字符,(多个)ndd删除当前行及其后n-1行的内容;D 都是删除从光标所在处开始到行尾的内容;d0 删除从光标钱一个字符开始到行首的内容;ndw删除n个指定的单词.11.磁盘挂载分区与卸载分区命令:要使用磁盘分区,就需要挂载该分区,mount –type device dir;要移除磁盘,则需要卸载该分区,umount [device |dir] .12.添加删除用户:添加用户useradd option username;删除用户userdel option username.13.两个目录ROOT 和BOOT,哪个是用户的主目录:boot是存放系统内核映像及其它与启动有关的文件,root 是root用户的目录,root是用户的主目录.14.用户的账号文件和用户组的账号文件的区别:用户账号文件—passwd;用户组的账号文件—group和gshadow.15.使用命令行方式管理用户和组的各种命令:使用useradd 命令添加用户useradd option username;使用usermod命令修改用户信息usermod option username;使用userdel命令删除用户userdel option username;使用groupadd命令创建用户组groupadd option groupname;使用groupmod命令修改用户组属性groupmod option groupname;使用groupdel命令删除用户组groupdel option groupname.。
LINUX复习资料完整版(word文档良心出品)

LINUX复习资料填空题:1、Linux内核主要是由进程调度、内存管理、虚拟文件系统、网络接口和进程间通信组成2、Linux系统定义了五种状态进程状态:就绪状态、可中断等待状态、不可中断等待状态、停止状态、中止状态RT-Linux中的德实时任务在运行过程当中总是处于以下三种状态之一:等待状态是指正在执行某些事件而无法等到执行,放弃CPU而处于暂停状态;就绪状态也是因为有更高优先级的任务正在使用CPU而不能投入运行,任务处于等待CPU 的状态,处于就绪队列中;运行状态是任务正在CPU上运行。
3、从Linux的调度来看,支持非实时(普通)和实时两种进程4、考虑到中断处理的效率,Linux的中断处理程序分为两个部分:上半部(top half)和下半部(bottom half)5、由外部设备引发的中断叫外部中断,处理器响应中断请求而执行的程序模块叫中断服务例程6、交换机制:将不用或暂不用的页框中的页移出,装上新的页面7、linux三级分页结构:页目录、中间页目录、页表8、进程的通信与同步机制有管道、信号、消息队列、共享内存和信号量集等9、Linux的管道有:匿名管道和命名管道10、从信号的可靠性方面,信号可以分为:可靠信号和不可靠信号11、linux设备驱动注册的基本参数有设备名称,设备驱动的数据结构、设备号和次设备号12、lsmod把现在kernel中已经安装的modules列出来;insmod把某个module安装到 kernel13、嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
14、嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。
其中,嵌入式系统硬件平台为各种嵌入式器件、设备(如ARM、PowerPC、Xscale、MIPS等)16、嵌入式操作系统是指在嵌入式硬件平台上运行的操作系统,目前主流的嵌入式操作系统有嵌入式Linux、μCLinux、WinCE、μC/OS-Ⅱ、VxWorks等17、RTOS有QNX,pSOS,vxworks,RT-Linux等18、Linux用户进程:进程控制块、系统堆栈、用户堆栈、程序代码及数据段组成;Linux可以管理512个进程,进程调度的police域有:SCHED_OTHER; SCHED_FIFO; SCHED_RR Linux的进程控制相关的系统调用函数有:fork,exit,vfork,wait,execve等19、Linux 虚拟文件系统维护描述整个虚拟文件系统以及实际已挂装的文件系统的数据结构20、嵌入式Linux系统中常见的文件系统有:yaffs, jsffs, cramfs等21、文件系统的安装必须调用mount命令,把其他子系统安装到已经存在于文件系统的空闲节点上。
Linux操作系统 课后习题9章
第九章习题一填空1.Linux支持虚拟文件系统(VFS),其实质是Linux内核中的一个软件层,用于给用户空间的程序提供文件系统接口。
2./boot目录存放内核和加载内核所需的文件。
一般情况下,GRUB 或LILO 系统引导管理器也位于这个目录。
3.BusyBox 是一个集成了许多最常用Linux命令和工具的软件。
4.编译BusyBox时可以采用静态编译和动态编译两种方式。
5.initrd是boot loader initialized RAM disk的缩写,意思是由引导程序初始化的RAM磁盘。
6.磁盘分区指明操作系统可以存取哪些磁柱之间的区块,这样操作系统就可以在指定的区块内进行文件数据的读、写、搜寻等操作。
7.在命令提示符下输入命令“fdisk –l”查看系统磁盘及分区情况。
8.df命令作用是列出文件系统的整体磁盘空间使用情况。
9.Linux系统通过quota来限制每个用户或组的磁盘使用空间,以避免个别用户或组占用过多的磁盘空间影响系统运行和其他用户的使用。
10.限制分配给用户或组的磁盘块的数目可以通过执行edquota命令实现。
二选择1.(B)目录存放所有的系统配置文件。
A./homeB. /binC. /etcD./root2.一个硬盘最多可以分(B)个主分区。
A.3B. 4C. 5D. 63.fdisk分区界面中,执行(A)命令实现添加一个新分区。
A.nB. dC. pD. q4.使用(D)命令可以实现磁盘对拷。
A.copy B.cd C.cp D.dd5. 执行(C)命令格式化分区。
A.rmdiskB. formatC. mkfsD. fdisk6. quotacheck自检测并创建用户(组)磁盘配额文件,(B)选项表示忽略现有的配置文件。
A.a B.c C.u D.g7. 不需要磁盘配额功能时可以使用(A)命令进行关闭。
A.quotaoff B.off C.diskoff D.shut三简答1.简述静态编译和动态编译的区别?答:静态编译:制作的根文件系统在使用时,不需要依赖动态库。
《操作系统安全》第九章_Linux_操作系统文件系统安全
• Samba工作原理 • Samba的工作原理是,讓Windows系列操作系統網路 鄰居的通訊協議——NETBIOS(NETwork Basic Input/Output System)和SMA(Server Message Block) 這兩個協議在TCP/IP通信協議上運行,並且使用 Windows的NETBEUI協議讓Linux可以在網路鄰居上被 Windows看到。其中最重要的就是SMB(Server Message Block)協議,在所有的諸如Windows Server 2003、Windows XP等Windows系列操作系統中廣為 應用。Samba就是SMB伺服器在類UNIX系統上的實現, 目前可以在幾乎所有的UNIX變種上運行。
10/5/2014
第二部分 教學內容
• 9.1分區的安全策略 • 9.1.1塊設備和分區 • 塊設備是能夠以固定大小塊格式化的任意存儲設備 的抽象層。單獨的塊的訪問可以獨立於其他塊的訪 問。這樣的訪問通常稱為隨機訪問。 • 隨機可訪問的固定大小塊的抽象層允許程式使用這 些塊設備,而無需擔心底層設備是硬碟驅動器、軟 碟、CD、固態(solid-state)驅動器、網路驅動器, 還是某種虛擬設備,比如記憶體中文件系統。
10/5/2014
• •
Samba伺服器的功能 檔共用和列印共用是Samba最主要的功能。Samba為了方便檔共用和列印共用,還實 現了相關的控制和管理功能。具體來說,Samba完成的功能有:
– 共用目錄:在局域網上共用某個或某些目錄,使得同一個網路內的Windows用戶可以在網上 鄰居裏訪問該目錄,就跟訪問網上鄰居裏其他Windows機器一樣。
10/5/2014
• •
1、NFS原理 NFS比較複雜,包括很多組件,通過特殊的協議進行交互。不同的組件在操作系統當 中都使用不同的配置檔以及狀態檔。下圖說明瞭NFS的主要組件及配置檔。
操作系统第9章课后习题解答
9.14 • 在多级反馈队列调度器的调度下,I/Obound的进程比CPU-bound的进程更有利, 也就是说,调度器更倾向于选择I/O-bound 的进程进行分派。原因在于I/O-bound的进 程会比较长时间地阻塞;在阻塞过程中, CPU-bound的进程得到多次分派执行,因而 会很快进入低优先级的反馈队列中。这样, I/O-bound的进程被唤醒之后,通常具有比 CPU-bound的进程高得多的优先级,所以会 得到调度器的“青睐”。
10 7 3.50 8 5 2.50 9 6 3.00 5 2 1.00 5 2 1.00 10 7 3.50 6 3 1.50 8 5 2.50
15 6 1.20 18 9 1.80 19 10 2.00 15 6 1.20 15 6 1.20 15 6 1.20 19 10 2.00 18 9 1.80
9.16
A
ቤተ መጻሕፍቲ ባይዱ
B
C
D
E
平均周转 时间 32.20 30.00 28.80 21.00
RR
45
34 9 24 18
14 39 27 3
27 45 33 9
41 21 45 30
Priority 36 FCFS SPN 15 45
进程
A
B
C
D
E
到达时刻
0
1
3
9
12
服务时间(Ts)
3
5
2
5
5
平均值
FCFS
完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts
操作系统--精髓与设计原理(第八版)第九章复习题答案
操作系统--精髓与设计原理(第⼋版)第九章复习题答案9.1简要描述三种类型的处理器调度。
长程调度:决定加⼊待执⾏进程池。
中称调度:决定加⼊部分或全部位于内存中的进程集合。
短程调度:决定可⽤I/O设备处理哪个进程挂起的I/O请求。
9.2在交互式操作系统中,通常最重要的性能要求是什么?响应时间9.3 周转时间和响应时间有何区别?周转时间指⼀个进程从提交到完成之间的时间间隔,包括实际执⾏时间和等待资源(包括处理器资源)的时间;响应时间指从提交⼀个请求到开始接收响应之间的时间间隔。
9.4 对于进程调度,较⼩的优先级值是表⽰较低的优先级还是表⽰较⾼的优先级?对于UNIX和许多其他操作系统中,优先级数值越⼤,表⽰的进程优先级越低。
某些系统如Windows的⽤法正好相反,即⼤数值表⽰⾼优先级。
9.5 抢占式调度和⾮抢占式调度有何区别?⾮抢占:在这种情况下,⼀旦进程处于运⾏状态,就会不断执⾏直到终⽌,进程要么因为等待I/O,要么因为请求某些操作系统服务⽽阻塞⾃⼰。
抢占:当前正运⾏进程可能被操作系统中断,并转换为就绪态。
⼀个新进程到达时,或中断发⽣后把⼀个阻塞态进程置为就绪态时,或出现周期性的时间中断时,需要进⾏抢占决策。
9.6 简单定义FCFS调度。
每个进程就绪后,会加⼊就绪队列。
当前正运⾏的进程停⽌执⾏时,选择就绪队列中存在时间最长的进程运⾏。
9.7 简单定义轮转调度。
这种算法周期性地产⽣时钟中断,出现中断时,当前正运⾏的进程会放置到就绪队列中,然后基于FCFS策略选择下⼀个就绪作业运⾏。
9.8 简单定义最短进程优先调度。
这是⼀个⾮抢占策略,其原则是下次选择预计处理时间最短的进程。
9.9 简单定义最短剩余时间调度。
最短剩余时间是在SPN中增加了抢占机制的策略。
在这种情况下,调度程序总是选择预期剩余时间最短的进程。
9.10 简单定义最⾼响应⽐优先调度。
当前进程完成或被阻塞时,选择R值最⼤的就绪进程。
调度决策基于对归⼀化周转时间的估计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例 2: # str=″This is \n a book″
# echo –e $str
This is
a book
2. 单引号(‗‘) 使用单引号消除被括在单引号中的所有特殊 字符的含义,即单引号表示内容照原样不动。 例 1:
# BOOK=″English book″ # MSG=′$BOOK′ # echo $MSG - echo ′$MSG′ # $BOOK $MSG
-r fn
如果fn存在则返回真,否则返回假。 如果fn 存在且fn为目录则返回真,否则返回假。
如果fn存在且fn可读则返回真,否则返回假。
-w fn
-x fn
如果fn存在且fn可写则返回真,否则返回假。
如果fn存在且fn可执行则返回真,否则返回假。
6. 表达式的逻辑运算
在实际应用中常需要将多个表达式用逻辑运算符组 合起来,构成比较复杂的条件。逻辑运算符包括:
常用的整数关系条件判断
num_1 –eq num_2 如果num_1和num_2相等则返回真, 否则返回假;
num_1 –ne num_2
num_1 –gt num_2 num_1 –lt num_2 num_1 –le num_2 num_1 –ge num_2
如果num_1不等于num_2则返回真, 否则返回假;
1. test命令
test命令是shell程序设计的条件判断中最常 用的测试命令,它有两种等价的格式: test expression或[ expression ](注 意:[ ]中的空格)
其中expression就是要测试的条件。如果 test计算expression的结果为真,则返回 “零”出口状态,否则返回“非零”出口状态。 test命令可用于对字符串、整数及文件进行 各类测试。
当shell命令或程序执行成功时,它返回一个 “零”出口状态(即$?为零);如果执行的命令 或程序出错时,则返回一个“非零”的出口状态 (即$?不为零)。
除了一般命令的出口状态外,UNIX还提供了两 个命令true和false的出口状态。true的出口状 态为零;而false的出口状态为非零。shell将 true和false命令作为恒真和恒假条件使用。
例:
ls
/
/bin
$2
/etc
$3
/usr/bin
$4
/dev
$5
$0 $1
# vi test9-1.sh
#!/bin/bash # This program will define what is the parameters echo "This script's name => $0" echo "parameters $1 $2 $3" # sh test9-1.sh pa1 pa2 pa3 This script's name => test11-1.sh parameters pa1 pa2 pa3
#num=2 #echo ″this is the $numnd″ #echo ″this is the ${num}nd″
例 2:
#str=′This is a string′
#echo ″${str}ent test of variables″
This is a stringent test of variables #echo ″$strent test of variables″ test of variables
Linux操作系统
总复习
第九章 shell程序设计
9.1 9.2 9.3 9.4 9.5 shell概述 shell变量 shell的控制结构 shell应用实例 小结
9.1 shell概述
9.1.1 什么是shell
shell是一种命令解释程序,shell解释用户 输入的命令行,提交系统内核处理,并将结果 返回给用户。一旦用户登录到系统后,shell 就被系统装入内存,并一直运行到用户退出系 统之止;而一般命令仅当被调用时,才由系统 装入内存执行。
shell本身也是一种可编程的程序设计语言。 用shell写的程序(shell脚本)相当于 dos/windows下的批处理文件,它可以 简单到只有一条命令,也可以复杂到包括 大量循环、条件语句、数学运算、控制结 构,也可以是介于两者之间的程序。
9.1.2 Shell程序的创建与执行
用任一文本编辑器创建shell文件 (xxx) (例如:$ vi xxx) 将shell文件改为可执行文件 (例如:$ chmod u+x xxx) 执行shell文件 (例如:$ ./ xxx)
9.2.4 常用命令
1.echo命令
显示变量内容
# echo $variable
2.set命令
显示目前系统中全部的变量内容 # set 3.unset命令
直接将该变量的内容拿掉:
# unset 变量名Fra bibliotek4.read命令
上面讲的变量都是直接设定的!那么是否可以让变
量内容是由使用者由键盘输入呢?
例: # B=abc A=$B C=″OK″ # echo $A $B $C abc abc OK 当引用一个未设置的变量时,其隐含值为空。
例: # echo ″$mail is path of mailbox″ is path of mailbox
9.2.3 shell中的特殊字符
命令格式为,
test 整数测试表达式
例 1: # x1= ″ 005 ″ # x2= ″ 10″ # test ″ $x1 ″ = 5 # echo $? 1 例 2: # test ″ $x1 ″ -eq 5 # echo $? 0 例 3: # test ″ $x2 ″ -eq 10 # echo $? 0
“$?‖取最近一次命令执行后的退出状态:执行成功 返回码为0,执行失败返回码为1。
例: #cd /home # echo $? 0 # cd /abcd
# echo$?
1
9.3 shell控制结构
9.3.1 条件与test命令
在程序设计语言中,作出决策的结构称为 条件。在高级语言中决策的作出是依赖于 基本运算的结果;在shell语言中,作出 决策所依赖的条件是所执行命令的“出口 状态”。
1.双引号 (―‖)
如果用双引号“”将值括起来,则括起来
的字符串允许出现空格、制表符和换行符
等特殊字符,而且允许有变量替换。
例 1:
# MAIL=/var/mail/fk
# var=″$MAIL is path of mailbox″
# echo $var /var/mail/fk is path of mailbox
可以使用 read 命令,这个命令在脚本里面是比较 重要的。 # read a testing <==此时屏幕会等待使用者由键盘输入!
# echo $a
testing <==刚刚输入的数据变成了变量的内容!
数学运算--$[] #a=3 #b=5 #c=7 #echo $[$a+$b] #echo $[$a*$b] #echo $[$a/$b] #echo $[$a%$b] #echo $[$a**$b]
2. test字符串测试表达式 例1: 两个字符串进行比较 # user=smith # test ″$user″= smith # echo $? 0 # test ″$user″ = tom # echo $? 1
例2:比较字符串的长度 # sym=″hello″ # test -z ″$sym″ # echo $? 1 # test -n "$sym" # echo $?
例1: 检查指定的文件是否存在且为普通文 件 #test -f /usr/fk/message 例2: 检查指定的文件是否为目录 #test -d /usr/src/local/sendmail
常用的文件属性条件判断 -f fn 如果fn为普通文件则返回真,否则返回假。
-e fn -d fn
! : 逻辑非单目运算符,可放置在任何其他test表 达式之前,求得表达式运算结果的非值。 -a :逻辑与运算符,执行两个表达式的逻辑与运算, 并且仅当两者都为真时,才返回真值。 -o :逻辑或运算符,执行两个表达式的逻辑或运算, 并只要当两者之一为真时,就返回真值。
如果num_1大于num_2则返回真, 否则返回假; 如果num_1小于num_2则返回真, 否则返回假; 如果num_1小于等于num_2则返回 真,否则返回假; 如果num_1大于等于num_2则返回 真,否则返回假;
5. test用于文件的测试 test可用于文件各种特性的检查。这些文 件的操作符自然是一元操作符,意味着它 们要求其后跟随一个自变量。在所有的情 况中,这个自变量是一个文件或目录名。 常用的文件测试表达式示例如下:
0
常用字符串属性条件判断
string_1 = string_2
如果string_1和string_2两个字符 串相等则返回真,否则返回假;
如果string_1和string_2两个字符 串不相等则返回真,否则返回假; 如果字符串string的长度为0则返回 真,否则返回假; 如果字符串string长度不为0则返回 真,否则返回假; 同-n string,如果字符串string长 度不为0返回真,否则返回假。