linux大作业

合集下载

Linux期末大作业

Linux期末大作业

简单的IRC聊天程序—— Linux课程期末实验第一章概述【实验目的】综合应用Linux系统下的网络编程技术,使用C语言,结合软件工程思想,设计并实现一个简单的IRC聊天程序,具有服务器端和客户端,可以是终端字符界面,支持用户管理,用户名/密码注册和登录,支持版面聊天,用户可以选择进入某个版面,版面发言大家可以看到,同时支持点对点私聊,可以选择某个用户进行私聊。

从而熟悉在Linux系统所提供的网络通信接口及该系统下的编程思想,深入对计算机系统的理解,并切实提高软件设计开发的能力。

【实验原理】一个简单的聊天室,其功能是当这个聊天室中的任何一个用户输入一段字符后,室内的其他用户都可以看到这句话。

据此,聊天程序分为客户端和服务器端。

客户端对应每一个参加聊天的用户,完成从终端上输入采集并传递到服务器端和从服务器端接收信息输出显示的功能。

总体介绍该结构如下。

首先是初始化服务器,使服务器进入监听状态:sockfd = socket(AF_INET, SOCK_STREAM, 0);// 首先建立一个socket,族为AF_INET,类型为SOCK_STREAM。

// AF_INET = ARPA Internet protocols,即使用TCP/IP协议族。

// SOCK_STREAM类型提供了顺序的,可靠的,基于字节流的全双工连接。

// 由于该协议族中只有一个协议,因此第三个参数为0。

bind(sockfd, (struct sockaddr *)&servaddr,sizeof(serv_addr));// 再将这个socket与某个地址进行绑定。

// serv_addr 包括sin_family=AF_INET 协议族同socket。

// sin_addr.s_addr = htonl(INADDR_ANY)服务器所接收的所有其他地址// 请求建立的连接。

// sin_port = htons(SERV_TCP_PORT) 服务器所监听的端口。

Linux课程大作业

Linux课程大作业

Linux课程设计报告题目 Linux课程大作业院系班级姓名指导教师一、基础篇(给出源程序和编译运行的结果)1、编写一个简单的c语言程序:根据输入的两个整数求平均值并且在终端输出,通过gcc编译器得到它的汇编程序文件。

源代码(c):源代码(汇编):.file "sum.c".text.globl average.type average, @functionaverage:.LFB0:.cfi_startprocpushl %ebp.cfi_def_cfa_offset 8.cfi_offset 5, -8movl %esp, %ebp.cfi_def_cfa_register 5subl $8, %espmovl 12(%ebp), %eaxmovl 8(%ebp), %edxaddl %edx, %eaxmovl %eax, -4(%ebp)fildl -4(%ebp)fldl .LC0fdivrp %st, %st(1)leave.cfi_restore 5.cfi_def_cfa 4, 4ret.cfi_endproc.LFE0:.size average, .-average.section .rodata.align 4.LC2:.string"\350\257\267\350\276\223\345\205\245\344\270\244\344\270\252\346\225\260\ 357\274\214\345\233\236\350\275\246\345\210\206\345\211\262".LC3:.string "%d".LC4:.string"%d\344\270\216%d\347\232\204\345\271\263\345\235\207\345\200\274\346\23 0\257\357\274\232%lf\n".text.globl main.type main, @functionmain:.LFB1:.cfi_startprocpushl %ebp.cfi_def_cfa_offset 8.cfi_offset 5, -8movl %esp, %ebp.cfi_def_cfa_register 5 andl $-16, %espsubl $48, %espmovl $0, 44(%esp) movl $.LC2, (%esp) call putsmovl $.LC3, %eax leal 40(%esp), %edx movl %edx, 4(%esp) movl %eax, (%esp) call __isoc99_scanf movl $.LC3, %eax leal 44(%esp), %edx movl %edx, 4(%esp) movl %eax, (%esp) call __isoc99_scanf movl 44(%esp), %edx movl 40(%esp), %eax movl %edx, 4(%esp) movl %eax, (%esp) call averagemovl 44(%esp), %ecx movl 40(%esp), %edx movl $.LC4, %eax fstpl 12(%esp)movl %ecx, 8(%esp) movl %edx, 4(%esp) movl %eax, (%esp)call printfleave.cfi_restore 5.cfi_def_cfa 4, 4ret.cfi_endproc.LFE1:.size main, .-main.section .rodata.align 8.LC0:.long 0.long 1073741824.ident "GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3".section .note.GNU-stack,"",@progbits执行结果:2、编写一个c语言程序:打印输出所有“水仙花数”,用gdb调试程序(给出步骤,至少十步以上)。

《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-习题(1)

Linux-习题(1)

大作业 ( 一 )一:填空题1:Linux中除图形登录外还可以使用命令提示行进行登录。

2:如果要访问网络中的另一台电脑,可以通过命令方式进行登录。

3: shell 是一个类似于 dos 的命令行解释工具。

4:Shell的概念最初是在__unix____操作系统中形成和得到广泛应用的。

5:Linux中的Shell有多种类型,其中最常用的几种是 Bourne Shell sh 、C Shell(csh)和Korn Shell(ksh).6:Bourne Shell简称 sh 。

7:创建名为p的用户可以通过 useradd p 命令进行创建。

8:为名为p的用户创建密码可以通过 passwd p 命令进行创建。

9:删除名为p的用户可以通过 userdel p 命令进行。

10:mv命令用来移动文件,cp命令用来复制文件。

11:当在Shell环境中启动vi编辑器时,可以使用 vi 命令进行启动。

12:当在vi编辑器中输入文字时,需要按键盘中的 I 键才可以进行输入。

13:在命名文件时不可以使用/、:、 \、 *、?、 % 、 >、|等符号。

14:root用户账户的基本信息保存在 /root/. 文件中。

15:在账户记录文件“root: x: 0: 0: root: /root: bin/bash”代码中的“bin/bash”表示 Bourne Again shell 。

16:当其他用户登录后要切换到root用户账户时,可以通过 su 命令进行。

17:当需要修改root用户账户时,需要在用户设置窗口中选择新建选项后才可以进行。

18:除了root用户账户外,还有lp、mail、uucp、 news 和 halt 这些默认的系统账户。

19:在Linux中权限最大的组是 root组,该组具备Linux操作的所有权限。

20:在Linux中可以使用 fdisk 或 df 命令查看磁盘分区情况。

21:当需要使用kill命令关闭编号是2547的程序时,其书写方式是 kill-9 2547 。

linux编程大作业讲解

linux编程大作业讲解

linux编程大作业讲解linux第一部分简述题目要求:这部分题目必做,要详细回答,最好用自己理解的语言回答,有些题目可用图形和举例等阐述问题。

1、makefile文件的作用是什么,makefile文件中有一种变量,其值是根据具体的规则来确定的,称为自动变量,其中代表所有依赖文件列表的是哪个;举例说明make 命令的工作流程。

答:在Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。

其中包括:工程中的哪些源文件需要编译以及如何编译、需要创建那些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行文件。

Makefile 有自己的书写格式、关键字、函数。

在Makefile 中可以使用系统shell所提供的任何命令来完成想要的工作。

能够使用一行命令来完成“自动化编译”。

自动变量$^代表所有依赖文件,以空格分开,以出现的先后为序。

2、什么是进程,用fork()创建一个子进程时,系统会做什么工作。

请编程说明。

答:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配的单位,不仅是系统内部独立运行的实体也是独立竞争资源的实体。

用fork()时系统会分配子进程一个ID号然后继承父进程的地址空间,包括进程上下文进程堆栈打开的文件描述符等等,他就是父进程的一个复制品。

3、简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。

解释i节点在文件系统中的作用。

答:文件系统建立在由若干连续的逻辑块构成的存储空间中,根据用途逻辑块可分为:超级块、i节点区和数据区。

其中i节点区用于存放i节点,每个文件都有各自唯一的i节点,i 节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。

在i 节点表中最重要的内容是磁盘地址表。

在磁盘地址表中有13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。

linux大作业及要求

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题库及参考答案

LINUX题库及参考答案

LINUX(UBUNTU)大作业Linux第一次作业一、选择题1、下列哪种说法是错误的( C ) 。

A.操作系统是裸机之上的第一层软件B.操作系统控制和管理全部的计算机资源C.Microsoft Office 是操作系统的一种D.操作系统应为用户提供便捷的操作界面2、以下说法中正确的是(C )。

A.Windows 8是单用户单任务操作系统B.MS-DOS是多用户多任务操作系统C.Linux是多用户多任务操作系统D.Unix是单用户多任务操作系统3、下列哪种说法是错误的( C ) 。

A.操作系统可用于控制和管理计算机系统资源B.操作系统可用于对各类任务进行调度C.操作系统可用于完成源代码编译D.操作系统应为用户提供便捷的操作界面4、Linux中系统超级管理员的帐户是(B )。

A.adminB.rootC.administratorD.superuser5、Linux系统是一个(D )的操作系统。

A.单用户、单任务B.单用户、多任务C.多用户、单任务D.多用户、多任务6、Linux是一个功能强大的操作系统,同时它是一个(C )。

A、商业软件B、共享软件C、自由软件D、专利软件7、自由软件的含义是(B )。

A.用户不需要付费B.软件可以自由修改和发布C.只有软件作者才能向用户收费D.软件发行商不能向用户收费8. 超级用户登录后的操作提示符是( B ) 。

A、$B、#C、&D、@9、在某终端显示信息为:[user@localhost ~]$,其中“~”表示(D )。

A.当前目录B.名为~的主机C.系统根目录/D.用户user的家目录10、关于Linux内核版本的说法,以下错误的是(C )。

A.表示为主版本号.次版本号.修正号B.1.2.3表示稳定的发行版C.1.3.3表示稳定的发行版D.2.2.5表示对内核2.2的第5次修正二、简答题1、请简述Linux操作系统有什么优点?答:Linux的主要优点包括:•提供了先进的网络支持:内置TCP/IP协议;•真正意义上的多任务、多用户作系统;•与UNIX系统在源代码级兼容,符合IEEE POSIX标准;•支持数十种文件系统格式;•开放源代码,用户可以自己对系统进行改进;•采用先进的内存管理机制,更加有效地利用物理内存。

LINUX大作业

LINUX大作业

Linux系统编程大作业一、实验题目实现一个FTP服务系统二、实验目的通过该实验,掌握Linux环境下的多线程/进程编程技术、文件操作、用户权限管理、进程间通信技术三、实验要求基于客户/服务器交互模式,采用TCP/IP通信协议,实现一个支持远程文件传输的客户/服务器软件,支持文件的上传和下载。

其中客户端软件命名为myftp,服务器软件命名为ftpserver,具体功能需求如下:(一)服务器1)启动方式。

执行ftpserver [IP地址] port启动FTP服务。

其中IP地址为可选项。

若不提供服务器IP地址,FTP服务将自动绑定到本地网络的IP。

2)用户认证与权限管理。

为FTP客户提供基于用户名/密码认证的服务模式,只有授权用户才可以访问FTP服务。

与此同时,对文件/目录的访问,也实现基于授权的访问机制,即只有授权用户才可以对指定文件进行读写操作。

用户只有在具备写权限操作的目录上才能上传文件。

(可直接集成Linux服务器系统的用户管理)3)并行执行功能。

为提高系统性能,服务器将采用多进程/线程技术响应客户请求。

当客户通过身份验证后,服务器将创建一个新的进程/线程来响应用户请求,提供服务。

4)服务器支持的客户文件操作。

登录成功后,客户可在服务器执行以下操作:创建/删除目录(mkdir/rmdir)、显示当前路径(pwd)、切换目录(cd)、查看当前目录下的所有文件(ls)、上传单个/多个文件(put/mput)、下载单个/多个文件(get/mget)。

5)服务传输模式。

支持二进制(默认)及ASCII传输模式。

用户可通过执行binary/ascii 命令切换传输模式。

6)站点计数与用户管理功能。

统计服务器站点的当前活动用户数及自运行以来的访客总数。

系统管理员可在服务器软件运行终端窗口执行以下命令:A)count current:当前活动用户数B)c ount all:显示系统访客总数C)l ist:显示当前在线的所有用户的用户名D)kill username:强制删除某个用户。

Linux大作业(计算机14-3)

Linux大作业(计算机14-3)

Linux实用操作系统大作业(上机实践):(要求将实现过程截屏并配有文字说明)1、以root身份登录Linux系统,添加两个用户账户(一个账号名为:xxxy,另一个账号名为:你名字的拼音缩写),分别修改登录密码,然后在tty2和tty3上登录。

显示在线用户登录情况,然后将登陆情况保存在文件中,让两个用户互发消息。

useradd xxxy;passwd xxxyuseradd hhypasswd xxxyctrl+alt+f2;ctrl+alt+f3;who |cat>lscat $mail username$mailwho/who am i2、进入root的主目录,显示该目录中的所有内容(包含隐含文件),并显示当前目录中的所有文件的详细信息,并说出每一列代表的含义。

统计该目录中所有的文件数目,并对该目录中的文件按大小进行排序(升序和降序)ls -lls -l|sort -hk 53、Linux系统有几种基本文件类型?在系统中找出每一种文件类型的文件,并显示该文件的位置。

1普通文件2目录文件3字符设备或块设备文件4套接口文件5符号链接文件4、创建一个目录树,进入目录/xju/xxxy/jsj143,使用cat建立小型文本文件ex1和ex2,内容自定,查看文件ex1和ex2文件内容,并显示行号。

把ex1和ex2合并成一个新文件ex。

mkdir /xju/xxxy/jsj143 -p5、创建一个目录树/cmd/cbin和/cmd/dbin,把/bin下以c开头的文件复制到/cmd/cbin,把/bin下以d开头的文件复制到下/cmd/dbin。

修改目录/cmd/cbin的名字为/cmd/bin,并删除/cmd/dbin目录。

然后,复制/cmd目录到/xju/xxxy/jsj143目录下。

6、进入目录/xju/xxxy/jsj143,查看文件ex1,ex2的属性,注意文件的属主和属组。

把文件ex1的属主和属组分别改成xxxy,把文件ex2的属主和属组分别改成你的账户。

linux大作业

linux大作业

学号:姓名:班级:
大作业任务要求:
一、Shell编程要求:写出两个Shell程序,每个程序不少于十五行;说明程序主要功能;每行给出注释。

二、Linux操作系统配置实例要求:查阅资料结合实际使用情况,写出Linux操作系统使用中的一个配置的详细过程;具体配置目标不限(自选)。

三、Linux操作系统应用开发实例要求:编写Linux下的一个应用程序。

开发语言和工具不限;给出源代码和运行结果。

关键代码部分要给出注释。

四、Linux内核源码解读
要求:任选Linux内核源码,写出该模块运行过程;在每行内核源码后注释说明;解读源码不少于三十行。

收到的大作业内容不能雷同。

Linux大作业 (2)

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操作系统大作业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. Linux 的概述 (1)2.学习Linux操作系统的目的和要求 (1)3.基本网络命令的使用 (2)3.1 ping 命令 (2)3.2 ifconfig命令 (2)3.3 netstat命令 (3)4.Linux系统的管理与配置 (4)4.1 网络文件配置 (4)4.3 NFS 文件远程挂载 (6)4.3.1配置NFS服务器 (6)4.3.2 实现远程挂载 (6)4.4 Samba (7)4.4.1 Samba服务器的配置 (7)4.4.2 Samba共享 (7)5.Shell编程 (8)5.1 编写Shell脚本程序 (8)5.2 编写Shell弹出式菜单程序 (9)5.3 编写乘法表 (10)6.gcc 编程的使用 (11)6.1 用递归求阶乘 (11)6.2编写累加程序 (12)6.3 求奇数程序 (14)总结 (15)参考文献: (15)Linux 基础与应用前言Linux操作系统是多用户、多任务的操作系统,具有强大的可移植性,良好地编程环境和强大的网络功能。

Linux 操作系统是一个免费的操作系统,Linux 的内核是Linux的主体,内核负责控制硬件设备、文件系统和程序任务调度等工作,但不包括用户应用程序。

Linux操作系统以它的高效性和灵活性著称,Linux 模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力,所以得到很广泛的应用。

我们这学期学习的Linux是RED HAT Linux系统,学习Linux的常用命令、Linux的常用工具、Linux系统管理和配置、Linux常用应用程序、Linux下的Shell编程、gcc编程等Linux系统下的操作。

Linux作为一个日渐流行的多用户、多任务操作系统,有着开放、稳定、安全、费用低廉等许多其它操作系统无可比拟的优势,具有越来越广泛的应用前景。

在网络技术迅速发展的今天,网络操作系统是网络中的核心技术,所以本课程是计算机科学与技术专业学生的一门必修专业课。

LinuxC编程大作业

LinuxC编程大作业

LinuxC编程大作业
1.内容(二选一)
A.字符界面的挖雷游戏
●参考windows操作系统下的挖雷游戏,字符界面下实现其基本的挖雷游戏功
能,雷区小,中,大可选,难度(布雷树木)可选。

●具备用户登录功能,能保存浏览该用户的前20次游戏成绩,用户数据和游戏
数据保存为记录文件。

●实现游戏成绩排行榜功能(即统计所有游戏用户的游戏成绩,按时间排雷时间
的多少列出前十)。

B.学生管理信息系统
●参考12章综合练习的学生管理程序,字符界面下实现一个功能简单的学生管
理信息系统,至少具备学生信息的增删改和浏览,按条件查询,统计功能;
●提高功能:学生课程管理模块,选课,录成绩及其查询统计功能。

●所有的信息采用记录文件作持久化保存。

2.要求
A.独立完成大作业,严禁抄袭,雷同者全部不及格。

B.提交内容:大作业报告(格式参考学院的格式文档)和源代码(学号+姓名),全部
提交给班长统一刻盘。

C.提交截至时间:17周周四。

linux编程大作业题目

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大作业

Linux大作业

石家庄学院课程设计报告课程名称:Linux大作业设计题目:Web服务器的配置院系:计算机系专业:计算机科学与技术班级:2011级设计者:马淑娟马晓春张聪聪学号:20111303015 2011130301620111303017指导教师:滑斌杰2012 年 6 月17 日一、题目分析:通过对web服务器的有关配置,深刻理解web服务器的功能,并学会如何配置基于IP,基于端口,基于域名的虚拟主机。

二、制作过程:2.1 配置基于IP的虚拟主机:下面介绍在 192.168.0.8 和192.168.0.9 上创建两个基于IP 地址的虚拟主机的配置过程。

1.创建文档目录和测试主页student@Ubuntu: ~$ sudo mkdir -p /home/www/192.168.0.8/htdocsstudent@Ubuntu: ~$ sudo mkdir -p /home/www/192.168.0.9/htdocsstudent@Ubuntu:~$ sudo touch /home/www/192.168.0.8/htdocs/index.htmlstudent@Ubuntu: ~$ sudo touch /home/www/192.168.0.9/htdocs/index.html用来测试index.html 文件的内容可以分别为“this 192.168.0.8”与“this 192.168.0.9”。

2.配置虚拟网络接口(1) 使用如下命令。

student@Ubuntu:~ $ sudo gedit /etc/network/interfaces(2) 添加如下的配置。

auto eth0:1iface eth0:1 inet staticaddress 192.168.0.8netmask 255.255.255.0network 192.168.0.0broadcast 192.168.0.255auto eth0:2iface eth0:2 inet staticaddress 192.168.0.9netmask 255.255.255.0network 192.168.0.0broadcast 192.168.0.255(3) 使用如下命令重新启动网络服务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2014 —2015 学年第二学期《Linux网络操作系统》大作业题目:浅谈 Linux 新技术及其发展专业:计算机科学与技术班级:12级计算机1班学号: 120400301姓名:郭芳瑜教师:李桐日期:2015 年05 月10 日一.linux的发展历程Linux 是一种自由和开放源码的类 Unix 操作系统.目前存在着许多不同的 Linux,但其都使用了 Linux 内核. Linux 可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机. Linux 是一个领先的操作系统,世界上运算速度最快的计算机运行的都是 Linux 操作系统。

Linux 操作系统的诞生、发展和成长过程始终依赖着以下 5 大支柱: UNIX 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和 Internet 网络.Unix 操作系统是美国 AT&T 的贝尔实验室的 Ken. Thompson,Dennis Ritchie 和 Douglas Mcllroy 于 1969年夏在 DEC PPP - 7 小型计算机上开发的一个分时操作系统. 1971 年 Ken. Thompson 和 Dennis Ritchie 成功地用 C 语言重写了 Unix 内核. 1974 年,Unix 以“仅用于教育目的”的协议,提供给大学作为教学之用,成为当时操作系统课程中的范例教材.各大学、公司开始通过 Unix 源码对Unix 进行了各种各样的改进和扩展,于是,Unix 开始广泛流行.后来,AT&T 公司开始注意到 Unix 带来的商业价值,公司的律师开始寻找一些手段来保护 Unix,并让其成为一种商业机密.从 1979 年 Unix 的版本 V7 开始,Unix 的许可证开始禁止大学使用Unix 的源码,包括在授课中学习. MINIX 系统是由美藉荷兰侨民 Andrew. S. Tanenbaum( AST) 于 1987 年开发的,源于 Unix 源码被禁止使用,开发该系统主要用于学生学习操作系统原理. MINIX 的名称取自英语 Mini Unix,是一个迷你版本的类 Unix 操作系统,它是重新发展的,并没有使用任何的 AT&T 的程序码,到 1991 年时版本是 1. 5,当时该操作系统在大学使用是免费的,但其它用途不是,当然目前都已经是免费的.GNU 是“GNU’s Not Unix”的递归缩写,是一个名叫 Richard Stallman 认为 Unix 是一个相当好的操作系统,如果大家都能将自已所学贡献出来,那么,这个系统将会更加优异.他倡导的 Open Source 的概念,就是针对 Unix 这一事实,反对实验室里的产品商业化、私有化.实现一个仿 Unix 操作系统成了他追求的明确战略目标.为了这个理想,Richard Stallman 于 1984 年创立了 GNU,计划开发一套与 Unix 相互兼容的软件. 1985年,他又创立了自由软件基金会( Free Software Foundation) 来为 GNU 计划提供技术、法律以及财政支持.自发起这个计划以来,GNU 开始大量的产生或收集各种系统所必备的组件,例如: 函数库、编译器、调试工具、文本编辑器、网站服务器,以及一个 Unix 的使用接口( Unix Shell) 等,但由于种种原因,GNU 一直没有开发操作系统的 Kernel.POSIX 表示可移植操作系统接口( Portable Operating System Interface) ,电气与电子工程师协会( Institute of Electrical and Electronics Engineers,IEEE) 最初开发 POSIX 标准,是为了提高Unix 环境下应用程序的可移植性.然而,POSIX 并不局限于 Unix,许多其它操作系统,例如,DEC Open VMS 和 Microsoft Windows NT 都支持 POSIX 标准现在它已经发展成为一个非常庞大的标准族.1991 年,芬兰赫尔辛基大学的一名学生 Linus Torvalds,他主修的课程中有一门课是操作系统,专门研究程序设计和执行,并且本课程采用 MINIX 做为实验系统. Linus 不满足于该系统的功能,就希望能给其添加一些功能.于是,他就根据实际的需要编写了磁盘驱动程序以便下载访问新闻组的文件,又编写了文件系统以便能够阅读 MINIX 文件系统中的文件,这就是 0. 0. 1 版本的 Linux.Linus 从一开始就决定自由传播 Linux,他把源代码发布在网上,于是,众多的爱好者和程序员也都通过互联网加入到 Linux 的内核开发工作中.这个思想与 FSF 资助发起的 GNU 的自由软件精神不谋而合.GNU 是为了推广自由软件的精神以实现一个自由的操作系统,然后从应用程序开始,实现其内核.而当时 Linux 的优良性能备受 GNU 的赏识,于是,GNU 就决定采用 Linus 及其开发的内核.在他们共同努力下,Linux 这个完整的操作系统诞生了.其中的程序开发共同遵守 General Public License( GPL) 协议和POSIX 标准,规定了源码必须可以无偿地获取并且修改.二.Linux技术热点和发展趋势自九十年代初 L i n u x 出现以后,Linux技术首先在个人爱好者的圈子里迅速发展起来;此后,随着Internet的迅猛发展,以及在RedHat、Suse等主要Linux发行商的努力和 IBM、英特尔等的大力支持下,Linux在服务器端得到了长足的发展,在中、低端服务器市场中已经成为Unix 和 Windows NT的有力的竞争对手在高端应用的某些方面,如SMP、Cluster集群等,已经动摇了传统高级 Unix 的统治地位。

近两年,由于政府上网工程、电子政务、电子商务等的不断发展,Linux桌面技术也越来越受到用户和厂家的重视。

特别是在国内,中标软件、红旗等相继推出了多款Linux桌面产品,在政府采购、OEM 等领域占据了重要市场,Linux桌面技术也得到了长足的发展。

目前,Linux技术已经成为IT技术发展的热点,投身于Linux技术研究的社区、研究机构和软件企业越来越多,支持Linux 的软件、硬件制造商和解决方案提供商也迅速增加,Linux在信息化建设中的应用范围也越来越广,Linux产业链已初步形成,并正在得到持续的完善。

随着整个 Linux 产业的发展,Linux技术也处在快速的发展过程中,形成了若干了技术热点。

下面,分别就 Linux 桌面技术和Linux服务器技术介绍最新的Linux发展动态和未来的发展趋势。

·桌面的技术热点和发展趋势桌面操作系统和办公套件为家庭、企业、政府及其它领域提供了基础使用环境,必须适应、满足实际使用模式的多样性与硬件平台的差异性,诸如移动终端、作系统和办公套件是“体验式”信息时代最具代表性的基础信息化工具软件,同时也是软件、应用、服务的是使用基础平台。

目前流行的桌面操作系统主要包括两大类:一类是主流商业桌面系统,包括微软的 Windows系列、Apple 的 Macintosh等;第二类基于自由软件的桌面操作系统,特别是Linux桌面操作系统。

从应用的广泛程度来讲,微软的 Windows 系列占有绝对的优势,Macintosh也有一定的市场,Linux桌面操作系统的发展趋势也非常迅猛。

分析 Linux桌面的未来发展,必须看到 Windows、Macintosh等领先者的技术趋势。

从 Windows、Macintosh的最新发展来看,未来几年内桌面操作系统的发展呈现这样一些特点:首先,随着普适计算、移动计算的发展,个人桌面、个人应用已经不仅仅局限于PC这样的传统计算机设备,如何满足新的计算模式将成为下一代桌面系统成败的关键;其次,针对不同的应用人群,桌面操作系统也在分化出不同的功能,满足不同人群的需求。

譬如,针对追求娱乐、时尚的人群,各桌面操作系统纷纷通过与硬件的配合,提供更强大的3D功能和显示加速功能,推出更酷更炫的3D桌面,提供功能更强大的多媒体播放器,支持硬件要求越来越高的3D游戏等等;针对办公人群,提供基于内容的桌面搜索工具,提供功能更强大的信息管理、日程管理等工具;第三,桌面系统安全性越来越受到重视。

特别是通过与TPM等硬件安全技术的结合,使得桌面安全性得到进一步增强;最后,对于桌面用户最关心的易用性,对于 Linux桌面而言,当前的技术热点同样集中在3D桌面、桌面搜索、桌面安全性、界面友好性等方面;当然,对于Linux 这样的开源软件来说,针对不同应用环境,对系统进行定制是必不可少的。

·3D桌面技术时下,Linux 社区对于桌面最热门的话题之一莫过于对 XGL 和 AIGLX 的讨论和实现。

XGL 出自于Novell,完全基于OpenGL绘图引擎,通过利用 nvidia/ATI显卡优良的硬件加速通道实现可用的2D/3D桌面。

显卡通过Xgl可以加强图像的特殊效果,例如透明物体、3D效果以及缩放等功能。

同时该软件还将提高一些用户界面的显示速度,例如文本文件等。

Xgl 对硬件要求并不高,Nvidia Geforce2级别的显示芯片就可以运行良好,但目前某些OpenGL 的驱动支持还不够十分完善。

图形芯片巨擎ATI已经表示,将协助Novell 让Linux成为一个具有活力的桌面平台。

AIGLX 是 RedHat/ Fedora项目下的一个增强目前 X 服务器显示效能的子项目,也是利用 OpenGL 的绘图引擎,但主要是在现有的 X 架构下进行扩展和对Mesa增加 patch,动作不如Novell大。

不过由于强调了将尽量依赖open source的driver, 很多人也看好这个项目。

另外,Sun 的 JDS 3D 桌面也曾经让人耳目一新。

当然,目前这些技术都还处在开发阶段,还是有可能造成系统不稳定。

相信在2~3 年以后,3D桌面也将成为Linux桌面。

三.Linux 系统引导的新技术与 windows 的操作系统不同, 在 Linux 操作系统中, 有两种高级功能: 初始化内存盘 Initrd 技术和内核支持压缩的文件系统映像技术。

在这两种技术的支持下, 我们可以让 Linux 系统完全嵌入到内存中, 而不依赖于任何其他硬盘启动。

现在 PC 机内存至少 256M, 而根文件系统所用的只有 30M, 因此不仅不会使整机性能下降, 反而有很大的提高。

这样设置后消除了部分硬件故障, 也提高了系统性能, 也不会因为非法关机破坏文件系统, 因为我们每一次启动是把压缩的文件系统解压至内存盘中作为根文件系统挂载。

相关文档
最新文档