- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
内蒙古科技大学
《Linux操作系统》课程大作业
学院:信息工程学院
班级:计算机11-1
学号:
姓名:
一、Shell编程(20分)
要求:写出两个Shell程序,每个程序不少于十五行;说明程序主要功能;每行给出注释。
答:
(一)
#以下三行获取当前的年月日
y=`date +%Y`
m=`date +%m`
d=`date +%d`
#下面定义文件的源和目标文件夹
src=/file/temp
dst=/file/$y/$m/$d
#下面是两个临时文件,只在运行的时候才需要,第一个文件存在表示正在运行
run_flag=/file/log/running
tmp_file=/file/log/tmp
#调试一:你使用时删除下面三行
src=$HOME/ygb
run_flag=$HOME/ygb/running
tmp_file=$HOME/ygb/tmp
#首先检查文件是否正在运行,否则退出,或者设置标志
test -f $run_flag exit
cat /dev/null $run_flag
echo start processing ...
#定义函数移动单个文件
mv_file(){
perl ! $tmp_file
\$a=$1;
\$n=rindex(\$a,.);
print substr(\$a,\$n) if (\$n0);
!
ext=`cat $tmp_file`
while true
do
perl ! $tmp_file
@a=(a..z,0..9);
print \$a[int(rand()*\$#a)] for (1..6);
!
dst_f=$dst/`cat $tmp_file`$ext
test -f $dst_f || break
done
#调试二:你使用时候删除下面语句的echo和两个引号
echo mv $1 $dst_f
}
#移动所有文件
for f in $src/*
do
mv_file $f
done
#运行结束以后清除标志
rm $run_flag
echo done.
(二)使用for语句创建一个Shell程序,其功能为1+2+3+4+5+……+n。
#把下面copy到一个shell脚本里,然后 chmod 755 档案名
function _is_digit
{
# if arg1 is all digits then return 1 else return 0.
echo $1|awk { if ($0 ~ /^[0-9]+$/)
print 1
else
print 0
}
}
# get input and do some input validation
if [ $# -ne 1 ]
then
echo Usage: $0 n
echo n must be an integer
exit 1
else
let n=$1
rt=$(_is_digit $n)
if [ $rt = 0 ]
then
print -u2 \nERROR: bad input n=\${n}\ must be an integer!\n
exit 1
fi
fi
let tot=0
for ((i=1;i=n;i++))
do
tot=tot+i
done
echo sum(1..$n)= $tot
exit 0
二、Linux操作系统配置实例(20分)
要求:查阅资料结合实际使用情况,写出Linux操作系统使用中的一个配置的详细过程;具体配置目标不限。
从源代码安装Apache
安装OpenSSL的步骤如下:
(1)获取源代码:
创建存放软件的目录:
mkdir/root/software(可以存放在任何自己想存放的目录)
到[url]/source/[/url]下载源代码包,放到/root/software/。
本案例中下载的是openssl-0.9.8.tar.gz
(2)解压软件:
tar -zxvf openssl-0.9.8.tar.gz
(3)进入源代码目录:
cd openssl-0.9.8
(4)配置编译选项:
/config--prefix=/usr/local/openssl--shared
--shared的含义是创建共享库文件,如果不加,在编译时只生成静态库文件。
(5)编译:
make
make test #测试
(6)安装:
make install
执行后将把相关的文件拷贝到/usr/local/openssl的对应目录下。
如果系统在安装的时候已经安装了openssl的话,可
文档评论(0)