linux期末复习题
C shell(简称csh)
Korn shell(简称ksh)
Bourne Again shell(即bash 默认shell)
8. 执行shell脚本的方式主要有哪几种?
执行shell脚本的方式基本上有三种: (1)输入定向到shell脚本 $ bash <脚本名 (2)以脚本名作为参数
其一般形式是: $ bash 脚本名[参数]
如果以目前shell(以·表示)执行一个shell脚本,则可以使用如下简便形式: $ ·脚本名[参数]
(3)将shell脚本的权限设置为可执行,然后在提示符下直接执行它。 $ chmoda+x ex2 $ PATH=$PATH:. $ ex2
注意,此时该脚本所在的目录应被包含在命令搜索路径(PATH)中
9. 下述表达式的作用是什么?
${name[*]},表示数组name中所有非空元素的值,每个元素的值用空格分开。 ${name[@]},表示数组name中所有非空元素的值,每个元素的值用空格分开。 ${ #*},它的值是由$*返回的参数的个数。 ${name%%.*},
${#name[*]},它们的值都是数组name中已经设置的元素的个数。 ${name:-Hello}
10. 说明shell中三种引号的作用及区别?
1.双引号
由双引号括起来的字符(除$、倒引号(`)和反斜线(\)外)均作为普通字符对待。 2.单引号
由单引号括起来的字符都作为普通字符出现
linux期末复习题
倒引号括起来的字符串被shell解释为命令行,在执行时,shell会先执行该命令行,并以它的标准输出结果取代整个倒引号部分。
倒引号还可以嵌套使用。但应注意,嵌套使用时内层的倒引号必须用反斜线(\)将其转义。
11. 编写脚本实现如下功能:显示给定目录下指定文件的内容。
#!/bin/bash
echo "输入你要显示的文件所在的目录。" read DIR
if [ ! -d $DIR ];then echo "对不起!你输入的不是目录。" exit 1 fi
cd $DIR ls $DIR
echo "输入你要显示的文件的文件名。" read Filename cat $Filename
12. Linux系统的体系结构分为哪几层?
靠近硬件的底层是内核,即Linux操作系统常驻内存部分。 中间层是内核之外的shell层,即操作系统的系统程序部分。 最高层是应用层,即用户程序部分
13. 什么是进程?什么是线程?linux系统中的进程状态有哪些?
进程:简单说来,进程就是程序的一次执行过程。
Linux把线程定义为进程的“执行上下文”,具有一段可执行的程序、专用的系统堆
栈空间、私有的“线程控制块”,缺少自己的存储空间 进程状态:运行态、就绪态和封锁态(或等待态)、不可中断等待态、可中断等待
态、僵死态
14. Linux系统如何执行进程调度?
进程调度机制主要涉及到调度方式、调度时机和调度策略 1.调度方式
基本上采用“抢占式优先级”方式 2.调度策略——三种不同的调度策略
SCHED_FIFO——短实时进程,对时间性要求比较强
SCHED_RR——较长时间的实时进程,对应“时间片轮转法”
SCHED_OTHER——交互式的分时进程,这类进程的优先权取决于两个因素:一个因素是进程剩余时间配额;另一个是进程的优先数nice ——优先数越小,其优先级越高
后台进程的优先级低于任何交互(前台)进程的优先级