文档库 最新最全的文档下载
当前位置:文档库 › Linux应用开发期末大作业

Linux应用开发期末大作业

Linux应用开发期末大作业
Linux应用开发期末大作业

Linux应?用开发期末?大作业

简易易计算器?分析报告

学院:软件学院

班级:14软件设计?一班

学号:1415925365

姓名:沈沈烨

时间:2016.11.12

?目录

?一.需求分析3?二.设计过程4

1.界?面设计4

2.控件重命名4

3.简单信号响应4

4.辅助数据成员及函数5

5.数字键的响应6

6.?小数点的响应6

7.运算功能的响应7

8.清屏的响应7

9.等号的响应8

三.程序使?用示例例8

四.总结9

五.程序源代码10

?一.需求分析

当今社会是信息社会,科技经济?高速发展的社会,为了了更更?方便便?人们的?工作?生活

和加速?人们处理理信息的速度,计算器?应运?而?生。然?而,电脑已经成为当代?人?生活的必需品,运?行行在电脑上的计算器?成为了了?人们的?生活学习绝佳伴侣。

下?面是?用C++编写的,基于Qt图形?用户界?面应?用程序框架的计算器?,它实现了了对整数,浮点数的加﹑减﹑乘﹑除﹑幂运算。

?二.设计过程

1.界?面设计

在QT设计器?中布置好计算器?界?面,所有按键采?用的pushButton控件,显示计算结果采?用的是lineEdit控件。完成的界?面如下图所示:

为了了使按钮显示美观,将每个button的属性设置如下:

图 button?大?小、字体属性

为符合?人们的使?用习惯,将lineEdit空间的属性更更改,使得输?入的数字和符号出现在空间的右边起。如图:

图 lineEdit控件属性更更改

2.控件重命名

将界?面布局设计好后,将各个空间改名,例例如“0”改为but0。

3.简单信号响应

对于button exit退出程序,这样简单的响应,直接在设计器?中通过添加信号和槽来完成,如图:

图信号和槽

4.辅助数据成员及函数

为了了区分每?一次计算和保存操作数、操作符,和辅助函数(如:输出函数),在calculator.h的类中设定数据成员以及成员函数:

calculat.cpp中辅助函数的实现:

5.数字键的响应

以button 0为例例,在calculator.cpp?文件中添加but0的代码,如下:

6.?小数点的响应

当?一个操作数已经输?入了了?一个?小数点时,将?小数点按钮置为不不可?用,以防?用户重复输?入?小数点,导致输?入操作数不不合法,如下如:

7.运算功能的响应

以加法为例例,向lineEdit中输?入显示+号,并在数据成员中保存,以便便后?面进?行行计算:

8.清屏的响应

?首先将lineEdit的显示清除,再置为0;将?一切辅助的数据成员数据重置到新?一轮计算的开始状态,如:运算符为空,操作数为0等。实现如下:

9.等号的响应

根据数据成员记录的运算符和操作数进?行行相应的计算,并将得出的结果转化为string显示在lineEdit上,并重置辅助数据成员,准备下?一轮的计算开始。三.程序使?用示例例

四.总结

?通过计算器?设计,我学到了了利利?用Qt设计简单窗?口应?用程序的的?方法,初步了了解了了使?用QT?工具编写窗?口程序的新颖,了了解了了槽和信号等基本知识,

学会了了如何使?用新?工具(Qt)帮助程序开发。

?本计算器?实现的功能还只是很少?一部分,希望随着?自身?水平的提?高可以将其完善起来。

?在Linux应?用开发课程中,更更多学会的是?一种可以?面向实现图形化界?面的编程的思想;虽然课程很短只有那么?几周,但是学到的还是挺多的。

?首先学会了了更更好的使?用Linux操作系统,对这个系统更更加进?一步有了了了了

解;其次学会了了Qt编程,不不能说学会吧,只能说有点懂了了。

五.程序源代码

calculator.h?文件:

#ifndef CALCULATOR_H

#de?ne CALCULATOR_H

#include

#include "ui_calculator.h"

class calculator : public QWidget

{

Q_OBJECT

public:

calculator(QWidget *parent = 0, Qt::WFlags ?ags = 0);

~calculator();

private slots:

void on_but0_clicked();

void on_but1_clicked();

void on_but2_clicked();

void on_but3_clicked();

void on_but4_clicked();

void on_but5_clicked();

void on_but6_clicked();

void on_but7_clicked();

void on_but8_clicked();

void on_but9_clicked();

void on_butJia_clicked();

void on_butJian_clicked();

void on_butCheng_clicked();

void on_butChu_clicked();

void on_butDeng_clicked();

void on_butZhengfu_clicked();

void on_butMi_clicked();

void on_butDian_clicked();

void on_butClear_clicked();

private:

Ui::calculatorClass ui;

bool ?nishedOne;//是否完成了了?一趟计算

bool haveDian;//是否已经输?入了了点

bool haveOpera;//是否已经输?入过操作符

bool newInput;//清屏后的标志

double num1;//操作数

double num2;//操作数

char opera;//运算符

QString str;//?用来进?行行double和string之间转换

void clear_lineEdit();//每输?入?一个操作数或操作符的?小清屏 void input(char ch);//向lineEdit进?行行输?入

void inputCheck();//输?入前的检查

};

#endif // CALCULATOR_H

calculator.cpp?文件:

#include "calculator.h"

#include

#include

#include

#de?ne P 0.000000000000001

calculator::calculator(QWidget *parent, Qt::WFlags ?ags)

: QWidget(parent, ?ags)

{

ui.setupUi(this);

?nishedOne = true;//是否完成了了?一趟计算

haveDian = false;//是否已经输?入了了点

haveOpera = false;//是否已经输?入过操作符

newInput = true;//是否是清过屏的

num1= 0;

num2= 0;

opera= ' ';//初始为空格

}

void calculator::on_but0_clicked()

{

inputCheck();

input('0');

}

void calculator::on_but1_clicked()

{

inputCheck();

input('1');

}

void calculator::on_but2_clicked() {

inputCheck();

input('2');

}

void calculator::on_but3_clicked() {

inputCheck();

input('3');

}

void calculator::on_but4_clicked() {

inputCheck();

input('4');

}

void calculator::on_but5_clicked() {

inputCheck();

input('5');

}

void calculator::on_but6_clicked() {

inputCheck();

input('6');

}

void calculator::on_but7_clicked() {

inputCheck();

input('7');

}

void calculator::on_but8_clicked() {

inputCheck();

input('8');

}

void calculator::on_but9_clicked() {

inputCheck();

input('9');

}

void calculator::on_butCheng_clicked() //乘法{

num1 = ui.lineEdit->text().toDouble();

clear_lineEdit();

ui.lineEdit->setText("*");

opera = '*';//记录操作符

haveOpera = true;

}

void calculator::on_butJia_clicked() //加法

{

num1 = ui.lineEdit->text().toDouble();

clear_lineEdit();

ui.lineEdit->setText("+");

opera = '+';//记录操作符

haveOpera = true;

}

void calculator::on_butJian_clicked() //减

{

num1 = ui.lineEdit->text().toDouble();

clear_lineEdit();

ui.lineEdit->setText("-");

opera = '-';//记录操作符

haveOpera = true;

}

Linux期末考试试题8套(含答案)

Linux 期末考试试题(一) 一、选择题 (每小题2分,共50分) 1.在创建Linux分区时,一定要创建(D )两个分区 A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SW AP/根分区 2.在Red Hat Linux 9中,系统默认的(A)用户对整个系统拥有完全的控制权。 A. root B. guest C. administrator D.supervistor. 3. 当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( B ) A. NID B. PID C. UID D. CID 4. 下面哪个命令是用来定义shell的全局变量( D ) A. exportfs B. alias C. exports D. export 5. 哪个目录存放用户密码信息( B ) A. /boot B. /etc C. /var D. /dev 6. 默认情况下管理员创建了一个用户,就会在( B )目录下创建一个用户主目录。 A. /usr B. /home C. /root D. /etc 7. . 当使用mount进行设备或者文件系统挂载的时候,需要用到的设备名称位于( D )目录。 A. /home B. /bin C. /etc D. /dev 8. 如果要列出一个目录下的所有文件需要使用命令行( C )。 A. ls –l B. ls C. ls –a(所有) D. ls –d 9. 哪个命令可以将普通用户转换成超级用户(D ) A. super B. passwd C. tar D. su 10. 除非特别指定,cp假定要拷贝的文件在下面哪个目录下( D ) A. 用户目录 B. home目录 C. root目录 D. 当前目录 11. 在vi编辑器里,命令"dd"用来删除当前的( A ) A. 行 B. 变量 C. 字 D. 字符 12. 当运行在多用户模式下时,用Ctrl+ALT+F*可以切换多少虚拟用户终端( B ) A. 3 B. 6 C. 1 D. 12 13. Linux启动的第一个进程init启动的第一个脚本程序是( B )。 A./etc/rc.d/init.d B./etc/rc.d/rc.sysinit C./etc/rc.d/rc5.d D./etc/rc.d/rc3.d 14. 按下(A )键能终止当前运行的命令 A. Ctrl-C B. Ctrl-F C. Ctrl-B D. Ctrl-D 15. 下面哪个命令用来启动X Window ( C ) A. runx B. Startx C. startX D. xwin 16. 用来分离目录名和文件名的字符是( B ) A. dash (-) B. slash (/) C. period (.) D. asterisk(*) 17. 用"rm -i",系统会提示什么来让你确认( B ) A. 命令行的每个选项 B. 是否真的删除 C. 是否有写的权限 D. 文件的位置 18. 以下哪个命令可以终止一个用户的所有进程( D ) A. skillall B. skill C. kill D. killall 19.在Red Hat Linux 9中,一般用(D )命令来查看网络接口的状态 A. ping B. ipconfig C. winipcfg D ifconfig 20. vi中哪条命令是不保存强制退出( C )(第五章) A. :wq B. :wq! C. :q! D. :quit

Linux课程大作业

Linux课程设计报告 题目 Linux课程大作业 院系 班级 姓名 指导教师 一、基础篇(给出源程序和编译运行的结果)

1、编写一个简单的c语言程序:根据输入的两个整数求平均值并且在终端输出,通过gcc编译器得到它的汇编程序文件。 源代码(c): 源代码(汇编): .file "sum.c" .text .globl average .type average, @function average: .LFB0: .cfi_startproc pushl %ebp .cfi_def_cfa_offset 8 .cfi_offset 5, -8 movl %esp, %ebp .cfi_def_cfa_register 5 subl $8, %esp movl 12(%ebp), %eax movl 8(%ebp), %edx

addl %edx, %eax movl %eax, -4(%ebp) fildl -4(%ebp) fldl .LC0 fdivrp %st, %st(1) leave .cfi_restore 5 .cfi_def_cfa 4, 4 ret .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, @function main: .LFB1: .cfi_startproc pushl %ebp

《Linux操作系统(第2版))》课后习题答案

《Linux操作系统(第2版)》课后习题答案 1.6 练习题 一、选择题 1.Linux最早是由计算机爱好者 B 开发的。 A.RichardPetersen B.LinusTorvalds C.RobPick D.LinuxSarwar 2. 下列C是自由软件。 A.WindowsXP B.UNIX C.Linux D.Windows2000 3. 下列 B 不是Linux 的特点。 A.多任务 B. 单用户 C.设备独立性 D.开放性 4. Linux的内核版本2.3.20 是 A 的版本。 A.不稳定 B.稳定的 C.第三次修订 D.第二次修订 5. Linux安装过程中的硬盘分区工具是 D 。 A.PQmagic B.FDISK C.FIPS D.DiskDruid 6. Linux的根分区系统类型是C。 A.FATl6 B.FAT32 C.ext4 D.NTFS 二、填空题 1.GNU的含义是:GNU'sNotUNIX。 2 . Linux一般有3个主要部分:内核(kernel)、命令解释层(Shell或其他操作环境)、实用工具。 3 . 安装Linux最少需要两个分区,分别是swap交换分区和/(根)分区。 4 . Linux默认的系统管理员账号是root 。 三、简答题(略) 1.简述RedHatLinux系统的特点,简述一些较为知名的Linux发行版本。 2.Linux有哪些安装方式 ?安装RedHatLinux系统要做哪些准备工作? 3.安装RedHatLinux系统的基本磁盘分区有哪些? 4.RedHatLinux系统支持的文件类型有哪些?

2.6 练习题 一、选择题 1. C 命令能用来查找在文件TESTFILE 中包含四个字符的行? A.grep ’????’TESTFILE B.grep ’?.’TESTFILE C.grep ’^????$’TESTFILE D.grep ’^?.$’TESTFILE 2. B 命令用来显示/home 及其子目录下的文件名。 A.ls-a/home B.ls-R/home C.ls-l/home D.ls-d/home 3. 如果忘记了ls 命令的用法,可以采用 C 命令获得帮助 A.?ls B.helpls C.manls D.getls 4. 查看系统当中所有进程的命令是 D 。 A.psall B.psaix C.psauf D.psaux 5. L inux 中有多个查看文件的命令,如果希望在查看文件内容过程中用光标可以上下移 动来查看文件内容,则符合要求的那一个命令是 C 。 A.cat B.more C.les s D.head 6. C 命令可以了解您在当前目录下还有多大空间。 https://www.wendangku.net/doc/8513567419.html,edf B. Usedu/ https://www.wendangku.net/doc/8513567419.html,edu. D. Usedf. 7. 假如需要找出 /etc/my.con f 文件属于哪个包( package ),可以执行 C 命令。 A. rpm-q/etc/my.conf B.rpm-requires/etc/my.conf C. rpm-qf/etc/my.conf D.rpm-q|grep/etc/my.conf 8. 在应用程序启动时, B 命令设置进程的优先级。 A. priori ty B. nice C. topD.、setpri 9. C 命令可以把 f1.txt 复制为f2.txt ? A.cpf1.txt|f2.t xt B. catf1.txt|f2.txt C.catf1.txt>f2.txt D. copyf1.txt|f2.txt 10. 使用B 命令可以查看Linux 的启动信息。 A. mesg –d B. dmesg C. cat/etc/mesg D. cat/var/mesg 二、填空题 1.在Linux 系统中命令区分大小写。在命令行中,可以使用 Tab 键来自动补齐命令。 2. 如果要在一个命令行上输入和执行多条命令,可以使用分号来分隔命令。 3. 断开一个长命令行,可以使用反斜杠“”,以将一个较长的命令分成多行表达, 增 强 命令的可读性。执行后,Shell 自动显示提示符“>”,表示正在输入一个长命令。 4. 要使程序以后台方式执行,只需在要执行的命令后跟上一个“ &”符号。 三、简答题

LInux嵌入式操作系统期末试题

简答题:请简单概括什么是嵌入式系统、并举出嵌入式系统的特点;(6分) 答: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统; 其特点如下: (1)嵌入式系统是面向特定系统应用的。 (2)嵌入式系统涉及计算机技术、微电子技术、电子技术、通信和软件等各个行业; 是一个技术密集、资金密集、高度分散、不断创新的知识集成系统; (3)嵌入式系统的硬件和软件都必须具有高度可定制性;只有这样才能适应嵌入式系统应用的需要,在产 品价格和性能方面具备竞争力; (4)嵌入式系统的生命周期相当长。 (5)嵌入式系统不具备本地系统开发能力,通常需要有一套专门的开发工具和环境。 嵌入式操作系统的优势:1.低成本开发系统 2.可应用多种硬件平台 3.可定制内核 4.性能优异 5.良好的网络支持 linux文件类型:1.普通文件2.目录文件3.链接文件4.设备文件a.块设备文件(硬盘:/dev/hda1)b.字符设备(串行端口接口设备) linux文件属性:访问权限:r:可读w:可写x:可执行用户级别:u:文件拥有者g:所属用户组o:其他用户第一个字符显示文件类型:- 普通 d 目录 l 链接… 简答题:(6分) linux目录结构:/bin 存放linux常用操作命令的执行文件(二进制文件) /boot 操作系统启动时所需要的程序 /dev Linux系统中使用的外部设备 /etc 系统管理时所需要的各种配置文件和子目录 /etc/rc.d Linux启动和关闭时要用到的脚本 /etc/rc.d/init Linux默认服务的启动脚本 /home 系统中默认用户工作根目录 /lib 存放系统动态链接共享库 /mnt软驱、光驱、硬盘的挂载点 /proc存放系统核心与执行程序所需信息、 /root超级用户登陆时的主目录 /sbin 存放管理员常用系统管理程序 /usr存放用户应用程序和文件 /var存放日志信息(答六点即可) 编写一个shell文件:创建studen01 –student30这30个用户,用户组为class1,之后编写shell文件,删除所有用户 操作步骤:1.打开Terminal(终端): 2.输入vi shell 3.输入i 进入编辑模式 4.输入 #!/bin/bash groupadd class1 for((i=1;i<10;i++)) do username=student0$i

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与某个地址进行绑定。

《Linux操作系统》部分习题答案

第一章Linux系统简介 一、思考题 1.UNIX的大部分代码是用一种流行的程序设计语言编写的,该语言是什么? C语言 2.UNIX系统的特点有哪些? ·多任务 ·多用户 ·并行处理能力 ·设备无关性 ·工具 ·错误处理 ·强大的网络功能 ·开放性 3.什么是Linux?其创始人是谁? Linux是一个功能强大的操作系统,同时它也是一个自由软件,是免费的、源代码开放的、可以自由使用的UNIX兼容产品。其创始人是Linus 4.Linux操作系统的诞生、发展和成长过程始终依赖者的重要支柱都有哪些? ·UNIX操作系统 ·MINIX操作系统 ·GNU计划 ·POSIX标准 ·Internet 5.简述Linux系统的特点。 ·自由软件 ·良好的兼容性 ·多用户、多任务 ·良好的界面 ·丰富的网络功能 ·可靠地安全性、稳定性 ·支持多种平台 6.常见的Linux的发行版本有哪些? ·Red Hat Linux ·Caldera OpenLinux ·SuSE Linux ·TurboLinux ·红旗Linux ·中软Linux 二、选择题 1.Linux最初是以MINIX 操作系统为模板而开发出来的。 2.关于Linux内核版本的说法,下列选项中错误的是(C)。 A.表示为主版本号.次版本号.修正号B.1.2.3表示稳定的发行版 C.1.3.3表示稳定的发行版D.2.2.5表示对内核2.2的第5次修正 (补充:次版本号为偶数的是稳定版本;为奇数的则是测试版本。)

3.Linux属于自由软件。 4.自由软件的含义是软件可以自由修改和发布。 5.一下不具有多任务性的操作系统是DOS 第二章Linux系统入门 一、思考题 1.Linux系统有哪些运行级别?其含义是什么? 可用级别为0~6,其中0:关闭系统;6:重新启动,其他略。 2.Linux系统下经常使用的两种桌面环境是什么? GNOME和KDE 3.什么是X-Window系统?它有什么特点? 图形界面(X-Window)是在Linux操作系统中提供的图形化用户界面(GUI),其支持的视窗系统也称为X,它的特点有:它采用了“客户端-服务器”模式;它是一个跨平台的操作环境。 7.默认情况下,超级用户和普通用户的登录提示符分别是什么? # 和$ 二、选择题 1.系统引导的过程一般包括如下的几步:①MBR中的引导装载程序启动。②用户登录。③Linux内核运行。④BIOS自检。正确的顺序是④①③②。 2.Linux中使用Ctrl+Alt+BackSpace 组合键可以关闭X-Window图形用户界面。 3.字符界面下使用init命令关机所用的参数是0 。(参数6是重新启动) 4.字符界面下使用shutdown命令重启计算机时所用的参数是–r 。 5.使用man命令调阅相关的帮助信息时,用于逐页地下翻的功能键是Space 。 第三章shell与shell命令 一、思考题 1.shell的基本功能有哪些? 命令解释执行、文件名替换、输入/输出重定向、连同管道建立、系统环境设置和shell编程。 2.Linux系统中的主要目录有哪些? /:系统的根目录 /dev:系统的设备目录 /home:用户主目录 /root:root用户主目录 /boot:Linux的启动目录 /usr:用户级目录 3.工作目录及其父目录课分别用什么表示? . 和.. 5.常用的shell环境变量有哪些? ·HOME:用户家目录的完全路径名 ·LOGNAME:登录用户名 ·IFS:命令行内部域分割符 ·PATH:由冒号分隔的目录路径名

Linux操作系统期末复习题(含答案)

Linux 期末复习题(一) 一、选择题 (每小题2分,共50分) 2.在Ubuntu Linux中,系统默认的(A)用户对整个系统拥有完全的控制权。 A. root B. guest C. administrator D.supervistor. 3. 当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( B ) A. NID B. PID C. UID D. CID 4. 下面哪个命令是用来定义shell的全局变量( D ) A. exportfs B. alias C. exports D. export 5. 哪个目录存放用户密码信息( B ) A. /boot B. /etc C. /var D. /dev 6. 默认情况下管理员创建了一个用户,就会在( B )目录下创建一个用户主目录。 A. /usr B. /home C. /root D. /etc 7. . 当使用mount进行设备或者文件系统挂载的时候,需要用到的设备名称位于( D )目录。 A. /home B. /bin C. /etc D. /dev 8. 如果要列出一个目录下的所有文件需要使用命令行( C )。 A. ls –l B. ls C. ls –a(所有) D. ls –d 9. 哪个命令可以将普通用户转换成超级用户(D ) A. super B. passwd C. tar D. su 10. 除非特别指定,cp假定要拷贝的文件在下面哪个目录下( D ) A. 用户目录 B. home目录 C. root目录 D. 当前目录 11. 在vi编辑器里,命令"dd"用来删除当前的( A ) A. 行 B. 变量 C. 字 D. 字符 14. 按下(A )键能终止当前运行的命令 A. Ctrl-C B. Ctrl-F C. Ctrl-B D. Ctrl-D 17. 用"rm -i",系统会提示什么来让你确认( B ) A. 命令行的每个选项 B. 是否真的删除 C. 是否有写的权限 D. 文件的位置 18. 以下哪个命令可以终止一个用户的所有进程( D ) A. skillall B. skill C. kill D. killall 19.在Ubuntu Linux中,一般用(D )命令来查看网络接口的状态 A. ping B. ipconfig C. winipcfg D ifconfig 20. vi中哪条命令是不保存强制退出( C )(第五章) A. :wq B. :wq! C. :q! D. :quit 22.在下列分区中,Linux默认的分区是(B ) A. FAT32 B. EXT3 C FAT .D NTFS 24.如果用户想对某一命令详细的了解,可用(C) A. ls B. help (内部) C. man(列举的信息多) D dir 二、填空题 (每空1分,共10分) 26. 在Linux系统中,以_文件的_方式访问设备。 29. 某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限644,该文件属性是目录。 30. 静态路由设定后,若网络拓扑结构发生变化,需由__系统管理员___修改路由的设置。 33. 编写的Shell程序运行前必须赋予该脚本文件__执行___权限。

《Linux操作系统》期末大作业任务书2019

大作业任务书 课程名称:Linux操作系统 题目:Linux期末大作业 专业:计算机科学与技术 班级:计算机185班 学号:6109118148 学生姓名:全昊 完成人数: 起讫日期: 任课教师:李荣鑫职称:副教授 完成时间: 说明 1.本任务书由任课教师填写后,下达到学生。 2.任务完成后,任课教师需填写小结表。 3.任务书、学生成绩与学生完成后的大作业(纸质和电子两种)一 并报送各教学研究部审核后转教务办。 4.另附一份全班大作业总结

《Linux操作系统》期末大作业 (要求将计算机名改为你的名字,以便命令行截图时能看到个人信息,shell编程题的源程序代码的第二行用注释给出个人信息。)1. 写出完成下列操作的Linux命令 (1)给shell脚本文件myshell.sh设置文件主和小组用户拥有可执行权限,其他用户无可执行权限。(若无相应文件可以先创建) #sudo touch mashell.sh #sudo chmod 776 myshell.sh (2)将目录/home/ncu下的所有文件拷贝到/data。(若无相应的目录可以先创建) #sudo cp /home/ncu/* /home/data 拷贝前: (3)安装软件包apache2并查看启动状态。 # sudo apt-get install apache2

(4)将/home/ncu目录打包压缩,生成ncu.tar.gz文件,并将此文件保存到/data目录 #sudo tar -zcvf data/ncu.tar.gz ncu #tar默认使用的是相对路径,如果按照一般习惯书写绝对路径可能导致错误。 (5)删除目录/home/ncu及其下面所有文件。 #rm -rf /home/ncu (6)统计当前目录下普通文件的数目并显示结果。 #ls -lR |grep "^-"|wc -l (7)查询软件mysql是否安装,若没安装,请安装。 #service mysql status 检查数据库服务是否启动 #sudo apt-get install mysql-server

LINUX期末试卷

1、下面不是对Linux操作系统特点描述的是() A、良好的可移植性 B、单用户 C、多用户 D、设备独立性 2、查看创建目录命令mkdir的帮助文档可以使用() A、mkdir -h B、man mkdir C、help mkdir D、info mkdir 3、用标准的输出重定向(>)像”>file01”能使文件file01的数据() A、被复制 B、被移动 C、被覆盖 D、被打印 4、你想显示文件“longfile”的最后10行,下面那个命令是正确的?() A、tail logfile B、head -10 longfile C、taid –d 10longfile D、head longfile 5、下面哪个命令允许对文件重命名() A、rn B、rnamw C、replace D、mv 6、在vi编辑器里,命令“dd”用来删除当前( )。 A、字符 B、行 C、变量 D、字 7、比较重要的系统配置资料,一般来说大部分位于( )目录下。 A、 /etc B、 /boot C、 /home D、 /usr 8、欲把当前目录下的 file1.txt 复制为 file2.txt,正确的命令是() A、copy file1.txt file2.txt B、cat file1.txt > file2.txt C、cat file2.txt file1.txt D、cp file1.txt| file2.txt 9、如何删除一个非空子目录 /tmp。() A、del /tmp/* B、rm -rf /tmp C、rm -Ra /tmp/* D、rm –rf /tmp/* 10、下面哪个命令不能用来显示文本的内容() A、more B、less C、find D、cat 11、一个文件名字为file.gz,可以用哪个命令来解压缩。() A、tar B、gzip C、compress D、bzip2 12、删除文件命令为() A、mkdir B、move C、mv D、rm 13、在给定文件中查找与设定条件相符字符串的命令为() A、grep B、gzip C、find D、sort 14、Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用命令() A、cat B、more C、less D、menu 15、在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项() A、-m B、-p C、-f D、-d 16、关闭linux系统(不重新启动)可使用-命令() A、ctrl+alt+del B、shutdown -r C、halt D、reboot 17、对文件进行归档的命令为() A、gzip B、tar C、dump D、dd 18、下列那一个指令可以设定使用者的密码() A、pwd B、newpwd C、passwd D、password 19、cron 后台常驻程序 (daemon) 用于: a. 负责文件在网络中的共享 b. 管理打印子系统manages the printing subsystem c. 跟踪管理系统信息和错误 d. 管理系统日常任务的调度 (scheduling) 20、下面哪个linux命令可以一次显示一页内容? a. pause b. cat c. more d. grep 21、Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,

linux网络操作系统大作业

1.搭建一个简单的apache+mysql+php组合:点击红帽子—>系统设置-->服务器设置 服务勾上httpd然后点开始之后保存,如图: 在浏览器测试如图:

打开文件夹file:/var/www/html 在其中建一个about.php的文件,代码如下: 打开浏览器测试如图: 点击红帽子—>系统设置-->服务器设置 服务勾上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 ); 建数据库及数据表如图:

linux操作系统(课后习题答案)

1.简述linux的内核版本号的构成。答:由3个部分数字构成,其形式如下 major:表示主版本号,通常在一段时间内比较稳定。minor:表示次版本号,如果是偶数,代表这个内核版本是正式版本,可以公开发行;而如果是奇数,则代表这个内核版本是测试版本,还不太稳定仅供测试。patchlevel:表示修改号,这个数字越大,则表明修改的次数越多,版本相对更完善。 2.如何理解linux发行版本含义它由哪些基本软件构成 答:linux的基础是其内核,但光有内核是无法满足用户需要的,必须构成发行套件,即发行版。 系统引导管理程序(Boot Manager、用户界面、X-Window系统、系统管理、Internet服务、文件和打印服务、应用程序、工具和库程序的运用领域主要有哪些答:Intranet 、服务器、嵌入式系统、集群计算机等方面主要特点。 答:多用户、多任务、多平台、漂亮的用户界面、硬件支持、强大的通信和联网功能、应用程序支持 Window由哪3个部分组成分别有何功能 答:Server(服务器)、Client(客服端)、通信通道 Server:控制实际显示器和输入设备的程序。Client:Client是使用系统窗口功能的一些应用程序。通信通道:负责Server与Client之间的信息传输。 5.什么是桌面环境linux下的桌面环境主要有哪两种 答:为用户管理系统、配置系统、运行应用程序等提供统一的操作平台。Linux最常用的桌面环境:KDE和GNOME。 6.在GNOME桌面环境下如何获取帮助信息 答:(1)GNOME桌面环境提供帮助浏览器程序help,单击【主菜单】——【帮助】命令即可启动,单击文字链接可查看相关的联机帮助信息。(2)如果已安装文档光盘,则可单击【主菜单】——【文档】命令,选择查看已安装的文档。(3)当运行运用程序时,单击该程序的【帮助】——【目录】或者【目录内容】也可查看该程序的帮助信息。(4)默认情况下linux所安装的每一个应用程序都会在/usr/share/doc目录下放置该程序的帮助信息文件。因此,用户可直接浏览次目录中相关程序的帮助信息。 7.如何从GNOME桌面环境切换到KDE桌面环境答:在GNOME中启动运行命令,然后输入命令switchdesk,打开switchdesk桌面切换工具,然后选择KDE命令,设置完成后需要重新启动系统才生效。 O设备怎样分类从资源的角度来看,I/O设备可分为哪几类设备 答:按设备的所属关系两类:系统设备、用户设备。按设备的信息交换的单位两类:字符设备、块设备。 按设备的共享属性可分为三类:独占设备、共享设备、虚拟设备。 9.设备管理的目标和功能是什么 答:选择和分配I/O设备以便进行数据传输操作。控制I/O设备和CPU(或内存)之间交换数据。为用户提供一个友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,由系统按用户的要求来对设备的工作进行控制。提高设备和设备之间、CPU和设备之间以及进程和进程之间的并行操作程度,以使操作系统获得最佳效率。功能:提供和进程管理系统的接口、进行设备分配、实现设备和设备、设备和CPU等之间的并行操作、进行缓冲管理、设备控制与驱动 10.什么是DMA方式简述采用DMA方式进行数据传输的过程。 答:DMA方式是:在外部设备和内存之间开辟直接的数据交换通路。(1)外设可通过DMA控制器向CPU发出DMA请求:(2)CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;(3)由DMA控制器发送存储器地址,并决定传送数据块的长度;(4)执行DMA传送; (5)DMA操作结束,并把总线控制权交还CPU。 11.什么叫通道技术通道的作用是什么 答:通道是独立于中央处理器的,专门负责数据I/O传输工作的理单元。通道对外部设备实行统一管理,它代替CPU对I/O操作进行控制,从而使CPU和外部设备可以并行工作。所以通道又称为I/O处理机。 12.什么是缓冲为什么要引入缓冲答:缓冲技术是用在外部设备与其他硬件部件之间的一种数据暂存技术,它利用存储器件在外部设备中

Linux操作系统期末复习资料

电信2012级《Linux操作系统》期末复习提纲第1章概述 操作系统的概念与功能 操作系統的概念: 1.操作系统是计算机系统的一种基本软件,它直接管理和控制计算机的硬件和软件资源,合理地调度资源,使之得到充分的利用;并为用户使用这些资源提供一个便当的操作环境和优良的用户界面。 2.从资源角度看,操作系统是管理和控制计算机资源的软件。 3.从用户角度看,操作系统是用户与计算机的接口。 操作系統的功能: 1.处理器管理:在多道程序间分配和调度CPU,协调各程序的运行。 2.存储器管理:对内存储器进行分配、保护和扩充。 3.设备管理:对设备进行有用地管理和分配,并控制设备完成I/O操作。 4.文件管理:管理文件的存储和检索操作,并对文件实施共享、保密和保护措施。 5.用户接口:提供使用界面,便当用户使用系统功能。 Linux系统的特点 1.继承UNIX优秀品质,具有出色的性能和稳定性; 2.遵照GPL许可,自由软件; 3.符合POSIX标准,兼容性好; 4.适用于各种硬件平台,可移植性好; 5.网络功能强大;

6.安全性好。第2章Linux操作基础 命令的格式; 命令名[选项1] [选项2] ... [参数1] [参数2] ... 简单命令的功能与用法:echo、who、date、cal 文件系统概念: 文件命名与通配符 1.文件的命名:Linux文件名的最大长度是255个字符,通常由字母、数字、‘.’、‘_’和‘-’组成。以‘.’开头的文件是隐含文件。 2.文件名中不能含有‘/ ’字符和空字符‘\0’,因为它们对Linux内核具有分外含义。如‘/ ’表示根目录或路径分隔符。 3.文件名中不应含有以下字符,因为它们对Shell具有分外含义:; | < > ` “ “$ ! % & * ? \ ( ) [ ] 文件类型及表示法 1.普通文件(-):包括文本文件、数据文件、可执行的二进制程序等。 2.目录文件(d):一种分外的文件,用于构成文件系统的分层树型结构。 每个目录文件中至少包括两个文件,“..”表示上一级目录,“.”表示该目录本身。 3.设备文件:一种分外文件,Linux系统利用它们来标识各个设备驱动器,核心使用它们与硬件设备通信。有两类特别的设备文件:字符设备(c)和块设备(b)。 文件(包括目录)权限的含义及表示法(字符和数字表示法)

Linux操作系统部分复习题答案

第一章 Linux系统简介 一、思考题 1.UNIX的大部分代码是用一种流行的程序设计语言编写的,该语言是什么? C语言 2.UNIX系统的特点有哪些? ·多任务 ·多用户 ·并行处理能力 ·设备无关性 ·工具 ·错误处理 ·强大的网络功能 ·开放性 3.什么是Linux?其创始人是谁? Linux是一个功能强大的操作系统,同时它也是一个自由软件,是免费的、源代码开放的、可以自由使用的UNIX兼容产品。其创始人是Linus 4.Linux操作系统的诞生、发展和成长过程始终依赖者的重要支柱都有哪些? ·UNIX操作系统 ·MINIX操作系统 ·GNU计划 ·POSIX标准 ·Internet 5.简述Linux系统的特点。 ·自由软件 ·良好的兼容性 ·多用户、多任务 ·良好的界面 ·丰富的网络功能 ·可靠地安全性、稳定性 ·支持多种平台 6.常见的Linux的发行版本有哪些? ·Red Hat Linux ·Caldera OpenLinux ·SuSE Linux ·TurboLinux ·红旗Linux ·中软Linux 二、选择题 1.Linux最初是以MINIX 操作系统为模板而开发出来的。 2.关于Linux内核版本的说法,下列选项中错误的是(C)。 A.表示为主版本号.次版本号.修正号B.1.2.3表示稳定的发行版 C.1.3.3表示稳定的发行版D.2.2.5表示对内核2.2的第5次修正(补充:次版本号为偶数的是稳定版本;为奇数的则是测试版本。)

3.Linux属于自由软件。 4.自由软件的含义是软件可以自由修改和发布。 5.一下不具有多任务性的操作系统是DOS 第二章 Linux系统入门 一、思考题 1.Linux系统有哪些运行级别?其含义是什么? 可用级别为0~6,其中0:关闭系统;6:重新启动,其他略。 2.Linux系统下经常使用的两种桌面环境是什么? GNOME和KDE 3.什么是X-Window系统?它有什么特点? 图形界面(X-Window)是在Linux操作系统中提供的图形化用户界面(GUI),其支持的视窗系统也称为X,它的特点有:它采用了“客户端-服务器”模式;它是一个跨平台的操作环境。 7.默认情况下,超级用户和普通用户的登录提示符分别是什么? # 和 $ 二、选择题 1.系统引导的过程一般包括如下的几步:①MBR中的引导装载程序启动。②用户登录。③Linux内核运行。④BIOS自检。正确的顺序是④①③②。 2.Linux中使用Ctrl+Alt+BackSpace 组合键可以关闭X-Window图形用户界面。 3.字符界面下使用init命令关机所用的参数是0 。(参数6是重新启动) 4.字符界面下使用shutdown命令重启计算机时所用的参数是–r 。 5.使用man命令调阅相关的帮助信息时,用于逐页地下翻的功能键是Space 。 第三章 shell与shell命令 一、思考题 1.shell的基本功能有哪些? 命令解释执行、文件名替换、输入/输出重定向、连同管道建立、系统环境设置和shell编程。 2.Linux系统中的主要目录有哪些? /:系统的根目录 /dev:系统的设备目录 /home:用户主目录 /root:root用户主目录 /boot:Linux的启动目录 /usr:用户级目录 3.工作目录及其父目录课分别用什么表示? . 和 .. 5.常用的shell环境变量有哪些? ·HOME:用户家目录的完全路径名 ·LOGNAME:登录用户名 ·IFS:命令行内部域分割符 ·PATH:由冒号分隔的目录路径名

linux期末考试练习题 2

一、单项选择题 1、下面不是对Linux操作系统特点描述的是() A、良好的可移植性 B、单用户 C、多用户 D、设备独立性 2、查看创建目录命令mkdir的帮助文档可以使用() A、mkdir -h B、man mkdir C、help mkdir D、info mkdir 3、用标准的输出重定向(>)像”>file01”能使文件file01的数据() A、被复制 B、被移动 C、被覆盖 D、被打印 4、你想显示文件“longfile”的最后10行,下面那个命令是正确的?() A、tail logfile B、head -10 longfile C、taid –d 10longfile D、head longfile 5、下面哪个命令允许对文件重命名() A、rn B、rnamw C、replace D、mv 6、在vi编辑器里,命令“dd”用来删除当前( )。 A、字符 B、行 C、变量 D、字 7、比较重要的系统配置资料,一般来说大部分位于( )目录下。 A、 /etc B、 /boot C、 /home D、 /usr 8、欲把当前目录下的 file1.txt 复制为 file2.txt,正确的命令是() A、copy file1.txt file2.txt B、cat file1.txt > file2.txt C、cat file2.txt file1.txt D、cp file1.txt| file2.txt 9、如何删除一个非空子目录 /tmp。() A、del /tmp/* B、rm -rf /tmp C、rm -Ra /tmp/* D、rm –rf /tmp/* 10、下面哪个命令不能用来显示文本的内容() A、more B、less C、find D、cat 11、一个文件名字为file.gz,可以用哪个命令来解压缩。() A、tar B、gzip C、compress D、bzip2

linux大作业

武汉轻工大学 数学与计算机学院 2019-2020学年第一学期 Linux大作业 指导老师: ** 专业:信息管理与信息系统 班级:信管1601班 学号: *********** 姓名: ** 2019年10月29 日

历史 1991年,还在芬兰赫尔辛基大学上学的Linus Torvalds在自己的Intel 386计算机上开发了属于他自己的第一个程序,并利用Internet发布了他开发的源代码,将其命名为Linux,从而创建了Linux操作系统,并在同年公开了Linux的代码,从而开启了一个伟大的时代。在之后的将近30年的时间里,越来越多的工程师投入到Linux,帮助不断完善Linux的功能。现在的Linux系统架构凭借优秀的分层和模块化的设计,融合了大量的设备和不同的物理架构。 这篇文章,也是对Linux系统的一个非常简单的介绍,主要讲解Linux的进程调度、内存管理、设备驱动、文件系统、网络模块。 Linux内核架构图 上图就是Linux内核的架构图,从硬件层--->操作系统内核--->应用层,这套系统架构的设计应用于各类软硬件结合的系统上,比如物联网系统,单片机系统、机器人等领域。 进程调度 进程在Linux系统中称为process或task。操作系统中进程的数据结构包含很多元素,诸如:地址空间、进程优先级、进程状态、信号量、占用的文件等,往往用链表链接。CPU在每个系统滴答(Tick)中断产生的时候检查就绪队列里边的进程(遍历链表中的进程结构体),如有符合调度算法的新进程需要切换,保存当前运行的进程的信息(包括栈、地址等)后挂起当前进程,然后运行新的进程,这就是进程调度。 CPU调度的基本依据是进程的优先级。调度的终极目标是让高优先级的进程能及时得到CPU的资源,低优先级的任务也能公平的分配到CPU资源。不过因为保存当前进程的信息所以进程的切换本身是有成本的,调度算法同样需要考虑效率。 在早期Linux内核中,就是采用轮询算法来实现的,内核在就绪的进程队列中选择高优先级的进程执行,每次运行相等时间,该算法简单直观,但仍然会导致一些低优先级的进程长时间不能执行。为了提高调度的公平性,在后来Linux内核(2.6)中,引入了CFS调度器算法。 CFS引入虚拟运行时间的概念,虚拟运行时间用task_struct->se.vruntime表示,通过它来记录和度量进程应该获得的CPU运行时间。在理想的调度情况下,任何时候所有的进程都应该有相同的task_struct->se.vruntime值。因为每个进程都是并发执行,没有进程会超过理想状态下应该占有的CPU时间。CFS选择需要运行的进程的逻辑基于task_struct->se.vruntime值,它总是选择task_struct->se.vruntime值最小的进程来运行(为了公平)。 CFS使用基于时间排序的红黑树来为将来进程的执行时间线。所有的进程按task_struct->se.vruntime关键字排序。CFS从树中选择最左边的任务执行。随着系统运行,执行过的进程会被放到树的右侧,逐步让每个任务都有机会成为最左边的进程,从而让每个进程都能获取CPU资源。

相关文档