linux网络操作系统大作业
《Linux系统管理与服务配置》大作业
《Linux系统管理与服务配置》大作业背景描述无论从硬件还是从软件上来讲,Linux操作系统都已经是一个非常成熟的操作系统,由于其免费、开源的特性使得Linux对Windows的威胁也越来越大。
在服务器和嵌入式系统市场上,Linux已经是主流的操作系统之一,现在Linux正稳步拓展桌面操作系统市场。
Linux网络服务功能非常强大,在Linux上可以部署Web Server、DNS Server、Mail Server、DB Server、FTP server等等,但是也由此产生了很多网络问题。
据统计,在Linux系统下产生的故障有60%来自网络方面,40%来自系统本身,课件熟练解决LInux下故障,对于熟练掌握Linux 系统有着巨大的帮助,请学生列出Linux系统下常见的故障与处理方法。
要求:1.要求从网络硬件传输故障(网线、路由器、交换机等)、网卡故障、网络服务故障等方面进行展开。
2.字数不少于1500字。
作业格式要求:(1)以A4纸张作(2)论文格式如下:论文标题用小二号字,宋体,加粗1 一级标题,用小三号黑体,加粗,并留出上下间距为:段前0.5行,段后0.5行)1.1 ××××××(作为正文2级标题,用小4号黑体,加粗)×××××××××(小4号宋体)××××××…………1.1.1 ××××(作为正文3级标题,用小4号黑体,不加粗)×××××××××(小4号宋体,行距1.5倍)××××××××教师姓名:李茂林联系方式:邮箱:截止日期:5月27日前将完成的作业发至指定邮箱。
linux大作业
仲恺农业工程学院Linux课程大作业报告院(系):信息科学与技术学院专业班级:计算机学号:姓名:目录1 简述题目 (1)2 shell程序设计 (5)2.1 程序设计要求 (5)2.2 程序设计内容 (5)1 (5)2 (10)3 (11)5 (13)6 (16)3 文件和目录部分 (17)3.1 程序设计要求 (17)3.2 程序设计内容 (17)2 (17)3 (17)6 (18)8 (19)9 (19)4 进程和信号部分 (20)4.1 程序设计要求 (20)4.2 程序设计内容 (20)1 (20)2 (21)8 (22)9 (23)10 (24)5 网络编程部分 (25)5.1 程序设计要求 (25)5.2 程序设计内容 (25)2 (25)3 (26)1 简述题目1、makefile文件的作用是什么,makefile文件中有一种变量,其值是根据具体的规则来确定的,称为自动变量,其中代表所有依赖文件列表的是哪个;举例说明make命令的工作流程。
答:(1)makefile的作用就是使得源文件修改的时候,能很快地自动编译和链接所有修改过的文件。
Make工具可将编译和链接的步骤按一定的规则写入文本文件。
(2)是指冒号后面的那一列(3)举例:现在有lib.h,lib.c,mod.c,app.h,app.c,main.c文件,编译链接成main.o程序示例:#script5-2_makefileAppexam:main.o app.o mod.o lib.ogcc –o apexam main.o app.o mod.o lib.omain.o:main.c app.hgcc –c main.capp.o:app.c app.hgcc –c app.cmod.o:mod.cgcc –c mod.clib.o:lib.c lib.hgcc –c lib.cclean:rm –f *.o2、什么是进程,用fork()创建一个子进程时,系统会做什么工作。
《linux网络操作系统》上机考试试题
《Linux网络操作系统》上机考试试卷班级:姓名:学号:实验之前先把镜像包复制到D盘根目录下,备份以防修改配置。
题目1:构建虚拟网络环境,配置网络接口,安装DHCP服务器并实现其功能,最后测试验证DHCP效果。
实训报告要求:1.书写十个步骤的命令集合及在命令后面解释每个命令的含义. 2每个步骤的小窗口截图,不要全屏截图。
考试步骤:1 用命令安装DHCP服务器(需要构建网桥模式连接外网,网关192.168.0.254,DNS:58.20.127.238)。
2 在虚拟机环境中构建2台主机,并联网。
3 通过配置etc/network/interfaces文件来实现网络接口的配置,要求eth0接口为服务器物理接口,Eth1为客户端接口。
两个接口在同一网段,192.168.*.0(*为学生本人学号)。
4 用命令启动DHCP服务。
5 配置/etc/default/dhcp3-server配置文件6 配置/etc/dhcp/dhcpd.conf配置文件,实现主配置7 重启DHCP服务8 重启网络9 测试DHCP功能10 查看eth1网络接口信息,看其是否能通过DHCP服务器获取正常的IP地址。
谣言:吃太咸了会得病?导语:“人体每日摄入食盐不应过多,否则易患多种疾病。
”这是真的吗?吃太咸了会得病?一、网友评论:1、网友:冰冰23 岁行政助理我就是一个”重口味“的人,但身体很健康啊!我就是一个特别爱吃咸的人,什么咸菜、咸烧饼都是我的最爱。
大家都说吃太咸对身体不好,可我一点没这么觉得。
前几天我还到医院去体检,各项指标都很正常。
吃咸不会得病的!2、网友:小帅34岁销售邻居家大爷常年吃太咸,结果得了心血管病。
邻居家有个大爷经常吃咸的东西,大家都劝他不要吃这么咸,可他就是不听。
后来他被检查出了心血管疾病,我想这和常年吃咸有很到关系。
世界卫生组织建议每人每天钠盐摄入量不超过5克二、专家解答:1、世界卫生组织建议每人每天钠盐摄入量不超过5克。
linux大作业及要求
一、为企业架设web服务器,要求:1.建立WEB服务器,服务器名为,网站主目录为/var/xx/www,站点主页文件的搜索顺序为index.html index.php;服务器启动时的子进程数为5;使用端口为80。
网页内容为:班级名称,用户名,192.168.yy.12,2.每个同学为自己建立个人主页空间,在/home下对自己做限额,软配额限制15M,硬配额限制60M, i节点数不受限制。
每个同学都属于gp组,组的限额是用户限额的50倍。
网页内容为:学号,用户名,192.168.yy.12,/home/用户名/www 其中:XX为同学名字的最后一个字的拼音,yy为同学学号的后两位数字,十位为0的只取个位数字。
评分标准:1. 正确安装DNS和apache并配置地址。
(10分)2. 正确配置dns,添加主机记录,并能够正常解析的。
(30分)3. 正确配置站点,建立主页,建立用户及个人主页,并能正常访问。
(30分)4. 正确设置配额。
(20分)5. 将配置及测试过程整理成文档,格式规范,步骤完整、图表清晰。
(10分)二、为企业架设ftp服务器1.建立FTP服务器,服务器名字为,服务器的欢迎语为“welcometo login ftpserver”.允许匿名用户上传下载文件,匿名用户的根目录为/var/ftp/pub,匿名用户的最大传输速率为10Kb/s.2.为自己和自己前后相邻的两个同学建立账户(只有一个相邻的,就建立一个),账户名字为姓名的全拼,允许本地用户访问,禁止相邻两个同学的账号切换到主目录以外的目录。
3.对/home做磁盘限额,用户的软配额限制15M,硬配额限制60M, i节点数不受限制。
每个同学都属于gp组,组的限额是用户限额的50倍。
4.将windows主机的一个txt文件上传到ftp服务器,文档的内容为:姓名,学号,windows主机ip,192.168.yy.13.其中:XX为同学名字的最后一个字的拼音,yy为同学学号的后两位数字,十位为0的只取个位数字。
《LINUX网络操作系统》试题及其答案
最新资料,word文档,可以自由编辑!!精品文档下载【本页是封面,下载后可以删除!】广州工程技术职业学院信息工程(系)院( 2009--2010 学年第 2 学期)《LINUX 操作系统》期末考试复习题理论部分 :一、单项选择题:1. Linux 的创始人是谁( D )A 、 TurbolinuxB 、AT&T Bell LaboratryC 、University of HelsinkiD 、 Linus Torvalds2. 在 Linux 中,命令解释器是哪个( D )A 、管道B 、分级文件系统C 、字符型处理器D shell3. Linux 安装程序提供了两个引导装载程序A GROU 和 LLTOB 、DIR 和 COID4. 如果当前目录是 /home/sea/china ,那么“ china ”的父目录是哪个目录( A )A 、 /home/seaB 、 /home/C 、 /D 、 /sea5. 在 Linux 中,要删除 abc 目录及其全部内容的命令为: ( B )A 、 rm abcB 、 rm -r abcC 、 rmdir abcD 、 rmdir -r abc6. 在 Linux 环境下,能实现域名解析的功能软件模块是:( C )A 、 apacheB 、 dhcpdC 、 BIND D 、 SQUID7.创建的辅助DNS 服务器无法获得主 DNS 区域信息,哪种方法可以解决(D )A 、重新启动主DNS 服务器B 手动从主DNS 服务器复制区域文件到辅助 DNS 服务器C 重新启动辅助DNS 服务器D 在主DNS 服务器中利用allow-transfer命令设置“允许区域复制” &假定kernel 支持vfat 分区,下面哪一个操作是将 /dev/hda1,一个Windows 分区加载到 /win 目录 ?( D )A 、 mount -t windows /win /dev/hda1B 、 mount -fs=msdos /dev/hda1 /winC 、 mount -s win /dev/hda1 /winD 、 mount — t vfat /dev/hda1 /win 9. 显示用户的主目录的命令是什么( A )A 、 echo $HOMEB 、 echo $USERDIRC 、 echo $ECHOD 、 echo $ENV10.系统中有用户 user1 和 user2 ,同属于 users 组。
操作系统大作业
操作系统大作业随着计算机技术的飞速发展,操作系统已成为计算机系统中的核心部分。
它负责管理系统的资源,确保所有程序能够正常运行。
本文将介绍操作系统的大作业,包括其功能、发展历程、现状以及未来发展趋势。
操作系统的主要功能包括:管理系统的硬件资源,如CPU、内存、硬盘等;管理系统的软件资源,如文件、网络等;提供用户界面,方便用户使用计算机。
操作系统的发展可以分为三个阶段:人工操作阶段、脱机作业阶段和操作系统阶段。
在人工操作阶段,用户需要自己管理计算机的资源,这不仅效率低下,而且容易出现错误。
随着计算机技术的发展,出现了脱机作业系统,用户可以通过脱机作业系统将作业提交给计算机,从而提高了效率。
随着计算机技术的进一步发展,出现了操作系统,它可以自动管理计算机的资源,大大提高了计算机的效率。
目前,市场上的操作系统种类繁多,如Windows、Linux、MacOS等。
这些操作系统都有各自的特点和优势。
例如,Windows以其易用性和稳定性赢得了大量用户,而Linux则以其安全性和可定制性受到了一些专业用户的青睐。
随着计算机技术的不断发展,未来的操作系统将更加智能化和个性化。
例如,技术将被广泛应用于操作系统中,使得操作系统能够更好地理解用户的需求并提供更好的服务。
操作系统也将更加个性化,能够根据用户的使用习惯和偏好来调整自己的行为,提高用户的使用体验。
操作系统作为计算机系统的核心部分,其重要性不言而喻。
通过了解操作系统的功能和发展历程,我们可以更好地理解计算机技术的发展趋势。
我们也应该操作系统的未来发展,以期能够更好地利用计算机技术来服务人类社会。
随着计算机技术的飞速发展,操作系统已经成为计算机系统中不可或缺的一部分。
了解和学习操作系统的原理和设计方法,对于我们更好地理解和使用计算机具有重要的意义。
本次作业的目的是深入理解和掌握操作系统的基本原理和设计方法,通过分析和研究经典操作系统的实例,进一步加深对操作系统原理的理解和应用。
linux操作原理系统大题汇总
处理机管理1.请回答下列问题:(1)该系统采用了怎样的进程调度算法?说明理由。
(2)把图中发生①-④的状态变化原因填入下表中。
2.设某系统采用可抢占的优先级进程调度算法,系统在某一段时间内有A 、B 、C 三个进程,进程C 优先级最高,进程A 优先级最低,进程B 优先级介于进程A 、C 之间,它们的就绪时刻、计算与I/O 所需时间如下表所示:(1给出三个进程的实际运行过程(忽略进行系统调度所需时间)。
(2)采用多道方式运行比采用单道方式运行节省多少时间。
3.设某系统采用可抢占的优先级进程调度算法,在系统的就绪队列中有X 、Y 、Z 三个进程,进程Z 优先级最高,进程X 优先级最低,进程Y 优先级介于进程X 、Z 之间,它们的计算与I/O 所需时间如下表所示:(1给出三个进程的实际运行过程(忽略进行系统调度所需时间)。
(2)采用多道方式运行比采用单道方式运行节省多少时间。
答案 1、【参考答案】(1)该系统采用的是“时间片轮转调度算法”。
该调度算法让就绪进程按就绪的先后次序排成队列,每次总是选择就绪队列中的第一个进程占用处理器,但规定只能使用一个“时间片”。
如果一个时间片用完,进程工作尚未结束,则它也必须让出处理器而被重新排到就绪队列的末尾,等待再次运行,当再次轮到运行时,重新开始使用一个新的时间片。
这样,就绪队列中的进程就依次轮流地占用处理器运③行。
(2)2、(1)若系统采用多道方式运行,这三个进程运行完成总共所需的时间为68ms。
(图示略)(2)采用单道方式运行,这三个进程运行完成总共所需的时间为113ms采用多道方式运行比采用单道方式运行节省时间:113-68=45ms3、【参考答案】(1)若系统采用多道方式运行,这三个进程运行完成总共所需的时间为68ms。
(图示略)(2)采用单道方式运行,这三个进程运行完成总共所需的时间为113ms采用多道方式运行比采用单道方式运行节省时间:113-68=45ms存储器管理1.有一128行、128列的整数数组A在系统中按行存放。
linux大作业
学号:姓名:班级:
大作业任务要求:
一、Shell编程要求:写出两个Shell程序,每个程序不少于十五行;说明程序主要功能;每行给出注释。
二、Linux操作系统配置实例要求:查阅资料结合实际使用情况,写出Linux操作系统使用中的一个配置的详细过程;具体配置目标不限(自选)。
三、Linux操作系统应用开发实例要求:编写Linux下的一个应用程序。
开发语言和工具不限;给出源代码和运行结果。
关键代码部分要给出注释。
四、Linux内核源码解读
要求:任选Linux内核源码,写出该模块运行过程;在每行内核源码后注释说明;解读源码不少于三十行。
收到的大作业内容不能雷同。
linux 学习练习题
linux 学习练习题Linux 是一种广泛应用的开源操作系统,其功能强大、稳定可靠,成为了许多企业和个人的首选。
为了提高对 Linux 的熟练程度,以下是一些适用于不同水平的学习练习题。
练习题 1:Linux 基础知识1.1 什么是 Linux 操作系统?它与其他操作系统有什么不同之处?1.2 Linux 中包含哪些常见的文件系统?1.3 如何在 Linux 中创建新的用户账户?1.4 描述 Linux 中的文件权限,包括如何查看和更改文件权限。
1.5 解释 Linux 中的环境变量是什么,并提供一个设置新环境变量的示例。
练习题 2:Linux 文件和目录管理2.1 如何在 Linux 中创建一个新的目录?如何删除一个目录?2.2 列出当前目录下的所有文件和子目录。
2.3 如何将文件从一个目录复制到另一个目录?如何移动文件到另一个目录?2.4 如何重命名文件或目录?2.5 如何递归地查找特定类型的文件并将其复制到另一个目录?练习题 3:Linux 进程管理3.1 描述进程的概念以及 Linux 中的进程控制命令。
3.2 如何查看当前正在运行的进程?3.3 如何杀死一个正在运行的进程?3.4 解释进程优先级和 nice 值之间的关系。
3.5 如何将一个进程置于后台运行?练习题 4:Linux 网络管理4.1 如何查看 Linux 中的网络接口和 IP 地址?4.2 如何配置静态 IP 地址?4.3 如何测试网络连接以及如何在 Linux 中执行网络诊断?4.4 如何设置和管理防火墙规则?4.5 如何在 Linux 中配置和使用 VPN?练习题 5:Linux 软件包管理5.1 描述 Linux 中软件包管理的优势。
5.2 如何在 Ubuntu 和 CentOS 系统上分别使用 apt 和 yum 安装软件包?5.3 如何卸载已安装的软件包?5.4 如何更新已安装的软件包?5.5 如何在 Linux 中搜索软件包?练习题 6:Linux Shell 脚本编程6.1 什么是 Shell 脚本?它有什么作用?6.2 如何创建一个简单的 Shell 脚本文件?6.3 描述如何在脚本中定义变量和使用变量。
操作系统大作业--Linux文件管理系统
华南理工大学软件学院2013级操作系统大作业实验报告课程名称:操作系统任课老师:作业题目:简单二级文件系统班级:学生姓名:学号:目录一、实验目的通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。
二、实验环境操作系统:Ubuntu 12.04 (Ubuntu/Linaro 4.6.3-1ubuntu5) 编译器: gcc 4.6.3语言:C语言三、实验内容FMSV1.0系统模拟了原生的文件系统,使用文本来当作磁盘,并使用了空闲块记录表,目录,i-node等数据结构来辅助文件系统的运作。
磁盘:一个名为blockDisk的文件,里面含有256个数据块。
每个数据块的长度为1024,可存储1024个字符。
I节点:包含文件名,文件保护码,文件长度,文件存放位置。
目录:一个链表,记录了i节点。
空闲块记录表FBT:用于记录磁盘块使用情况,0表示未使用,1表示使用。
数据块:保存了文件的数据,一个数据块至多存放一个文件。
数据块使用情况:用于记录文件使用数据块的情况。
存放在I 节点的fat数组中。
文件:一个文件最多占用两个数据块,即长度至多为4028.FMSV1.0系统支持的命令行:login:登录register:注册open:打开文件read:读取文件数据到屏幕write:写文件,分为cover和append两种类型;cover是覆盖原数据,append是在不改变原始数据的基础上进行增加。
close:关闭文件create:新增文件delete:删除文件exit:退出程序help:帮助四、程序中使用的数据结构及符号说明/*---------------结构定义-----------------*//*---------用户--------*/typedef struct user{char account[15]; //账户最长为10char password[15]; //密码最长为10,多出来的是为了方便运算}user;/*--------数据节点--------*/typedef struct datanode //用于记录文件数据保存在哪个数据块的哪个范围{int num; //数据块号int begin; //数据开始位置int end; //数据结束位置}datanode;/*-------i节点--------*/typedef struct inode{Char filename[30];Int num;char code[30]; //保护码int size;datanode fat[MAX_DATANODE_NUM];int node _num;}inode;typedef struct dirEntry //用链表来记录I节点{inode ind;struct dirEntry *next;}dirEntry;/*-------数据块--------*/typedef struct block{char content[MAX_BLOCK_SIZE]; //数据块内容最大长度为1025,预留最后一位用来存储’\0’,int num;int offset; //记录当前数据的数量}block;五、源程序及注释head.h头文件#include<string.h>#include<stdio.h>#include<stdlib.h>#include<stdbool.h>#define MAX_BLOCKS_NUM 256 //最大数据块数量是256,则数据块总大小是256KB#define MAX_BLOCK_SIZE 1025 //数据块数据容量,一个数据块的大小是1KB,最有1位用来存储'\0',表示字符串结尾!#define MAX_DATANODE_NUM 2 //每个文件最多占用的数据块的数量#define MAX_INODE_NUM 512 //i节点的最大数目,亦即系统允许容纳文件的最大数量#define MAX_CACHE_NUM 32 //允许缓存的最大数据块数量为32个数据块,缓存为32KB/*---------------结构定义-----------------*//*---------用户--------*/typedef struct user{char account[15]; //账户最长为10char password[15]; //密码最长为10,多出来的是为了方便运算}user;/*--------数据节点--------*/typedef struct datanode //用于记录文件数据保存在哪个数据块的哪个范围{int num; //数据块号int begin; //数据开始位置int end; //数据结束位置}datanode;/*-------i节点--------*/typedef struct inode{char filename[30];int num;char code[30]; //保护码int size;datanode fat[MAX_DATANODE_NUM];int node_num;}inode;typedef struct dirEntry //用链表来记录I节点{inode ind;struct dirEntry *next;}dirEntry;/*-------数据块--------*/typedef struct block{char content[MAX_BLOCK_SIZE]; //数据块内容最大长度为1024int num;bool isRevised; //用于记录数据块是否进行数据修改int offset; //记录当前数据的数量}block;/*-------------定义全局变量-------------------*/int islogin = 0; //0 means thechar blockspath[30] = "userdata/blocksDISK.disk"; // 所有数据(即虚拟磁盘)地址char userspath[30] = "userdata/";static user currUser; //当前用户static dirEntry *DIR;static int curr_inode_num = 0; //当前i节点数量,亦即文件数量static block *cache;int max_node = 0; //最大的inode编号static int FBT[MAX_BLOCKS_NUM];static char *dirpath;static char fbtpath[30] = "userdata/FBT.disk";static dirEntry* selectEntry; //当selectEntry==NULL时,证明没有打开文件static dirEntry* currEntry;//命令行static char cm_help[10] = "help";static char cm_lg[10] = "login";static char cm_rg[10] = "register";static char cm_dir[10] = "dir"; static char cm_create[10] = "create"; static char cm_delete[10] = "delete"; static char cm_open[10] = "open"; static char cm_read[10] = "read"; static char cm_write[10] = "write"; static char cm_close[10] = "close"; static char cm_exit[10] = "exit"; static char cm_cancle[10] = "cancle";/*-------------函数声明---------------*/ void createStyle(int,char);void createWrap(int);int createSystem();int diskUpdate(block);void start();void getUser();int login();int regist();char lgOrRg();void createBlocksDisk();FILE* createDir();void initDir(char *);int getAction();void initFBT(); //初始化数据空闲块记录表int getCode();int getFreeBlock(bool);void saveDir();void saveBlock(block bk);void saveFBT();int createHelp(char *filename);dirEntry* delHelp(char *filename);void createDataDir();//响应指令的函数int LgRg(); //登录或注册void help();void dir();void create();void del();void open();void close();void read();void write();void coverHelp();void appendHelp();//Linux doesn't support the function strcmpi, so I need to finish it by myself.int strcmpi(char *p1, char *p2){if(strlen(p1)!=strlen(p2)){return -1;}int i;for(i=0; i<strlen(p1); i++){if(p1[i]!=p2[i]){return -1;}}return 0;}void createDataDir(){char *datapath = "userdata";printf("No dataDir !\nNow create it ...\n");if(mkdir(datapath,0777)){printf("Can not create DataDir ...\nPlease contact QQ878631510 for help...\nCrtl+C to exit.\n");while(1);}printf("Succeed creating dataDir !\n");}void showInode(inode ind)printf("num: %d\n",ind.num);printf("filename: %s\n",ind.filename); printf("size: %d\n",ind.size);}//界面美化函数void createStyle(int num, char style) {while(num--){printf("%c", style);}}void createWrap(int n){while(n--){printf("\n");}}//辅助函数char lgOrRg(){while(1){char com[10];printf("[login] or [register]: ");scanf("%s",com);if(!strcmpi(com,cm_lg)){return 'l';}if(!strcmp(com, cm_rg)){return 'r';}}}void help(){printf("欢迎您使用FMS文件系统模拟系统V1.0"); printf("以下是本系统支持的指令:\n");printf("exit : 退出\n");printf("help : 帮助\n");printf("dir : 查看目录中的所有文件\n");printf("create : 新建文件\n");printf("delete : 删除文件\n");printf("open : 打开文件\n");printf("read : 读文件(必须先打开文件)\n"); printf("write : 写文件(必须先打开文件)\n"); printf("close : 关闭文件\n");}void createBlocksDisk(){//初始化磁盘块FILE* fp = fopen(blockspath, "w");if(fp==NULL){printf("Can not create Disk !\nCtrl+C to quit\n");while(1);}else{int i, j;for(i=0; i<MAX_BLOCKS_NUM; i++){for(j=0; j<MAX_BLOCK_SIZE; j++){fputc('$',fp);}}fclose(fp);}FILE *p = fopen(fbtpath, "w");if(p==NULL){printf("FBT Created ERROR !\n");while(1);}else{int i;for(i = 0; i<MAX_BLOCKS_NUM; i++){FBT[i] = 0;fprintf(p," %d",0);}fclose(p);}}dirEntry* isInDir(char *filename){int i;dirEntry *pt = DIR;while(pt!=NULL){if(!strcmpi(pt->ind.filename, filename)){return pt;}pt = pt->next;}return NULL;}dirEntry* delHelp(char* filename){dirEntry* res = DIR;if(res==NULL){printf("No files !\n");return res;}if(res->next==NULL){if(!strcmpi(res->ind.filename,filename)){DIR = NULL;currEntry=NULL;printf("删除成功!\n");return res;}else{return NULL;}}if(!strcmpi(res->ind.filename,filename)){DIR = res->next;printf("删除成功!\n");return res;}while(res->next!=NULL){if(!strcmpi(res->next->ind.filename,filename)){dirEntry* r = res->next;res->next = r->next;printf("删除成功!\n");return r;}res = res->next;}printf("删除失败!\n");return NULL;}void coverHelp(){//释放原数据块,更新FBTint f;if(selectEntry->ind.size!=0) //要size>0 才会分配数据块{for(f=0; f<selectEntry->ind.node_num; f++){FBT[selectEntry->ind.fat[f].num]==0;}}char content[MAX_DATANODE_NUM][MAX_BLOCK_SIZE]; char tmp;inode ind;printf("End with '$'\n");int i = 0;while((tmp=getchar())!='$'){if(i==0&&tmp=='\n'){continue;}content[i/MAX_BLOCK_SIZE][i++] = tmp;}ind.size = i;//此时已经结束输入if(i>(MAX_BLOCK_SIZE-1)*MAX_DA TANODE_NUM) {printf("文件过大,无法存储,创建失败!\n");return;}int k;for(k=0; k<=i/(MAX_BLOCK_SIZE-1);k++){block bk;int bkn;for(bkn=0; bkn<MAX_BLOCK_SIZE-1; bkn++){bk.content[bkn]='$';}bk.content[MAX_BLOCK_SIZE-1]='\0';//printf("bk.content: %s\n", bk.content);char *tmp;int tp=0;int len=0;if(k==0){if(i<MAX_BLOCK_SIZE-1){len = i;}}if(k==1){len=i%(MAX_BLOCK_SIZE-1)+1; }for(tp=0; tp<len; tp++){bk.content[tp] = content[k][tp];}bk.isRevised = true;if(k==0){bk.num = getFreeBlock(false);}else{bk.num = getFreeBlock(true);if(bk.num==-1){printf("数据块已用完,内存不足!\n");return;}}saveBlock(bk);ind.fat[k].num = bk.num;ind.fat[k].begin = 0;ind.fat[k].end = len;}ind.node_num = k;strcpy(ind.code, selectEntry->ind.code);strcpy(ind.filename, selectEntry->ind.filename); ind.num = selectEntry->ind.node_num; selectEntry->ind = ind;saveDir();saveFBT();printf("文件已保存!\n");}void appendHelp(){ char tmp[MAX_BLOCK_SIZE*2];char ch;printf("End with '$':\n");int i = 0;while((ch=getchar())!='$'){if(i==0&&ch=='\n'){continue;}tmp[i++] = ch;}tmp[i]='\0';//此时已经完成输入if((i+selectEntry->ind.size)>(MAX_BLOCK_SIZE-1)*MAX_DA TANODE_NUM){printf("文件过大,无法存储,创建失败!\n");return;}else{if(selectEntry->ind.size>MAX_BLOCK_SIZE-1)//已经占用了两个block{int offset = selectEntry->ind.size - MAX_BLOCK_SIZE + 1;FILE* bfp = fopen(blockspath,"r+");if(bfp==NULL){printf("DISK ERROR !\nFrom appendFile ...\n");return;}else{fseek(bfp,(selectEntry->ind.fat[1].num*(MAX_BLOCK_SIZE-1) +offset),SEEK_SET);fwrite(tmp,sizeof(char),i,bfp);fclose(bfp);selectEntry->ind.size = selectEntry->ind.size + i;selectEntry->ind.fat[1].end = selectEntry->ind.fat[1].end + i;saveDir();printf("文件保存成功!\n");}}else //只占用了一个block{if(i<(MAX_BLOCK_SIZE-1-selectEntry->ind.size)) //不会占用新的block{FILE* bfp = fopen(blockspath,"r+");if(bfp==NULL){printf("DISK ERROR !\nFrom appendFile ...\n");return;}else{// if(selectEntry->ind.size==0)// {// fseek(bfp,0,SEEK_SET);// selectEntry->ind.fat[0] = 0;// }// else// {//fseek(bfp,(selectEntry->ind.fat[0].num*(MAX_BLOCK_SIZE-1) +selectEntry->ind.size),SEEK_SET);// }//printf("ftell = %l",ftell(bfp));fseek(bfp,(selectEntry->ind.fat[0].num*(MAX_BLOCK_SIZE-1) +selectEntry->ind.size),SEEK_SET);fwrite(tmp,sizeof(char),i,bfp);fclose(bfp);selectEntry->ind.size = selectEntry->ind.size + i;selectEntry->ind.fat[0].end = selectEntry->ind.fat[0].end + i;saveDir();printf("文件保存成功!\n");}}else //要占用新的block{int bkNum = getFreeBlock(true);if(bkNum==-1){printf("数据块已用完,内存不足!\n");return;}char *p1 = (char*)malloc((MAX_BLOCK_SIZE-1-selectEntry->ind.size)*size of(char));char *p2 = (char*)malloc((i-(MAX_BLOCK_SIZE-1-selectEntry->ind.size))*si zeof(char));int pi;int pn1=0,pn2=0;for(pi=0; pi<i; pi++){if(pi<MAX_BLOCK_SIZE-1-selectEntry->ind.size){p1[pn1++] = tmp[pi];}else{p2[pn2++] = tmp[pi];}}p1[pn1] = '\0';p2[pn2] = '\0';//存储FILE *bfp = fopen(blockspath, "r+");if(bfp==NULL){printf("DISK ERROR !\nFrom appendFile ...\n");return;}else{fseek(bfp,((MAX_BLOCK_SIZE-1)*selectEntry->ind.fat[0].num +selectEntry->ind.fat[0].end),SEEK_SET);fwrite(p1,sizeof(char),pn1,bfp);printf("line near 481\n");fseek(bfp,((MAX_BLOCK_SIZE-1)*bkNum),SEEK_SET);fwrite(p2,sizeof(char),pn2,bfp);fclose(bfp);FBT[bkNum]=1;selectEntry->ind.node_num = 2;selectEntry->ind.size = selectEntry->ind.size + i;selectEntry->ind.fat[0].end = MAX_BLOCK_SIZE-2;selectEntry->ind.fat[1].num = bkNum;selectEntry->ind.fat[1].begin = 0;selectEntry->ind.fat[1].end = pn2;saveFBT();saveDir();printf("文件保存成功!\n");}}}}}void create(){int bkNum = getFreeBlock(false);if(bkNum==-1){printf("数据块已用完,内存不足!\n");return;}char tmp;dirEntry *pt = (dirEntry*)malloc(sizeof(dirEntry)); pt->next=NULL;while(1){printf("filename: ");scanf("%s",pt->ind.filename);if(isInDir(pt->ind.filename)!=NULL){printf("文件名已存在!\n请重新输入:\n");}else{break;}}while(1){printf("Do you want to write the file ?[y/n]: ");scanf(" %c",&tmp);if((tmp=='y')||(tmp=='Y')||(tmp=='n')||(tmp=='N')) {break;}}pt->ind.num = curr_inode_num++;//文件保护码不是很懂,因此默认为"rrrwwwxxx"; char code[10] = "rrrwwwxxx";strcpy(pt->ind.code, code);pt->ind.size = 0;pt->ind.node_num = 0;//初始化,跟存储要相符合bool isNoBk = false;if(tmp=='y'||tmp=='Y'){charcontent[MAX_DATANODE_NUM][MAX_BLOCK_SIZE];char tmp;printf("End with '$'\n");int i = 0;while((tmp=getchar())!='$'){if(i==0&&tmp=='\n'){continue;}content[i/MAX_BLOCK_SIZE][i++] = tmp;}pt->ind.size = i;//此时已经结束输入if(i>(MAX_BLOCK_SIZE-1)*MAX_DA TANODE_NUM) {printf("文件过大,无法存储,创建失败!\n");return;}for(k=0; k<=i/(MAX_BLOCK_SIZE-1);k++){block bk;int bkn;for(bkn=0; bkn<MAX_BLOCK_SIZE-1; bkn++) {bk.content[bkn]='$';}bk.content[MAX_BLOCK_SIZE-1]='\0';//printf("bk.content: %s\n", bk.content);char *tmp;int tp=0;int len=0;if(k==0){if(i<MAX_BLOCK_SIZE-1){len = i;}}if(k==1)len=i%(MAX_BLOCK_SIZE-1)+1;}for(tp=0; tp<len; tp++){bk.content[tp] = content[k][tp];}bk.isRevised = true;if(k==0){bk.num = bkNum;}else{bk.num = getFreeBlock(true);if(bk.num==-1){printf("数据块已用完,内存不足!\n");return;}}saveBlock(bk);pt->ind.fat[k].num = bk.num;pt->ind.fat[k].begin = 0;pt->ind.fat[k].end = len;}pt->ind.node_num = k;}if(currEntry==NULL){DIR = pt;}else{currEntry->next = pt;}currEntry = pt;saveDir();saveFBT();printf("Succeed create file [%s] !",pt->ind.filename); }void del(){char tmp[30];printf("请输入要删除的文件名: "); scanf("%s",tmp);if(isInDir(tmp)==NULL){printf("不存在这个文件。
linux网络操作系统试卷试题-样卷doc
Linux 网络操作系统试卷试题下载-样卷.doc学年第一学期期末考试 《Linux 网络操作系统》试题(B)(适用班级:计网0431、计网0432、计网0433、计网0434)(注意:必须将所有题目的答案填在答题纸上,否则不得分。
)一、单项选择题:(每题1分,共20分)1.下列服务器软件中哪些不属于MTA ( )A 、 sendmailB 、postfixC 、qmailD 、imap2. 是Internet 中主机的:( )A 、用户名B 、密码C 、别名D 、IP 地址 D 、FQDN3. 负责电子邮件传输的应用层协议是( )A 、SMTPB 、PPPC 、IPD 、FTP4.下面哪个配置选项在Squid 的配置文件中用于设置管理员的E-mail 地址:( )A 、cache_effective_userB 、cache_memC 、cache_effective_groupD 、cache_mgrE 、cache_dir5.Apache 主配置文件位于Linux 哪个目录A 、/etc/httpdB 、/etc/confC 、/etc/httpd/confD 、/etc/conf/httpd6.BIND 主配置文件位于Linux 哪个目录( )A 、/etcB 、/etc/namedC 、/etc/confD 、/etc/conf/namd7.Linux 最多可以设置几个DNS 服务器( )A 、1B 、2C 、3D 、108.请选出创建用户ID 是200,组ID 是1000,用户主目录为/home/user01的新用户user01的正确命令. ( )A 、adduser -u:200 -g:1000 -h:/home/user01 user01B 、adduser -u=200 -g=1000 -d=/home/user01 user01C 、useradd -u 200 -g 1000 -d /home/user01 user01D 、useradd -u 200 -g 1000 -h /home/user01 user019.如果想加载一个/dev/hdb1的Windows95分区到/mnt/win95目录,需要运行哪个命令( )A 、 mount -t hpfs /mnt/win95 /mnt/hdb1B 、 mount -t hpfs /dev/hdb1 /mnt/win95C 、 mount -t vfat /dev/hdb1 /mnt/win95D 、 mount -t vfat /mnt/win95 /dev/hdb110. 下面哪个命令用来启动X window ( ) A 、startX B 、 runx C 、 startx D 、 xwin11. 按实现原理的不同将防火墙分为( )三类。
Linux大作业 (2)
目录一、Shell编程 (2)1.1判断是否为自己的名字 (2)1.2 U盘的卸载与挂载 (2)二、Linux操作系统配置实例 (4)2.1 NFS服务配置 (4)2.1.1 服务器端 (4)2.1.2 客户端 (5)2.2 Samba服务配置 (7)2.2.1Samba服务器配置 (7)2.2.2 配置客户端,测试Samba服务器 (8)2.2.4 为一个组配置Samba共享 (8)2.2.5 关于Samba服务器的其它命令 (9)三、Linux操作系统应用开发实例 (9)3.1 计算学生的总成绩和平均成绩 (9)3.1.1 功能 (9)3.1.2 代码 (10)四、Linux内核源码解读 (11)4.1 sys.c 程序 (11)4.1.1 功能描述 (11)4.1.2 代码注释 (11)4.2 sys.h文件 (12)4.2.1 功能描述 (12)4.2.2 代码注释 (12)一、Shell编程要求:写出两个Shell程序,每个程序不少于十五行;说明程序主要功能;每行给出注释。
1.1判断是否为自己的名字#!/bin/shyes_or_no() { //定义一个判断函数echo “Is your name $* ?” //输出提示*是否为你的名字while true //while do 循环doecho -n “Enter yes or no: “ //输出提示回答是或者不是read x //读取所输入的数据case “$x” in//case语法选择y | yes ) return 0;; //输入y 或者yes 返回n | no ) return 1;; //输入n 或者no 返回x的值*) echo “Answer yes or no”;; //如果输入的不是以上几项就提示esac done} echo “Original parameters are $*” //输出if yes_or_nothen echo “Hi $1, nice name” //输出经过判断的名字,是你的名字else echo “Never mind” //不是你的名字fiexit 0 //退出1.2 U盘的卸载与挂载#!/bin/sh#mountusb.shquit(){clear //退出程序函数echo“*******************************************************************”echo“*** thank you to use,Good bye! ****”exit 0}mountusb(){ //加载U盘函数clearmkdir /mnt/usb //在/mnt下创建usb目录/sbin/fdisk –l | grep /dev/sd //查看U盘设备名称echo –e “Please Enter the device name of usb as shown above:\c”read PARAMETER mount /dev/$PARAMETER /mnt/usb}umountusb()//卸载U盘函数{clearls -la /mnt/usb}display() //显示U盘信息函数{clearumount /mnt/usb}cpdisktousb() //拷贝硬盘文件到U盘函数{clearecho –e “Please Enter the filename to be Copide (under Current directory):\c”read FILEecho “Copying,please wait!...”cp $FILE /mnt/usb}cpusbtodisk() //拷贝U盘函数到硬盘文件{clearecho -e “Please Enter the filename to be Copide in USB:\c”read FILEecho “Copying ,Please wait!...”cp /mnt/usb/$FILE . //点(.)表示当前路径}clearwhile truedoecho“=====================================================================”echo “*** LINUX USB MANAGE PROGRAM ***” echo “ 1-MOUNT USB ”echo “ 2-UNMOUNT USB ”echo “ 3-DISPLAY USB INFORMA TION ”echo “ 4-COPY FILE IN DISK TO USB ”echo “ 5-COPY FILE IN USB TO DISK ”echo “ 0-EXIT ”echo“=====================================================================”echo –e “Please Enter a Choice(0-5):\c”read CHOICE //读取输入数据case $CHOICE in //case条件跳转1)mountusb ;;2)unmountusb ;;3)display ;;4)cpdisktousb ;;5)cpusbtodisk ;;0)quit ;;*) e cho “Invalid Choice!Corrent Choice is (0-5)”sleep 4clear;;esacdone二、Linux操作系统配置实例要求:查阅资料结合实际使用情况,写出Linux操作系统使用中的一个配置的详细过程;具体配置目标不限(自选)。
linux操作系统大作业2
武汉理工大学华夏学院Linux 操作系统大作业专业软件工程班级软件1111姓名董丽敏成绩指导教师凌伟Linux 操作系统大作业一、VI编辑器的操作1请在 /root 这个目录下建立一个名为 vitest 的目录;2进入 vitest 这个目录当中;3将 /etc/man.config 拷贝到本目录底下;4使用 vi 开启本目录下的 man.config 这个档案;5在 vi 中设定一下行号;6移动到第58 行,向右移动 40 个字符,请问您看到的双引号内是什么目录?7移动到第一行,并且向下搜寻一下『MAN』这个字符串,请问他在第几行?8接着下来,我要将 50 到 100 行之间的 man 改为 MAN ,并且一个一个挑选是否需要修改,如何下达指令?9修改完之后,突然反悔了,要全部复原,有哪些方法?10我要复制 51 到 60 行这十行的内容,并且贴到最后一行之后;11删除 11 到 30 行之间的 20 行;12将这个档案另存成一个 man.test.config 的檔名;13去到第 29 行,并且删除 15 个字符;14请问目前的档案有多少行与多少字符?15储存后离开吧!步骤如下显示1. mkdir vitest2. cd vitest3. cp /etc/man.config .4. vi man.config5. 『:set nu』然后你会在画面中看到左侧出现数字即为行号。
6. 先按下『58G』再按下『40→』会看到『/dir/bin/foo』这个字样在双引号内;7. 先执行『1G』或『gg』后,直接输入『/MAN』,则会去到第11行!8. 直接下达『:50,100s/man/MAN/gc 』命令!若一直按『y』最终会出现『在23 行内置换25 个字符串』的说明。
9.一直按『u 』回复到原始状态。
10. 『51G』然后再『10yy 』最后一行会出现『复制十行』类的说明字样。
按下『G 』到最1后一行,再给他『p 』贴上10行!11. 因为11~30 20 行,因此『11G 』→『20dd 』就能删除20行12. 『:w man.test.config 』,最后一行出现"man.test.config" [New].. 的字样。
linux编程大作业题目
linux编程大作业题目第一部分简述题目要求:这部分题目必做,要详细回答,最好用自己理解的语言回答,有些题目可用图形和举例等阐述问题。
1、makefile文件的作用是什么,makefile文件中有一种变量,其值是根据具体的规则来确定的,称为自动变量,其中代表所有依赖文件列表的是哪个;举例说明make命令的工作流程。
2、什么是进程,什么是线程,它们之间有何差别,请编程说明。
3、简述Linu某文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。
解释i节点在文件系统中的作用。
4、文件指针FILE某与文件描述符是一个什么样的关系,请画图说明。
5、简述与window的文件系统相比,linu某文件系统有什么特点,并用图详细描述。
6、Linu某创始人是谁,Linu某操作系统的诞生、发展和成长过程始终依赖着的重要支柱有哪些,并描述Linu某的特点。
7、为什么要学习Linu某开源技术。
8、Linu某的主要组成包括什么。
9、什么是Linu某内核,它的作用是什么。
什么是Linu某的内核版本和发行版本?10、什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?第二程序设计题目要求:Shell程序设计部分、文件和目录部分、进程和信号部分、网络编程部分则必做(其中前3部分选作5道题目,网络编程为自学部分,选作2道题目)。
若做综合设计题目或自拟综合设计题目,则Shell程序设计部分、文件和目录部分、进程和信号部分、网络编程部分可不做。
Shell程序设计部分1、设计hell脚本程序,运行结果如下:----------------Linu某13/06/11----------------A:查看进程信息B:查看用户信息C:显示当前目录信息D:退出---------------当用户输入相应的数字执行相应的功能。
2、设计hell脚本程序,在屏幕上输出操作系统的信息,包括计算机名、Linu某分发版本名称、Linu某内核版本和当前的IP地址。
linux课程大作业
目录摘要 (1)关键字: (1)前言 (1)1. 设计的目的和意义 (1)1.1. 掌握熟悉基本的网络命令 (1)1.2. 掌握网络配置文件和配置方法以及shell编程 (1)2设计目标与总体方案 (2)2.1 熟悉基本网络命令 (2)2.2 配置NFS服务器以及配置samba服务器 (2)2.3设计方法和内容 (3)2.3.1 实习软硬件环境说明 (3)2.3.2 网络配置文件与配置方法 (3)2.3.3 常用网络操作命令 (4)2.3.4 telnet 建立多帐户测试 (5)2.3.5 配置NFS服务器 (5)2.3.6配置samba服务器 (9)2.3.7 shell编程 (12)总结 (16)参考文献: (17)摘要:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX 和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
本文就从对Linux系统中的一些代码程序做了简单的介绍,如:ping、ifconfig、netstat等网络命令的使用,熟悉网络配置文件的配置方法,体会Linux多用户的特点,利用telnet进行。
建立多个帐户进行测试。
配置NFS服务器,实现文件系统的远程挂载。
配置samba服务器,实现不同系统之间的文件共享。
简单shell编程等几个方面对Linux系统进行了一个全面的讲解。
关键字:服务器,网络命令,文件配置前言Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。
用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet 上下载许多Linux的应用程序[1]。
可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能[2]。
2021年国开电大linux网络操作系统形考任务1答案
试题12
rmdir命令可以删除非空目录
正确答案是:“错”。
试题13
Apache服务是一种web服务器
正确答案是:“对”。
试题14
/etc/passwd文件只记录用户信息,而/etc/shadow文件记录用户密码
正确答案是:“对”。
试题15
|more命令可以将系统输出分屏显示
正确答案是:“对”。
试题8
在linux环境下,要显示当前目录下扩展名为.txt的所有文件,可以使用以下()命令。
正确答案是:ls *.txt
试题9
Linux操作系统下,使用()命令进入指定目录
正确答案是:cd
试题10
以下是使用哪个按键可以进入vim的插入模式?
正确答案是:i
试题11
/boot目录是用来存放系统配置文件的
正确答案是:rm -r HX
试题4
Linux系统的超级用户是什么?
正确答案是:root
试题5
有一个文件,所有用户都能够查看、执行,但不能修改那么这个文件的权限是
正确答案是:777
试题6
下列那个是自由软件
正确答案是:Linux
试题7
在RHEL6系统中,第二块sata硬盘中的第3个逻辑分区应该表示为
正确答案是:/dev/sdb7
2021年国开电大linux网络操作系统形考任务1答案
题目如为随机抽题 请用CTRL+F来搜索试题
形考任务1
试题1
使用哪个命令能够修改root账号的密码
正确答案是:passwd rቤተ መጻሕፍቲ ባይዱot
试题2
Linux是由以下那位编制成的
正确答案是:Linus Benedict Torvalds
Linux操作系统作业
Linux操作系统作业Linux作业题(2014)(作业手写,A4纸)班级学号姓名总分一、简答题1、列出Linux系统的主要特点。
Linux的功能强大而全面,与其他操作系统相比,具有一系列显著特点:(1)与UNIX系统兼容(2)自由软件和源码公开(3)性能高和安全性强(4)便于定制和再开发(5)互操作性高(6)全面的多任务和真正的32位操作系统2、简述Linux系统使用哪些命令关闭计算机系统?shutdown –h now,init 0,halt3、简述Linux系统下有哪些文件类型?普通文件,目录文件,设备文件,符号链接文件4、简述下硬链接和符号链接,并举例分别建立一个硬链接和符号链接操作硬链接:是在别的目录或本目录中增加目标文件的一个目录项,使得一个文件可以登记在多个目录中符号链接:是将一个路径名连接到一个文件$ ln file1 ../fa$ ln –s /home/gg/file2 /home/ggg/file35、简述chmod和charp、chown命令功能chmod:改变或设置文件或目录的存取设置charp:改变文件或目录所属的用户组chown:改变某个文件或目录的所有者和所属的组6、简述ps、kill、sleep命令功能ps:查看当前系统中运行的进程信息kill:终止一个进程的运行sleep:使进程暂停执行一段时间7、进入退出vi的方法有哪些?进入vi:$ vi 文件名退出vi:(1):wq 把编辑缓冲区的内容写到指定文件中,退出编辑器,回到shell状态(2):ZZ 仅当对所编辑的内容做过修改时,才将缓冲区的内容写到指定文件中(3):x 与:ZZ功能相同(4):q!无条件强行退出vi8、vi的工作方式有哪些?相互之间如何转换?工作方式:命令方式,输入方式,ex转义方式P.73图9、简述shell的功能,执行shell的方式主要有哪些?(1)能对已有命令进行适当组合构成新的命令(2)提供文件名扩展字符,使得单一字符串可以匹配多个文件名(3)可以直接使用shell内置命令(4)允许灵活地使用数据流,提供通配符,输入/输出重定向,管道线等机制,方便模式匹配,I/O处理和数据传输(5)结构化的程序模块,提供顺序,条件,循环等控制流程(6)提供在后台执行命令的能力(7)提供可配置的环境(8)提供一个高级命令语言,允许用户创建从简单到复杂的程序$ bash<脚本名$ bash 脚本名$ chmod a+x 脚本名$ PATH=$PATH:.$ 脚本名10、如何在系统初启过程中,让系统自动启动某些程序?请列出三种方法$ ln –s 建立启动软连接$ chkconfig 程序名 on$ ntsysv二、应用题1、使用命令创建目录newdir1,其默认权限为755,然后使用命令设置其权限为765.mkdir newdir1chmod 765 newdir12、创建用户zhangsan,并设置口令为123456.useradd zhangsanpasswd zhangsanEnter new UNIX password:123456Retype new UNIX password:123456passwd:all authentication tokens updated successfully3、请说出下面的目录主要放置什么数据?/etc:LINUX系统中大部分的配置文件/boot:Linux系统的内核文件和启动所需的文件/bin:常用的命令文件/mnt:临时的映射文件/dev:大部分的设备文件4、某文件为drw-rw-r--,问该文件为什么类型,该文件的权限八进制数字是什么?目录文件 6645、创建空文件file1,file2和file3.touch file1 file2 file3三、综合题1、编写一个shell脚本,显示当天日期,查找给定某用户是否在系统工作,如在系统中,就发一个问候。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.搭建一个简单的apache+mysql+php组合:点击红帽子—>系统设置-->服务器设置 服务勾上httpd然后点开始之后保存,如图:在浏览器测试如图:打开文件夹file:/var/www/html 在其中建一个about.php的文件,代码如下:<?Phpinfo();?>打开浏览器测试如图:点击红帽子—>系统设置-->服务器设置 服务勾上mysqld然后点开始之后保存,然后在终端输入如图所示代码,给MYSQL设定密码,如图:2.根据题目要求需要数据库中建立学生个人信息(学号、性别、年龄),所修课成,所在院系三个表,不是独立的。
所以我建了一个名为php的数据库以及名为register(用户),student(学生),faculty(学院),course(课程)的数据表,代码如下:CREATE TABLE IF NOT EXISTS student (name varchar(30) NOT NULL,id int(30) NOT NULL,class char(30) NOT NULL,sex varchar(30) NOT NULL,age int(20) NOT NULL);CREATE TABLE IF NOT EXISTS register (username char(25) NOT NULL,password int(20) NOT NULL);INSERT INTO register VALUES('admin','111111');CREATE TABLE IF NOT EXISTS course (id int(30) NOT NULL,classname char(30) NOT NULL,classid int(20) NOT NULL,teacher varchar(30) NOT NULL,socre int(10) NOT NULL);CREATE TABLE IF NOT EXISTS faculty (id int(30) NOT NULL,name char(30) NOT NULL,academical char(30) NOT NULL);建数据库及数据表如图:3.下面进行管理员与数据库的连接:在file:/var/www/html file:/var/www/html建立一个名为学生信息管理系统的文件夹,然后建一个register.phpy以及denglu.html,代码如下:Register.php:<?php$username=$_POST['username'];$password=$_POST['password'];$con=mysql_connect("localhost","root","root");mysql_select_db("php");$sql="select * from register where username='$username' AND password='$password'";$re=mysql_query($sql);$row=mysql_num_rows($re);if($row!=1){echo "登录失败";}else echo "<meta http-equiv=refresh content=1;url=caozuo.html>";?>denglur.html:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><style type="text/css"><!--.STYLE1 {font-family: "黑体", "宋体";font-size: 30px;}.STYLE2 {font-size: 24px}.STYLE3 {font-family: "黑体";font-size: 40px;}body {background-image: url(images/登录.bmp);}--></style></head><body><form id="form1" name="form1" method="post" action="register.php"><p class="STYLE3">欢迎登录学生信息管理系统</p><p> </p><table width="640" border="0" align="center" cellpadding="0" cellspacing="10"> <tr><td><div align="right"><span class="STYLE1">登录名:</span><span class="STYLE2"></span></div></td><td><label><input type="text" name="username" /></label></td></tr><tr><td><div align="justify" class="STYLE1"><div align="right">登录密码:</div></div></td><td><label><input type="password" name="password" /></label></td></tr></table><p align="center"><input type="submit" name="Submit" value="登录" /></p><p> </p></form></body></html>如图:登录之后进入选择操作界面如图:4.下面进行信息录入操作,如图:代码如下:luru.php:<?php$id=$_POST['id'];$name=$_POST['name'];$sex=$_POST['sex'];$age=$_POST['age'];$classid=$_POST['classid'];$class=$_POST['class'];$classname=$_POST['classname'];$teacher=$_POST['teacher'];$socre=$_POST['socre'];$academical=$_POST['academical'];$con=mysql_connect("localhost","root","root");mysql_select_db("php");$sq1="insert into student values('$name','$id','$class','$sex','$age')";$sq2="insert into course values('$id','$classname','$classid','$teacher','$socre')";$sq3="insert into faculty values('$id','$name','$academical')";$re1=mysql_query($sq1);$re2=mysql_query($sq2);$re3=mysql_query($sq3);if($re1&&$re2&&$re3){echo "录入成功";/*echo "<meta http-equiv=refresh content=3;url=w登.html>";*/}else echo"录入失败";mysql_close($con);?>Luru.html:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><style type="text/css"><!--.STYLE1 {font-family: "黑体";font-size: 44px;color: #000000;}body {background-image: url(images/登录.bmp);}.STYLE13 {font-family: "黑体", "楷体"; font-size: 16px; color: #000000; }--></style></head><body><form id="form1" name="form1" method="post" action="luru.php"><p align="right" class="STYLE1">学生信息录入</p><p> </p><p> </p><table width="640" border="0" align="center" cellpadding="0" cellspacing="10"> <tr><td><div align="center" class="STYLE13">学号:</div></td><td><div align="center"><input type="text" name="id" /></div></td></tr><tr><td><div align="center" class="STYLE13">姓名:</div></td><td><div align="center"><input type="text" name="name" /></div></td></tr><tr><td><div align="center" class="STYLE13">性别:</div></td><td><div align="center"><input type="text" name="sex" /></div></td></tr><tr><td><div align="center" class="STYLE13">年龄:</div></td><td><div align="center"><input type="text" name="age" /></div></td></tr><tr><td><div align="center" class="STYLE13">课程ID:</div></td><td><div align="center"><input type="text" name="classid" /></div></td></tr><tr><td><div align="center" class="STYLE13">班级:</div></td><td><div align="center"><input type="text" name="class" /></div></td></tr><tr><td><div align="center" class="STYLE13">所修课程:</div></td><td><div align="center"><input type="text" name="classname" /></div></td></tr><tr><td><div align="center" class="STYLE13">任课教师:</div></td><td><div align="center"><input type="text" name="teacher" /></div></td></tr><tr><td><div align="center" class="STYLE13">该课程成绩:</div></td> <td><div align="center"><input type="text" name="socre" /></div></td></tr><tr><td><div align="center" class="STYLE13">所属院系:</div></td><td><div align="center"><input type="text" name="academical" /></div></td></tr></table><p align="center"><label><input type="submit" name="Submit" value="确定" /></label></p><p align="center"> </p></form></body></html>5.下面是信息的查询操作代码如下:chaxun.php<?php$a=$_POST['id'];$con=mysql_connect("localhost","root","root");mysql_select_db("php",$con);$result = mysql_query("SELECT student.class,faculty.academical,course.classname,course.id,course.teacher,course.s ocre,student.sex,student.age,FROM student, faculty, courseWHERE ( (student.id =$a)AND (course.id =$a)AND (faculty.id =$a))");echo "<table border='1' bordercolor='#ff0000'><tr><th>姓名</th><th>性别</th><th>年龄</th><th>班级</th><th>所属学院</th><th>学号</th><th>所选课程</th><th>该课成绩</th><th>任课教师</th></tr>";while($row = mysql_fetch_array($result)){echo "<tr>";echo "<td>". $row['8']."</td>";echo "<td>". $row['6']."</td>";echo "<td>". $row['7']."</td>";echo "<td>". $row['0']."</td>";echo "<td>" . $row['1'] . "</td>";echo "<td>" . $row['3'] . "</td>";echo "<td>" . $row['2'] . "</td>";echo "<td>" . $row['5'] . "</td>";echo "<td>" . $row['4'] . "</td>";echo "</tr>";}echo "</table>";?>Cahxun.html<style type="text/css"><!--body {background-image: url(images/1.jpg);background-repeat: no-repeat;}.STYLE4 {color: #000000;font-weight: bold;font-family: "黑体", "楷体";}--></style><form id="form1" name="form1" method="post" action="chaxun.php"><p> </p><p> </p><table width="640" border="0" cellspacing="10" cellpadding="0"><tr><td><div align="center"><span class="STYLE4">输入您要查询的ID:</span><input type="text" name="id" /></div></td></tr><tr><td><div align="center"><input type="submit" name="Submit" value="提交" /></div></td></tr></table><p> </p><p align="left"> </p><p> </p></form>6.下面进行信息的修改操作代码如下:Xiugai.php<?php$mm=$_POST['id'];$a=$_POST['class'];$b=$_POST['academical'];$c=$_POST['classname'];$d=$_POST['socre'];$e=$_POST['teacher'];$f=$_POST['name'];$g=$_POST['sex'];$h=$_POST['age'];$con=mysql_connect("localhost","root","root");mysql_select_db("php");mysql_query("update course set socre='$d',classname='$c',teacher='$e' where id=$mm");mysql_query("update student set class='$a',name='$f',sex='$g',age='$h'where id=$mm");mysql_query("update faculty set academical='$b' where id=$mm");echo "<meta http-equiv=refresh content=1;url=jingquechaxun.html>"?>Xiugai.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><style type="text/css"><!--body {background-image: url(images/1.jpg);}.STYLE1 {color: #FFFFFF}.STYLE2 {color: #CCCCCC}.STYLE3 {color: #000000}--></style></head><body><form id="form1" name="form1" method="post" action="xiugai.php"><table width="640" border="0" align="center" cellpadding="0" cellspacing="10"> <p align="center"><span class="STYLE1">请输入需要修改信息的学生ID:</span> <input type="text" name="id" /></p><tr><td><div align="center" class="STYLE2">姓名:</div></td><td><div align="center" class="STYLE3"><input type="text" name="name" /></div></td></tr><tr><td><div align="center" class="STYLE2">性别:</div></td><td><div align="center" class="STYLE3"><input type="text" name="sex" /></div></td></tr><tr><td><div align="center" class="STYLE2">年龄:</div></td><td><div align="center" class="STYLE3"><input type="text" name="age" /></div></td></tr><tr><td><div align="center" class="STYLE2">班级:</div></td><td><div align="center" class="STYLE3"><input type="text" name="class" /></div></td></tr><tr><td><div align="center" class="STYLE2">所属学院:</div></td> <td><div align="center" class="STYLE3"><input type="text" name="academical" /></div></td></tr><tr><td><div align="center" class="STYLE2">所选课程:</div></td> <td><div align="center" class="STYLE3"><input type="text" name="classname" /></div></td></tr><tr><td><div align="center" class="STYLE2">该课成绩:</div></td> <td><div align="center" class="STYLE3"><input type="text" name="socre" /></div></td></tr><tr><td><div align="center" class="STYLE2">任课教师:</div></td> <td><div align="center" class="STYLE3"><input type="text" name="teacher" /></div></td></tr></table><p align="center"><input type="submit" name="Submit" value="提交" /></p><p> </p><p> </p><p> </p></form></body></html>至此一个简单的具有学生信息录入、查询、修改功能的学生信息管理系统完成!。