Linux作业

  • 格式:doc
  • 大小:25.00 KB
  • 文档页数:6

第一学期

计算机科学与技术专业 级

《Linux操作系统》课程

大型作业

班级:

学号:

姓名:

一、Shell编程(20分)

程序一: 功能:创建两个字符串变量。变量val1包含一个字符串,变量val2作为一个空字符串创建。进行了如下比较:

If [-n $val1]确定变量val1的长度是否为非零值,如果是非零值,那么将处理then:

If [-z $val2]确定变量val2的长度是否为0,如果是将处理then部分:

If [-z $val3]确定val3的长度是否为0。这个变量没有在shell脚本中定义,所以字符串长度仍然为0.

代码:

$cat test

#!/bin/bash #这句话不是注释,标志要使用的shell

#testing string length

Val1=testing #创建变量Val1

Val2=‟‟ #创建空字符变量Val2

If [-n $val1] #确定变量val1的长度是否为非零值

Then #val1不为0

Echo”The string „$val1‟ is not empty” #val1不为空

Else #否则

Echo “The string „$val1‟ is empty” # val1为空

Fi

If [-z $val2] #确定变量val2的长度是否为0

Then #如果是

Echo”The string „$val2‟ is empty” #val2为空

Else #否则

Echo “The string „$val2‟ is not empty” # val2不为空

Fi

If [-z $val3] #确定val3的长度是否为0

Then #是

Echo”The string „$val3‟ is empty” #val3为空

Else #否则 Echo “The string „$val3‟ is not empty” # val3不为空

Fi

程序二:

程序功能:函数参数传递

代码:

#!/bin/sh

yes_or_no() #函数名

{

echo Is your name $* ? #是否你的名字

while true #是

do

echo -n "Enter yes or no:" #选择是否

read x #调用x

case "$x" in #case调用x

y | yes ) return 0 #y代表yes

n | no ) return 1 #n代表no

echo "Answer yes or no" #回答是否

esac #case语句完成

done #执行

}

echo "Original parameters are $*" # 表明传递参数的字符串的个数是任意的

if yes_or_no "$*" #表明接受全部的参数,但也是可以指定某一个参数

then #是

echo "Hi $2, nice name" #表明接受第二个参数

else #否则执行下一条语句

echo "Never mind"

fi

exit 0 #退出

二、Linux操作系统配置实例(20分) Linux操作系统下的apache服务器的httpd.conf文件的基本配置。它的配置命令别分成以下三个相对集中的部分:

1、配置apache服务器在整个运行过程中的环境变量。

2、配置主服务器获默认服务器运行时的详细接口参数。

3、设置虚拟服务器,使得在同一个apache服务器上可完成不同ip地址或不同主机名的web请求。

下面是httpd.conf文件的配置命令:

#环境设置部分

#设置apache服务器的启动方式以守护进程的方式运行。

ServerType standalone

#设置服务器目录

ServerRoot “/usr/local/apache”

#设置服务器用于记录父进程(监控进程)PID的文件

PidFile logs/httpd.pid

#保存服务器内部的处理信息

ScoreBoardFile log/apache_status

#设置服务器与客服端的最大等待时间

Timeout 300

#设置支持续传功能。

KeepAlive On

#设置支持续传功能的数目。

MaxkeepAliveRequests 100

#设置保持续传的最大等待时间

KeepAliveTimeout 15

#设置同时间内进程数目

MaxRequestsPerChild 0

#设置服务器使用进程数目

ThreadsPerChild 50

#准许使用 User www

Group www

#设置存放站点文档目录

DocumentRoot “/usr/local/apache/htdocs”

#设置浏览网页时的缺省页

DirectoryIndex index.htm index.html index.php index.php3

default.html index.cgi

#设置目录

Options FollowSymLinks

AllowsOverride None

Order allow ,deny

Allow from all

#定义每个目录访问控制文件的名称

AccessFileName .htaccess

#定义代理服务器不要缓存页面

CacheNegotiatedDocs

#设定mime型态配置文件所在的位置

TypesConfig conf/mime .types

#错误记录文件设定

ErrorLog logs/error.log

#设定记录文件的格式

LogFormat “%h%l%u%t \”%r\”%>s%b” common

# Alias指令使文件可以放在documentroot之外的本地文件系统里

# scriptAlias指令与Alias指令相同,只不过它还标记该目录包含CGI #或PHP指令文件

Alias/icons/ “/usr/local/apache/icons”

scriptAlias /cgi –bin/ ”/usr/local/apache/cgi -bin” # AddIconByType和AddIcon都是用来设置显示不同的文件类型所使#用的图标列表‘对于每种列出的文件类型,显示列出的第一个符合#的图标

AddIconByType (VID,/icons/movie.gif)vofeo/*

AddIcon/icons/binary,gif,bin,exe

#缺省的文件图标

DefaultIcon/icons/unknown.gif

#有问题或错误发生的情况下apache做出的三种反应

#1、输出自定义的信息(文本)

ErrorDocument 500 The server made a boo boo

#2、重连接到某个本地的URL以处理该问题或错误

ErrorDocument 404 /missing,html

ErrorDocument 404 /cgi –bin/missing_handler.pl

#3、重连接到某个外部的URL以处理该问题或错误

ErrorDocument 402 http://some.other_/subscription_info.html