《Linux系统管理》期末大作业任务书(2014.12)(1)

发布时间:2015-01-08 20:06:45

软件学院大作业任务书

课程名称: Linux系统管理

目: Linux系统管理期末大作业

业:

级:

号:

学生姓名:

完成人数: 1

起讫日期:

任课教师: 李荣鑫 职称:

部分管主任:

完成时间:

1. 本任务书由任课教师填写后,下达到学生。

2. 任务完成后,任课教师需填写小结表。

3. 任务书、学生成绩与学生完成后的大作业(纸质和电子两种)一并报送各教学研究部审核后转教务办。

4. 另附一份全班大作业总结

大作业的要求和内容:(包括题目选择范围、技术要求、递交时间、考核方法等)

1. 要求独立完成下面的每一道题目。(题目附后面)

2. 不允许有雷同和抄袭的情况,若代码雷同率超过30%以上的,双方成绩均按不及格处理。

3. 从第六大题开始要有运行截图,程序题要有完整的代码,并附运行截图。程序运行结果中要输出你的学号和姓名。

4. 要求递交电子文档和打印纸质文档,电子文档提交到网络教学综合平台(http://online.ncu.edu.cn,打印文档由班长统一收取后交给老师。

5. 递交时间:2015110日之前。

教师小结:

成绩:

名:

教研部负责人:

学生姓名:

Linux系统管理》期末大作业试题

学号: 姓名: 班级:

1. 写出完成下列操作的Linux命令

(1)shell脚本文件myshell.sh设置可执行权限。

#chmod ugo+x myshell.sh

(2)将目录/home/abc下的所有文件拷贝到/data

#cp /home/abc/* /data

(3)安装软件包cvs-1.11.2-10.i386.rpm

#rpm -i cvs-1.11.2-10.i386.rpm

/home/abc目录打包压缩,生成abc.tar.gz文件,并将此文件保存到/data

#tar zcvf /data/abc.tar.gz /home/abc

(5)删除目录/home/abc及其下面所有文件。

#rm -rf /home/abc

(6)查询Linux系统的所有*.conf文件。

#find -name *.conf

(7)查询软件mysql是否安装。

#service mysqld start安装则可以启动

(9)ls /etc的显示内容保存到文件etc.txt中。

#ls /ect >/etc.txt

(10)设置物理网卡的IP地址为192.168.1.100

#ifconfig etho 192.168.1.100 netmask 255.255.255.0

(11)查找/home目录下所有test 用户的目录和文件。

#find /home -user test

(12)将系统的日期设置为20141220830分。

#data -set “20141420 08:30:00”

2. 建立以下用户、组并设置口令,写出相关的操作命令

1 建立用户smith

#useradd smith

2) 建立组名sysadmin

#groupadd sysadmin

3) smith加入组sysadmin

#usermod -g sysadmin smith

4) smith设置口令654321

#passwd smith

654321

5) 将文件test.c 所有者设为 smith. 所有组设为sysadmin.

#chown smith test.c

#chgrp sysadmin test.c

6) 列出Linux系统下的所有用户

#cat /etc/passwd

3文件拷贝及相关问题,写出相关的操作命令。

1). 建立目录/option1

#mkdir optionl

2)在目录/option1下生成一空文件empty,该文件拥用者为smith

#touch empty

#chomd smith empty

3) 复制该文件到/tmp目录下的empty1文件,保留该文件的所有属性

#cp -p /option1/empty /tmp/empty1



4 软链接该文件到/tmp目录下的soft文件

#ln -s empty1 /tmp/soft

5) 在根目录下查找所有扩展名为.c.h文件。

#ls *.h

4.简答题

1)论述Linuxshell启动过程。

2)简述Linux系统的组成,主要应用和特点。

Linux一般有4个主要部分:内核、Shell、文件系统和应用程序内核、Shell和文件系统一起形成了基本的操作系统结构。它们使得用户可以运行程序,管理文件并使用系统。Linux主要被用作服务器的操作系统,提供了包括操作系统、数据库、网站服务器。符合POSIX 1003.1标准POSIX 1003.1标准定义了一个最小的Unix操作系统接口,任何操作系统只有符合这一标准,才有可能运 Unix程序。

3)简述守护进程的工作原理。

Client/Server模式下。服务器监听(Listen)在一个特定的端口上等待客户连接。连接成功后服务器和客户端通过端口进行数据通信。守护进程的工作就是打开一个端口,并且等待(Listen)进入连接。如果客户端产生一个连接请求,守护进程就创建(Fork)一个子服务器响应这个连接,而主服务器继续监听其他的服务请求。

4)举例说出Linux系统下编译CC++JAVA程序的方法。

5.你认为系统管理员的职责包括哪些?管理的对象包括哪些?

系统管理员的职责是进行系统资源管理、设备管理、系统性能管理、安全管理和系统性能监测。管理的对象是服务器、用户、服务器的进程及系统的各种资源等。

6.Shell编程,编写一个判断素数的函数isprime(),并调用该函数计算100---300之间所有素数的和。

代码:

#!/bin/bash

isprime()

{

for ((i=2;i<=$1;i++));do

if [ $(($j%$i)) -eq 0 ];then

break

fi

if [ $(($j%$i)) -gt 1 ];then

return 1

fi

done

}

#a = $1

#result=$(isprime $1)

sum=0

for ((j=100;j<=300;j++));do

isprime $j

if [ $? -eq 1 ];then

# echo $j

let sum=$sum+$j

fi

done

echo "100-300素数和="$sum

7.设计一个shell程序,计算n的阶乘,要求:1)从命令行接收参数n; 2)程序运行后判断参数n的合法性,即是否有参数,如有,是否为正整数;若非法,给出错误提示信息。3)最后输出计算结果。

代码:

#!/bin/bash

multiply()

{

if [ $1 -gt 1 ]; then

result=`expr $result \* $1`

next=`expr $1 - 1`

multiply $next

fi

}

if [ $# -ne 1 ]; then

echo -e "Please input a parameter!\nUsage: $0 [n]"

exit 1

fi

result=1

if [ $1 -eq 1 ]; then

:

elif [ $1 -gt 1 ]; then

multiply $1

else

echo "Invalid input parameter! It MUST be a integer greater than 0."

exit 1

fi

echo "$1! = $result"

exit 0

8.编写Shell程序,程序功能,先建立一个学生组student,然后批量建立若干个学生用户,用户名的前导字符形如stu,再加数字序号,如stu20,用户名的前导字符和用户个数通过参数传递。格式如:mysh stu 100

代码:

#!/bin/bash

if [ $# -eq 2 ];then

a=$1

b=$2

c=$a$b

groupadd student

useradd $c

echo "create success!"

Fi

9.某系统管理员需每天做一定的重复工作,请按照下列要求,编制一个解决方案:

1)在下午4 :50删除/abc目录下的全部子目录和全部文件;

2)从早8:00~下午6:00每小时读取/xyz目录下x1文件中的全部数据并追加到/backup目录下的bak01.txt文件内;

3)每逢星期一下午5:50/data目录下的所有目录和文件归档并压缩为文件:backup.tar.gz

请编写一个crontab文件,实现上述方案。

Vim /etc/crontab



50        16        *        *        *        root        rm -rf /abc/* 2>&1 &

00        8-18        *        *        *        root         cat /xyz/x1|awk '{print $1}' >> /backup/bak01.txt 2>&1 &

50        17        *        *        1        root        cd /data;tar -zcvf backup.tar.gz * 2>&1 &

55        17        *        *        *        root umount /hdc 2>&1 &

10. 考勤模拟Shell程序设计: shell设计一个模拟考勤程序,实现如下功能选择界面:

1:上班签到

2:下班签出

3:考勤信息查询

考勤程序运行后,提示用户输入上述功能选择,并验证用户输入的用户名和密码;用户信息保存在userinfo.dat中。如果是上班签到,记录签到信息,如果签到时间大于上午8时,则提示用户迟到,并记录该迟到信息到check.dat中。如果是下班签出,记录签出信息,如果签出时间小于下午6时,则提示用户早退,并记录该早退信息到check.dat。如果用户选择确信信息查询,则将check.dat中对应的用户迟到早退的信息查询出来并显示。用户选择功能执行完,Shell程序继续回到功能选择界面等待下一个用户进行操作。

代码:

#!/bin/bash

while [ 1 ]

do

#clear

#屏幕显示提示信息

echo "********欢迎使用本系统********"

echo "1) 录入签到"

echo "2) 下班签出"

echo "3) 查询 "

echo "******************************"

echo "请输入您的选项:"

#读入操作选项

read choice

#对相应的选项进行操作

case $choice in

1) echo "请输入您的名字:"

read name

echo "请输入密码:"

read password

if test -r userinfo.dat

then

while read fname fpassword

do

if test "$fname" = "$name"

then

if test "$fpasswd" = "$passwd"

then

break

fi

fi

done < userinfo.dat

else

echo System Error : no such file userinfo.dat

fi

if test "$name" != "$fname"

then

echo "不存在该用户!"

elif test "$password" != "$fpassword"

then

echo "密码不正确!"

else

hour=`date +%H`

if test "$hour" -gt 8

then

echo "您迟到了!"

echo "$name 迟到了 ---日期:`date`" >> check.dat

else

echo "早上好!"

fi

fi;;

2) echo "请输入您的名字:"

read name

echo "请输入密码:"

read password

if test -r userinfo.dat

then

while read fname fpassword

do

if test "$fname" = "$name"

then

if test "$fpasswd" = "$passwd"

then

break

fi

fi

done < userinfo.dat

else

echo System Error : no such file userinfo.dat

fi

if test "$name" != "$fname"

then

echo "不存在该用户!"

elif test "$password" != "$fpassword"

then

echo "密码不正确!"

else

hour=`date +%H`

if test "$hour" -lt 18

then

echo "您早退了!"

echo "$name 早退了 ---日期:`date`" >> check.dat

else

echo "早上好!"

fi

fi;;

3) echo "请输入您的名字:"

read name

echo "请输入密码:"

read password

if test -r userinfo.dat

then

while read fname fpassword

do

if test "$fname" = "$name"

then

if test "$fpasswd" = "$passwd"

then

break

fi

fi

done < userinfo.dat

else

echo System Error : no such file userinfo.dat

fi

if test "$name" != "$fname"

then

echo "不存在该用户!"

elif test "$password" != "$fpassword"

then

echo "密码不正确!"

else

echo "您的记录:"

echo "---------------------------------"

cat -b check.dat | grep $name

echo "---------------------------------"

fi;;

*) echo '无效的选项,请重新输入!';;

esac

done

截图

11.写出以下服务器的配置方法:Samba服务器 NFS服务器 WWW服务器 FTP服务器 DHCP TELNET DNS (任选期中两个)(包括配置文件,启动方法,还有基本的配置信息,还有服务器成功访问后的截图)

NFS服务器

①安装nfs-utilsportmap软件包

②编辑/etc/exports配置文件

③配置nfs固定端口

④配置iptables策略

⑤启动portmapnfs服务

 

DNS服务器

第一步:hostname 主机名

第二步:vim /etc/hosts

第三步:vim /etc/sysconfig/network

12.C++编写程序如下三个程序,在头文件circle.h定义一个圆类,包括数据成员半径,一个构造函数和一个用于计算面积的成员函数;在circle.cpp中实现圆类的构造函数和成员函数;在主程序test.cpp中定义一个对象并初始化,输出该圆的面积。在linux下进行编译和链接运行。然后编写一个Makefile文件,用make命令进行自动编译。

13. 使用mysql,写出操作命令。

1)连接到mysql

mysql -h localhost -u root -p

2)查看所有数据库;

Show databases;

3)添加一个数据库Week,在库中加入一个表today,字段包括:

  ID 整型,name 字符型,长度为8

Create database Week;

Use Week;

Create table today(ID int(),name char(8));

4)显示week数据库的所有表;

Show tables;

5)给表Today插入3条数据

INSERT INTO today VALUES(“1,xxx)(2,dd)(3,ss);

6)显示Today表中所有的数据;

Select * from Today;

《Linux系统管理》期末大作业任务书(2014.12)(1)

相关推荐