linux操作系统实验三

合集下载

操作系统实验,实验3, 进程管理 (1)

操作系统实验,实验3, 进程管理 (1)

在图形界面上利用终端通过命令“su - ”切换到超级用户,编辑文件 “job”; 按组合键[Ctrl+Alt+F2]切换到第二个虚拟终端(超级用户); 输入命令“at –f job now+1 minute”,设置1分钟后执行at调度内容; 稍等后观察at调度的执行效果,再切换到第一个虚拟终端观察at调度 的执行效果;
切换到第一个虚拟终端观察at调度的执行效果(5分钟后系统将执行重 启调度任务)。
[操作要求2] 设置一个调度,要求1分钟后执行文件job中的作业。 文件job的内容为: find /home/jkx/ -name “*.c” > /home/jkx/fdresult wall user jkx, all code files have been searched out! Please check out. [操作步骤]
续表
守 护 进 程 innd Usenet新闻服务器 功 能 说 明
linuxconf
lpd named netfs network
允许使用本地WEB服务器作为用户接口来配置机器
打印服务器 DNS服务器 安装NFS、Samba和NetWare网络文件系统 激活已配置网络接口的脚本程序
nfsd
portmap postgresql routed sendmail
事件(例如xinetd和lpd)
启动守护进程有如下几种方法
在引导系统时启动 人工手动从shell提示符启动
系统启动script的执行期间 被启动(/etc/rc.d) 任何具有相应执行 权限的用户
使用crond守护进程启动
执行at命令启动
守护进程一般由系统在开机时通过脚本或root

操作系统 实验三 进程同步

操作系统 实验三 进程同步

集美大学计算机工程学院实验报告课程名称:操作系统指导教师:王丰实验成绩:实验编号:实验三实验名称:进程同步班级:计算12姓名:学号:上机实践日期:2015.5上机实践时间:2学时一、实验目的1、掌握用Linux信号灯集机制实现两个进程间的同步问题。

2、共享函数库的创建二、实验环境Ubuntu-VMware、Linux三、实验内容⏹需要的信号灯: System V信号灯实现☐用于控制司机是否可以启动车辆的的信号灯 S1=0☐用于控制售票员是否可以开门的信号灯 S2=0System V信号灯实现说明□ System V的信号灯机制属于信号灯集的形式, 一次可以申请多个信号灯.□同样利用ftok()生成一个key: semkey=ftok(path,45);□利用key申请一个包含有两个信号灯的信号灯集, 获得该集的idsemid=semget(semkey,2,IPC_CREAT | 0666);□定义一个联合的数据类型union semun{int val;struct semid_ds *buf;ushort *array;};□利用semctl()函数对信号灯初始化,参数有:信号灯集的id: semid要初始化的信号灯的编号:sn要设定的初始值:valvoid seminit(int semid, int val,int sn){union semun arg;arg.val=val;semctl(semid,sn,SETVAL,arg);}利用初始化函数,初始化信号灯:seminit(semid,0,0);//用来司机启动汽车的同步seminit(semid,0,1);//用来售票员开门的同步控制□利用semop()函数, 对信号灯实现V操作:sembuf是一个在头部文件中的预定义结构、semid—信号灯集id, sn—要操作的信号灯编号void semdown(int semid,int sn){/* define P operating*/struct sembuf op;op.sem_num=sn;op.sem_op=-1;//P操作为-1op.sem_flg=0;semop(semid,&op,1);}2、Linux的静态和共享函数库·Linux生成目标代码: gcc -c 源程序文件名(将生成一个与源程序同名的.o目标代码文件。

Linux实验3

Linux实验3

福建农林大学实验报告系:专业:年级:姓名:学号:实验室号__ 计算机号实验时间:指导教师签字:成绩:实验三用户管理一、实验目的和要求1) 掌握在Linux系统下利用命令方式实现用户和组的管理;2) 掌握批量创建用户的方法。

二、实验内容和原理1.用户的管理●创建一个新用户user01,设置其主目录为/home/user01。

●查看/etc/passwd文件的最后一行,看看是如何记录的。

●查看文件/etc/shadow文件的最后一行,看看是如何记录的。

●给用户user01设置密码。

●再次查看文件/etc/shadow文件的最后一行,看看有什么变化。

●使用user01用户登录系统,看能否登录成功。

●锁定用户user01。

●查看文件/etc/shadow文件的最后一行,看看有什么变化。

●再次使用user01用户登录系统,看能否登录成功。

●解除对用户user01的锁定●更改用户user01的帐户名为user02。

●查看/etc/passwd文件的最后一行,看看有什么变化。

●删除用户user02。

2.组的管理●创建一个新组,stuff。

●查看/etc/group文件的最后一行,看看是如何设置的。

●创建一个新帐户user02,并把他的主要组和附属组都设为stuff。

●查看/etc/group文件中的最后一行,看看有什么变化。

●给组stuff设置组密码。

●在组stuff中删除用户user02。

●再次查看/etc/group文件中的最后一行,看看有什么变化。

3.用桌面操作创建用户和组●进入X-Window图形界面。

●打开控制面板,启动用户和组群管理子程序,在打开的界面中练习用户、组的设置。

4.批量添加用户a)将07级计算机专业的50名学生,添加到Linux系统中,让他们成为student组的成员。

用户名格式为:s07001-s07030;学生的初始密码为:stu001-stu030,请参考P125的7个步骤,完成添加并设置用户的操作,记录各步骤的结果和相应的文件内容。

16207318邓嘉操作系统实验三

16207318邓嘉操作系统实验三

操作系统实验第三次实验进程同步实验指导老师:***学号:********姓名:***操作系统第三次实验进程同步实验指导老师:谭朋柳学生:16207318邓嘉4.1 实验目的加深对并发协作进程同步与互斥概念的理解,观察和体验并发进程同步与互斥操作的效果,分析与研究经典进程同步与互斥问题的实际解决方案。

了解Linux 系统中IPC 进程同步工具的用法,练习并发协作进程的同步与互斥操作的编程与调试技术。

4.2 实验说明在linux 系统中可以利用进程间通信(interprocess communication )IPC 中的3 个对象:共享内存、信号灯数组、消息队列,来解决协作并发进程间的同步与互斥的问题。

1)共享内存是OS 内核为并发进程间交换数据而提供的一块内存区(段)。

如果段的权限设置恰当,每个要访问该段内存的进程都可以把它映射到自己私有的地址空间中。

如果一进程更新了段中数据,那么其他进程立即会看到这一更新。

进程创建的段也可由另一进程读写。

linux 中可用命令ipcs -m 观察共享内存情况。

$ ipcs -m------ Shared Memory Segments --------key shmid owner perms bytes nattch status 0x00000000 327682 student 600 393216 2 dest0x00000000 360451 student 600 196608 2 dest 0x00000000 393220 student 600 196608 2 destkey 共享内存关键值shmid 共享内存标识owner 共享内存所由者(本例为student)perm 共享内存使用权限(本例为student 可读可写)byte 共享内存字节数nattch 共享内存使用计数status 共享内存状态上例说明系统当前已由student 建立了一些共享内存,每个都有两个进程在共享。

实验三 Linux常用命令

实验三   Linux常用命令

实验三Linux常用命令完成时间:姓名:一.实验目的:2.熟悉Linux操作环境。

二.实验内容:练习使用Linux常用命令。

三.实验要求:完成练习题,书写实验小结,保存后提交到作业服务器上。

四.实验练习题:1)文件和目录类命令:●启动计算机,利用root用户登录到系统,进入字符界面。

●用pwd命令查看当前所在的目录,转换到系统/目录。

●用ls命令列出此目录下的文件和目录,其显示的总数为(20)个,再用ls –a显示,ls –al显示,练习ls的其他参数显示效果,比较结果的不同。

●在系统/目录下,创建测试目录test,其命令为(cd /然后在系统目录下输入mkdirtest)。

如实验图。

●利用ls命令列出文件和目录,确认test目录创建成功。

●进入test目录,查看当前目录的命令为(pwd),其结果为(/test)。

●利用touch命令,在当前目录创建两个新的空文件newfile,myfile,其命令为(touch newfile myfile)。

●利用cp命令复制系统文件/test/myfile到/etc目录下,其命令为(cp -i/test/myfile /etc)。

●复制文件myfile为一个新文件myfile.bak,作为备份,其命令为(cp /ect/myfile ect/myfile.bak)。

●复制/etc/inittab文件到test目录下,其命令为(cp /etc/inittab /test/)。

●用长格形式列出test目录下的所有文件,注意比较每个文件的长度和创建时间的不同。

命令为(cd /test 进入test目录然后键入 ls –l命令就可以以长格形式显示当前目录下所有的文件和目录)。

●删除文件myfile.bak(rm –r myfile.bak)●把文件myfile改名为myfile.new,命令为(cp /test/myfile/etc/myfile.new )。

●显示当前目录下的文件和目录列表,确认重命名成功。

linux实验系统实验报告

linux实验系统实验报告

linux实验系统实验报告Linux实验系统实验报告一、引言Linux实验系统是一个基于Linux操作系统的实验平台,旨在提供一个实践学习的环境,帮助学生深入了解Linux操作系统的原理和应用。

本实验报告旨在总结和分析我在使用Linux实验系统进行实验时的经验和收获。

二、实验环境1. 硬件环境:我使用的是一台配备Intel Core i5处理器和8GB内存的个人电脑。

2. 软件环境:我下载并安装了Linux实验系统的最新版本,该版本基于Ubuntu操作系统,并预装了一系列常用的开发工具和软件包。

三、实验内容1. 实验一:Linux基础命令的使用在这个实验中,我通过终端窗口使用了一些常用的Linux命令,如ls、cd、mkdir、rm等。

通过实际操作,我熟悉了Linux文件系统的结构和基本操作,掌握了如何在Linux中创建、删除和移动文件夹,以及如何查看文件和文件夹的属性。

2. 实验二:Shell脚本编程这个实验要求我们使用Shell脚本编写一个简单的程序,实现对指定文件夹中所有文件进行备份的功能。

通过这个实验,我学会了如何使用Shell编程语言,掌握了一些基本的语法和命令,比如if语句、for循环和cp命令。

我还学会了如何将Shell脚本保存为可执行文件,并在终端中运行。

3. 实验三:网络配置与管理这个实验主要涉及Linux系统的网络配置和管理。

我学会了如何配置网络接口,包括设置IP地址、子网掩码和网关。

我还学会了如何使用ping命令测试网络连接,以及如何使用ifconfig命令查看和管理网络接口的状态。

通过这个实验,我对Linux系统的网络配置有了更深入的了解。

四、实验收获通过使用Linux实验系统进行实验,我获得了以下收获:1. 对Linux操作系统有了更深入的了解:通过实际操作,我对Linux操作系统的基本原理和文件系统有了更深入的了解。

我学会了如何在Linux中进行文件和文件夹的管理,以及如何使用命令行界面进行各种操作。

实验3 Linux文件与目录管理(1)

实验3   Linux文件与目录管理(1)

实验3 Linux文件与目录管理一、实验内容练习Linux文件和目录操作命令。

二、实验目的掌握文件与目录管理命令掌握文件内容查阅命令三、实验题目1. 文件与目录管理(1) 查看CentOS根目录下有哪些内容?(2) 进入/tmp目录,以自己的学号建一个目录,并进入该目录。

(3) 显示目前所在的目录。

(4) 在当前目录下,建立权限为741的目录test1,查看是否创建成功。

(5) 在目录test1下建立目录test2/teat3/test4。

(6) 进入test2,删除目录test3/test4。

(7) 将root用户家目录下的.bashrc复制到/tmp下,并更名为bashrc(8) 重复步骤6,要求在覆盖前询问是否覆盖。

(9) 复制目录/etc/下的内容到/tmp下。

(10) 在当前目录下建立文件aaa。

(11)查看该文件的权限、大小及时间(12) 强制删除该文件。

(13) 将/tmp下的bashrc移到/tmp/test1/test2中。

(14) 将/test1目录及其下面包含的所有文件删除。

2. 文件内容查阅、权限与文件查找(1) 使用cat命令加行号显示文件/etc/issue的内容。

(2) 反向显示/etc/issue中的内容。

(3) 用nl列出/etc/issue中的内容。

(4) 使用more命令查看文件/etc/man.config(5) 使用less命令前后翻看文件/etc/man.config中的内容(6) 使用head命令查看文件/etc/man.config前20行(7) 使用less命令查看文件/etc/man.config后5行(8) 查看文件/etc/man.config前20行中后5行的内容(9) 将/usr/bin/passwd中的内容使用ASCII方式输出(10) 进入/tmp目录,将/root/.bashrc复制成bashrc,复制完全的属性,检查其日期(11) 修改文件bashrc的时间为当前时间四、实验指导1. 文件与目录管理(1) 查看CentOS根目录下有哪些内容?ls /(2) 进入/tmp目录,以自己的学号建一个目录,并进入该目录。

中科大软院实验Linux Lab3

中科大软院实验Linux Lab3

Linux 实验三1.分析从schedule()开始,说明几种不同类型的进程之间的调度选择;在相同类型的进程之间的调度选择算法答:在每个进程的task_struct结构中有以下四项policy、priority、counter、rt_priority。

这四项是选择进程的依据。

其中,policy是进程的调度策略,用来区分实时进程和普通进程,实时进程优先于普通进程运行;priority是进程(包括实时和普通)的静态优先级;counter是进程剩余的时间片,它的起始值就是priority的值;由于counter在后面计算一个处于可运行状态的进程值得运行的程度goodness时起重要作用,因此,counter 也可以看作是进程的动态优先级。

rt_priority 是实时进程特有的,用于实时进程间的选择。

当policy分别为以下值时:1) SCHED_OTHER:这是普通的用户进程,进程的缺省类型,采用动态优先调度策略,选择进程的依据主要是根据进程goodness值的大小。

这种进程在运行时,可以被高goodness值的进程抢先。

2) SCHED_FIFO:这是一种实时进程,遵守POSIX1.b标准的FIFO(先入先出)调度规则。

它会一直运行,直到有一个进程因I/O阻塞,或者主动释放CPU,或者是CPU被另一个具有更高rt_priority的实时进程抢先。

在Linux实现中,SCHED_FIFO 进程仍然拥有时间片-只有当时间片用完时它们才被迫释放CPU。

因此,如同POSIX1.b一样,这样的进程就象没有时间片(不是采用分时)一样运行。

Linux中进程仍然保持对其时间片的记录(不修改counter)主要是为了实现的方便,同时避免在调度代码的关键路径上出现条件判断语句if (!(current->policy&SCHED_FIFO)){...}-要知道,其他大量非FIFO进程都需要记录时间片,这种多余的检测只会浪费CPU 资源。

实验三 Linux操作系统安全实验 (一)

实验三 Linux操作系统安全实验 (一)

实验三Linux操作系统安全一、实验目的及要求(一)实验目的通过实验熟悉Linux环境下的用户管理、进程管理以及文件管理的相关操作命令。

掌握linux操作系统中相关的系统安全配置方法,建立linux操作系统的基本安全框架。

(二)实验要求根据实验中介绍的Linux操作系统的各项安全性实验要求,详细观察记录设置前后系统的变化,给出分析报告。

使用RPM对系统的软件进行管理,验证系统内软件的完整性,并分析结果。

试比较Linux下网了服务安全设置与Windows下安全设置异同。

二、实验环境安装Red hat9.0操作系统的计算机一台三、实验内容1、账户和口令安全2、文件系统管理安全3、查看和更改PAM模块设置4、RPM软件管理5、系统安全配置四、实验步骤任务一账户和口令安全1、查看和添加账户(1)在X_Windows窗口中单击鼠标右键,选择“信件中断”,输入下面的命令行:[root@localhost root]#useradd mylist利用useradd命令新建名为mylist的新账户。

(2)输入命令行:[root@localhost root]#cat/etc/shadow利用cat查看系统中的账户列表。

用su命令切换到新建的账户,重复步骤(2),检查shadow文件的权限设置是否安全。

设置安全时,普通用户mylist应该没有查看该系统文件的权限。

在终端中出现如下的提示:Cat:/etc/shadow:权限不够2、添加和更改密码(1)在终端输入[root@localhost root]#passwd mylist为新建账户添加密码。

注意:系统管理员无需输入原来密码即可以利用passwd命令添加或改变任意用户的密码,但普通用户只能改变自己的密码。

(2)输入后依次出现如下提示:Changjing passwd for user mylist.New passwd:Retype new passwd:Passwd:all authentication tokens updated susscessfully.输入密码,Linux系统不会将输入显示出来。

Linux实验三讲解

Linux实验三讲解

常熟理工学院《Linux程序设计》实验报告 _____ —______ 学年第—学期专业____________________________班级____________________________学号_____________________________姓名_____________________________实验地点_________________________指导教师刘在德_____________计算机科学与工程学院实验要求1.每次实验前,认真复习与本次实验有关的教学内容,认真预习本次实验内容。

2.按照实验要求认真完成实验,把实验内容详细记入实验报告。

3.每一次新实验,实验报告另起一页。

4.报告封面要求(1)信息填写完整;(2)下划线右对齐,力求做到美观大方。

5.打印实验报告(包括封面及本页),装订成册。

6.严谨抄袭,如果有n 人实验报告内容雷同,每人得分为总分除以n。

实验三Liunx 常用Shell 命令(四号黑体)掌握Linux 常用目录操作命令。

掌握Linux 常用文件处理命令。

掌握Linux 常用文件备份命令。

掌握Linux 常用关机重启命令。

掌握Linux 其他常用命令。

进入用户家目录,调用Is 命令列出当前目录或指定目录的文件信息, 试“Is -I [目录]”,以及显示某一类文件的方法,比如“ Is -I ”。

fnsnfn^viirtuial-nuchlne:-曲—片 frisfpfnj-vlrtyal-nuchliw: *TE :总用垃4卓面; 总用H 9f n sflf m x - virtual --macht n>e : -«$- 1$sx^ples.deiktofi ”扯莊的樓板幔频图片文岂下载音馬JI 面 ffis^rns-wtrtiial-flfielilhie:-$ cat ?-hellc.E hello wrldI good d^ylEOFfnsifns^virtuil^-Rschtr»f :™$ "t lifllOrCwQrld Iqzl dAy tEOFfnsfifns-wlLirtual-naehlnie^^ Is -L *□£ -rw-rw-r-- 1 fns fns 17 11 17:ee fiell&.c fn E®fn E -virtual -nachi r^t : -$ I进入用户家目录,调用cd 命令进入指定目录,重点测试进入 root 目录、父 目录、当前用户家目录、前一个目录。

Linux操作系统实验指导书.doc

Linux操作系统实验指导书.doc

《Linux操作系统》实验指导书主编教师:王振目录实验一Linux操作系统的安装 (3)【实验目的】 (3)【实验环境】 (3)【实验重点及难点】 (3)【实验内容】 (3)实验二常用命令的使用(一) (5)【实验目的】 (5)【实验环境】 (5)【实验重点及难点】 (5)【实验内容】 (5)实验三常用命令的使用(二) (9)【实验目的】 (9)【实验环境】 (9)【实验重点及难点】 (9)【实验内容】 (9)实验四VI编辑器的使用 (14)【实验目的】 (14)【实验环境】 (14)【实验重点及难点】 (14)【实验内容】 (14)实验五Linux系统管理与配置 (15)【实验目的】 (15)【实验环境】 (16)【实验重点及难点】 (16)【实验内容】 (16)(一)命令行管理 (16)(二)图形界面管理 (17)实验六shell编程(一) (19)【实验目的】 (19)【实验环境】 (19)【实验重点及难点】 (19)【实验内容】 (19)实验七shell编程(二) (23)【实验目的】 (23)【实验环境】 (23)【实验重点及难点】 (23)【实验内容】 (23)实验八FTP服务器的配置 (25)【实验目的】 (25)【实验环境】 (25)【实验重点及难点】 (25)【实验内容】 (25)实验九NFS服务器 (26)【实验目的】 (26)【实验环境】 (26)【实验重点及难点】 (26)【实验内容】 (26)实验十配置Samba服务器 (28)【实验目的】 (28)【实验环境】 (28)【实验重点及难点】 (28)【实验内容】 (28)实验一Linux操作系统的安装【实验目的】1.掌握Linux操作系统的安装;2.通过安装,学习Linux操作系统与其他操作系统的区别。

【实验环境】1、Linux操作系统安装;2、虚拟机软件;3、计算机内存配置要求512M以上。

【实验重点及难点】Linux操作系统安装过程。

linux实验三Shell编程

linux实验三Shell编程

linux实验三Shell编程实验三:Shell编程一.实验目的巩固所学的Linux下shell编程语言,熟悉Shell脚本。

二.实验内容1.建立一个test目录2.进入此test目录3.新建文件test1,运行下面shell脚本#!/bin/sha = "hello world"echo $a回答此脚本运行结果4.下面两种脚本,哪一个能够输出语句this is the 2nd①num=2echo "this is the $numnd"②num=2echo "this is the ${num}nd"5.若有如下shell脚本注意:空格很重要。

要确保方括号里的空格#!/bin/shif [ "$SHELL" = "/bin/bash" ]; thenecho "your login shell is the bash (bourne again shell)" else echo "your login shell is not bash but $SHELL"fi①请回答此脚本中提到的环境变量②请回答此脚本的功能6.若有如下shell脚本#!/bin/shn=0while read line;dolet "a+=$line"let "n+=1"done < filetest.txtecho $necho $a①请回答此脚本中是否包含循环,若有实现什么操作?②请回答此脚本的功能7.①新建文件test2,运行下面shell脚本#!/bin/bashecho "Your choice?"select var in "a" "b" "c"; dobreakdoneecho $var请回答此脚本运行结果②给出你对下面脚本的理解#!/bin/shecho "What is your favourite OS?"select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do breakdoneecho "You have selected $var"8.阅读下面脚本#!/bin/shhelp(){cat <This is a generic command line parser demo.USAGE EXAMPLE: cmdparser -l hello -f -- -somefile1somefile2HELPexit 0}while [ -n "$1" ]; docase $1 in-h) help;shift 1;; # function help is called-f) opt_f=1;shift 1;; # variable opt_f is set-l) opt_l=$2;shift 2;; # -l takes an argument -> shift by 2--) shift;break;; # end of options-*) echo "error: no such option $1. -h for help";exit 1;;*) break;;esacdoneecho "opt_f is $opt_f"echo "opt_l is $opt_l"echo "first arg is $1"echo "2nd arg is $2"注意:shift作用是移除当前参数,若shift 2则移除当前和下一个参数①此shell中case语句试图实现什么功能?②若将shell保存为cmdparser,则执行cmdparser -l hello -f -- -somefile1 somefile2会有什么结果?9.阅读下面shell脚本#!/bin/bashif [ $# -lt 3 ]; thencat<<help< p="">ren -- renames a number of files using sed regular expressionsUSAGE: ren 'regexp' 'replacement' filesEXAMPLE: rename all *.HTM files in *.html:ren 'HTM$' 'html' *.HTMHELPexit 0fiOLD="$1"NEW="$2"# The shift command removes one argument from the list of # command line arguments.shiftshift# $* contains now all the files:for file in $*; doif [ -f "$file" ]; thennewfile=`echo "$file" | sed "s/${OLD}/${NEW}/g"`if [ -f "$newfile" ]; thenecho "ERROR: $newfile exists already"elseecho "renaming $file to $newfile "mv "$file" "$newfile"fifidone注意:sed基本上可以看成一个查找替换程序,从标准输入读入文本,并将结果输出到标准输出,sed使用正则表达式进行搜索。

Linux网络操作系统课程实验报告3(Vi编辑器)学生

Linux网络操作系统课程实验报告3(Vi编辑器)学生
《网络操作系统》实验报告
实验序号: 3 实验项目名称: Vi编辑器
学 号
姓 名
专业、班
实验地点
指导教师
实验时间
一、实验目的及要求
1.掌握Linux系统终端方式使用的编辑器vi;
2.学习vi的启动、存盘、文本输入、现有文件的打开;
3.学习使用vi编辑器建立、编辑、显示以及加工处理文本文件。
二、实验设备(环境)及要求
Redhat linux 9.0
三、实验内容与步骤
1.进入和退出vi
<1>进入vi在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。
#vi example
<2>退出vi
在命令方式下可有几种方法退出vi编辑器:
:wq把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到UNIX shell下。
main()
{
int i,sum=0;
for(i=0;i<=100;i++)
{ sum=sum+i; }
printf("\n1+2+3+...+99+100=%d\n",sum); }
[student@enjoy abc]$ gcc -o abc abc.c
[student@enjoy仅当作过修改时才将缓冲区内容写到文件上。
: x与: ZZ相同。
:q!强行退出vi。感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容。这样,先前对该文件所做的修改或输入都被抛弃。
2.新建文件
<1>在LinuX提示符$之后,输入命令: vi myfile,然后按〈Enter〉键。

Linux-3

Linux-3

实验三、Linux常用的命令与系统管理一、实验要求(1)掌握利用shell命令新建用户与组群的方法,批量新建用户账号的步骤和方法(2)熟练掌握手工启动前后台作业的方法,掌握进程与作业管理的相关shell命令(3)掌握at调度和cron调度的设置方法,掌握系统性能监视的基本方法(4)掌握目录和文件管理的相关方法、文件权限修改的方法和文件归档和压缩的方法(5)掌握常用的shell命令二、实验内容(1)、用户与组群管理(2)、进程管理与系统监视(3)、目录和文件管理(4)、常用的shell命令三、实验指导与步骤1、用户与组群管理(1)新建一名为duser的用户,设置口令为“123456”,主要组群为myusers。

步骤:【1】进入终端,以超级用户身份登录。

输入命令:“groupadd myusers建立组群。

【2】输入命令“useradd – g myusers duser”,建立新用户duser,其主要组群是myusers。

【3】为新用户设置口令,输入命令“passwd duser”,根据屏幕提示输入两次口令,最后屏幕提示口令成功设置信息。

结果截图:【4】输入命令“cat /etc/passwd”,查看/etc/passwd文件的内容,发现文件的末尾增加了duser 用户信息。

结果截图:【5】输入命令“cat /etc/group”,查看cat /etc/group文件的内容,显示结果截图:(2)批量新建多个用户账号要求:为全班同学10位同学创建用户账号,用户名为“s”+学号的组合,其中班级名册中第一位同学的学号为080101。

所有同学都属于class0801组群。

所有同学的初始口令为111111。

步骤:【1】以超级用户身份登录,输入命令“groupadd –g 600 class0801”(假设值为600的GID 未被使用),新建全班同学的组群class0801。

【2】输入命令“vi student”,新建用户信息文件。

操作系统实验

操作系统实验

操作系统实验报告(一)Linux基本操作与编程(验证性 2学时)1、实验目(de):1)熟悉Linux操作系统(de)环境和使用.2)了解LINUX系统(de)安装过程.(注:表示可选择)3)掌握Linux环境下(de)命令操作.2、实验内容:(1)完成LINUX系统(de)登录,启动终端.进行下列操作并记录结果(要求:结果以屏幕截图表示).1)运行pwd命令,确定你当前(de)工作目录.2)利用以下命令显示当前工作目录(de)内容: ls –l3)运行以下命令: ls –al4)使用mkdir命令建立一个子目录subdir.5)使用cd命令,将工作目录改到根目录(/)上.6)使用ls-l命令列出/dev(de)内容.7)使用不带参数(de)命令cd改变目录,然后用pwd命令确定你当前(de)工作目录是哪里8)使用命令cd ../..,你将工作目录移到什么地方(2)在LINUX下查看你(de)文件.1)利用cd命令,将工作目录改到你(de)主目录上.2)将工作目录改到你(de)子目录subdir,然后运行命令: date > file1 将当前日期和时间存放到新建文件file1中.3)使用cat命令查看file1文件(de)内容.4)利用man命令显示date命令(de)用法: man date5)将date命令(de)用法附加到文件file1(de)后面:man date >> file16)利用cat命令显示文件file1(de)内容.7)利用ls -l file1命令列出文件file1(de)较详细(de)信息.运行ls -l/bin 命令显示目录(de)内容.8)利用ls -l/bin|more命令行分屏显示/bin目录(de)内容.9)利用cp file1 fa命令生成文件file1(de)副本.然后利用ls -l命令查看工作目录(de)内容.10)用cd命令返回你(de)主目录,输入命令ls –l后,解释屏幕显示(de)第一列内容(de)含义.(3)编写能输出“Hello world”问候语(de)C程序,并在终端中编译、执行.要求记录所使用(de)命令及结果.操作步骤:1)在文本编辑器中,编写C程序如下:include ""main(){ printf("hello"); }2) 在终端中,用gcc命令进行编译,生成可执行文件a.gcc –o a3) 在终端中执行a (de)命令如下:./a(4)编写一个程序:显示信息“Time for Play”,并能在后台运行一段时间(自定义)后,弹出信息提醒用户.要求记录所使用(de)命令及结果.(提示:使用sleep(s)函数)3、实验结果分析:(对上述实验内容中(de)各题结果,进行分析讨论.并回答下列问题)(1)进程包括哪些特征间断性, 失去封闭性, 不可再现性, 动态性, 并发性, 独立性(2)在Linux中,如何设置前、后台命令和程序(de)执行命令后直接加 & ,这个命令就在后台执行;正在运行(de)命令,使用Ctrl+z ,就挂起; jobs命令,可以现实后台,包括挂起(de)命令;使用 bg %作业号就可以把挂起(de)命令在后台执行;使用 fg %作业号就可以把后台命令调到前台(3)你所使用(de)Linux系统(de)内核版本是多少用什么命令查看内核版本目前你所了解(de)各发行版本(de)情况如何Linux version (gcc version (Red Hat (GCC) ) 1 SMP Tue Jan 2911:48:01 EST 2013(4)你对Linux系统有什么认识linux是一款开放性(de)操作系统,也可以说成是开放(de)源代码系统,这些代码可以完全自由(de)修改可以再任何(de)计算机上去运行它,也就是“可移植性”,其次大家都知道,linux是由UNIX(de)概念所开发出来(de),所以它也继承了UNIX(de)稳定和效率(de)特点4、总结:你对本次实验有什么体会或看法.操作系统实验报告(二)文件访问权限设置与输入输出重定向(2学时)一、实验目(de)1、掌握linux(de)文件访问权限设置.2、熟悉输入输出重定向和管道操作.二、实验内容1、启动进入红帽linux系统2、设置文件权限:在用户主目录下创建目录test,进入test目录,用vi 创建文件file1,并输入任意(de)文字内容.用ls -l显示文件信息,注意文件(de)权限和所属用户和组.对文件file1设置权限,使其他用户可以对此文件进行写操作:chmod o+w file1.用ls -l查看设置结果.取消同组用户对此文件(de)读取权限:chmod g-r file1.查看设置结果.用数字形式来为文件file1设置权限,所有者可读、可写、可执行;其他用户和所属组用户只有读和执行(de)权限:chmod 755 file1.设置完成后查看设置结果.3、输入、输出重定向和管道(1) 输出重定向用ls命令显示当前目录中(de)文件列表:ls –l.使用输出重定向,把ls命令在终端上显示(de)当前目录中(de)文件列表重定向到文件list中:ls –l > list.查看文件list中(de)内容,注意在列表中会多出一个文件list,其长度为0. 这说明shell是首先创建了一个空文件,然后再运行ls命令:cat list.再次使用输出重定向,把ls命令在终端上显示(de)当前目录中(de)文件列表重定向到文件list中.这次使用追加符号>>进行重定向:ls –l >> list.查看文件list(de)内容,可以看到用>>进行重定向是把新(de)输出内容附加在文件(de)末尾,注意其中两行list文件(de)信息中文件大小(de)区别:cat list.重复命令ls –l > list.再次查看文件list中(de)内容,和前两次(de)结果相比较,注意list文件大小和创建时间(de)区别.(2) 管道who |grep root命令(de)结果是命令ls –l |wc –l结果是4、退出linux系统操作步骤:在主菜单上选择“注销” ->关闭计算机.三、实验结果与讨论(根据实验结果回答下列问题)1. 文件(de)权限如下:-rw-r—r-- 1 root root 19274 Jul 14 11:00回答:-rw-r—r-- (de)含义是什么答:是LINUX/FTP(de)简易权限表示法:对应于本用户-所在组-其他人(de)权限,每一个用执行(x)-读取(r)-写入(w)如本题若是说自己可以读取写入不可以执行,所在组和其他人只能读取.2、文件(de)所有者添加执行权限(de)命令是答:chmod u+x 、赋予所有用户读和写文件权限(de)命令是四、答:chmod a+w,a+r 个人体会(你对本次实验有什么体会或看法)操作系统实验报告(三)文件和目录管理一、实验目(de)1) 掌握在Linux系统下(de)文件和文件系统(de)概念及命令;2) 掌握Linux系统下(de)目录操作.二、实验内容1. 进入linux终端后,用命令(de)操作结果回答下列问题:1)vi(de)三种工作模式是其中不能进行直接转换(de)是什么模式到什么模式命令模式、文本输入模式、末行模式命令模式不能直接到末行模式2)在vi中退出时,保存并退出(de)操作步骤是Ese:wq3)用vi 创建myfile1文件,并在其中输入任意文字一行,创建myfile2文件,任意输入文字3行.请问执行命令:cat <myfile1 >myfile2 后,myfile2中还有几行内容该命令(de)作用是用命令操作验证你(de)回答.myfile2中还有1行内容该命令(de)作用是替换myfile(de)内容4)请用至少两种不同(de)命令创建一个文本文件(),在其中写入“我是2014级学生,我正在使用Linux系统.”,记录命令及执行结果.1、Vi创建2、5)用___pwd________命令可查看所创建文件(de)绝对路径,写出它(de)绝对路径__/root_________;用___ls -l________命令查看该文件(de)类型及访问权限,其访问权限(数字和字母)分别是多少__-rw- r- - r- - 6 4 4______________.6)若将该文件(de)访问权限修改为:所有者有读写权限;其他用户只读;同组用户可读写,请写出命令,并记录结果.7)查找my开头(de)所有文件,可___find my_________命令,写出命令并记录结果8)在/home下创建子目录user,并在其中创建2个文件,名为file1和file2,file1(de)内容是/root目录(de)详细信息;file2(de)内容任意,最后将这两个文件合并为file3文件,请先写出命令序列,并在终端中验证,记录结果.2. 文件及目录操作,写出操作所使用(de)命令,并记录结果.在终端中完成下列命令操作,并记录结果在root用户主目录下创建一个mydir子目录和一个myfile文件,再在mydir下建立d1和d2两个子目录.查看mydir和myfile(de)默认权限查看当前myfile和mydir(de)权限值是多少将myfile文件分别复制到root 和dd1(de)主目录中将root主目录中(de)myfile改为yourfile通过从键盘产生一个新文件并输入I am a student查找文件是否包含student字符串三、实验结果与分析,回答下列问题:1、能够创建文件(de)命令有哪些vi 和cat>name2、能够查看当前目录(de)绝对路径(de)命令是pwd3、Linux中按用户属性将用户分成哪些类型根据文件(de)访问权限,用户又被分成哪些类型能够查看文件访问权限(de)命令是用户同组其他可读可写可执行 cat f1四、小结(本次实验(de)体会或小结)操作系统实验报告(四)作业调度算法模拟(验证性2学时)1、实验目(de):1)掌握作业调度(de)主要功能及算法.2)通过模拟作业调度算法(de)设计加深对作业管理基本原理(de)理解.3)熟悉Linux环境下应用程序(de)编程方法.2、实验内容:(1)作业调度算法(FCFS)编程模拟:编制一段程序,对所输入(de)若干作业,输入、输出数据样例如下表所示.按FCFS算法模拟调度,观察、记录并分析调度(de)输出结果情况.输入输出样例1:FCFS算法include <>include <>define SIZE 5struct Job_type{char no[2]; o,&job[i].tb,&job[i].tr);printf("输入作业顺序:\n");for(i=0;i<SIZE;i++)printf("\t%s\t%d\t%d\n",job[i].no,job[i].tb,job[i].tr);}void fcfs(){ int i,j,t=0,tw=0,tt=0;for(i=0;i<SIZE-1;i++)for(j=i+1;j<SIZE;j++)if(job[i].tb>job[j].tb){x=job[i];job[i]=job[j];job[j]=x;}printf("FCFS调度结果:\n");printf("开始时间作业号到达时间运行时间完成时间等待时间周转时间\n");for(i=0;i<SIZE;i++){printf(" %d",t);t=t+job[i].tr;tw=t-job[i].tb-job[i].tr; b; o,job[i].tb,job[i].tr,t,tw,tt);}}void main(){load();fcfs();}(2)作业调度算法(SJF)编程模拟:编程实现由短作业优先算法,分别用下面两组输入、输出数据样例进行模拟,观察分析运行结果.输入输出样例2:SJF算法输入输出A 0 4B 0 3C 0 5D 0 2E 0 1A 0 6 10 10B 0 3 6 6C 0 10 15 15D 0 1 3 3E 0 0 1 1include <>include <>define SIZE 5struct Job_type{char no[2]; o,&job[i].tb,&job[i].tr);printf("输入作业顺序:\n");for(i=0;i<SIZE;i++)printf("\t%s\t%d\t%d\n",job[i].no,job[i].tb,job[i].tr);}void sjf()n=i; pl[i].pfn=ERR;}for(i=1;i<total;i++){ pfc[i-1].next=&pfc[i];pfc[i-1].pfn=i-1;}pfc[total-1].next=NULL;pfc[total-1].pfn=total-1;freepf_head=&pfc[0];}void FIFO(int total){ int i,j;pfc_type p,t;initialize(total);busypf_head=busypf_tail=NULL;for(i=0;i<page_len;i++){if(pl[page[i]].pfn==ERR){ diseffect+=1;if(freepf_head==NULL){p=busypf_head->next;pl[busypf_head->pn].pfn=ERR; freepf_head=busypf_head;freepf_head->next=NULL;busypf_head=p;}p=freepf_head->next;freepf_head->next=NULL;freepf_head->pn=page[i];pl[page[i]].pfn=freepf_head->pfn;if(busypf_tail==NULL)busypf_head=busypf_tail=freepf_head; else{ busypf_tail->next=freepf_head;busypf_tail=freepf_head;}freepf_head=p;}}printf("FIFO:%d",diseffect);}main(){ int i; int k;printf(“请输入页(de)引用序列:\n”); for(k=0;k<page_len;k++)scanf("%d",&page[k]);for(i=4;i<=7;i++){printf("%2d page frames ",i);FIFO(i);}参考程序LRU算法,略三、实验结果分析:(对上述实验各题所使用(de)原始数据、调试数据与状态(包括出错)及最终结果进行记录并分析.)随着块数(de)增加,缺页数目也减少,4个实验中3个实验(de)块数增加到了5以后,即使块数再增加,缺页数目也是保持不变.只有实验4,块数增加到7以后,缺页数目又再次减少了四、总结:你对本次实验有什么体会或看法.。

LINUX操作系统实验报告..

LINUX操作系统实验报告..

实验一 LINUX操作基础实验目的:1、掌握字符界面下关机及重启的命令。

2、掌握LINUX下获取帮助信息的命令:man、help。

3、掌握LINUX中常用的简单命令:pwd、date、who、cal、uname、wc、clear等实验内容:1、使用shutdown命令设定在30分钟之后关闭计算机。

2、使用init命令实现图形界面到字符界面及字符界面到图形界面的切换。

3、分别使用命令man和help查看ls命令的帮助文档。

4、使用命令将当前计算机的主机名显示为IT。

5、使用命令显示公元2008年8月的月历。

6、显示当前计算机上的日期和时间。

7、统计文件/etc/passwd的行数、字符数和单词数。

实验步骤及结果:1、2、3、4、5、6、7、实验二 LINUX系统的文件操作命令实验目的:1、掌握LINUX下文件和目录操作命令:cd、ls、mkdir、rmdir、rm。

2、掌握LINUX下文件信息显示命令:cat、more。

3、掌握LINUX下文件复制、删除及移动命令:cp、mv。

4、掌握LINUX的文件检索、排序命令:grep、sort。

实验内容:1、使用命令切换到/etc目录,并显示当前工作目录路径。

2、使用命令显示/root目录下所有文件目录的详细信息,包括隐藏文件。

3、使用命令创建目录/root/linux,然后删除该目录。

4、使用命令cat用输出重定向在/root目录下创建文件abc,文件内容为“Hello,Linux!”,并查看该文件的内容。

5、使用命令创建具有默认权限为744的目录/root/ak,然后将/root/abc文件复制到该目录中,最后将该目录及其目录下的文件一起删除。

6、查看文件/etc/passwd的前3行内容。

7、创建文件file1,文件内容有3行,分别为a、c、b,排序该文件数据,显示在屏幕上。

8、使用命令显示/etc/passwd文件的文件类型。

9、在文件/etc/passwd中搜索匹配字符“root”。

实验3_常用的Linux系统命令

实验3_常用的Linux系统命令

实验三常用的Linux系统命令一.实验目的1.掌握常用的Linux系统命令。

2.增加对Linux系统的认识,并能够基本熟练掌握该系统。

二.实验要求1.学习几个常用的Linux系统命令的功能及格式。

2.练习使用这些命令及各命令的参数。

三.实验内容1.常用Linux系统命令1).man命令功能:显示具有一定格式的在线命令帮助手册,也可以显示某个命令的格式。

例如:查命令ls的用法,则命令为:$man ls退出时用“q”。

2).more命令功能:在终端上分页显示。

例:以root登录后,在其缺省目录下有一install.log文件(或其它在一屏显示范围容纳不下的文本文件),用cat install.log命令查看其内容,屏幕上会滚动,这时可做如下处理:#cat /root/install.log |more则显示一屏后,按“空格”往下滚一页,按“Enter”键则往下滚一行。

浏览过程中按【q】键,可结束分页显示。

3).date命令功能:显示及修改日期和时间。

例如:要查看当前的日期和时间,可以如下输入:#date显示:set jan 9 17:54:0l CST 2008若想将当前的日期和时间改为12月11日早上9点30分,可以如下输入:#date 12110930 没有空格4).& 后台命令符功能:将&符放在一条命令后,使该条命令在后台执行。

在提示符#后输入命令,系统就为该命令创建一个进程,由该进程完成命令所规定的任务。

进程终止后才重新出现#提示符,通常称这种命令为前台命令。

如果在命令行的末尾加上“&”符,如:在现行命令窗口输入#xclock可以看到有一个小时钟窗口弹出,同时现行窗口也被占用,不能再通过该命令窗口输入其它命令。

可以使用”Ctrl+C”退出xclock,再输入其它命令。

请试用#xclock& 命令,则系统为这条命令创建一个进程,它在后台执行,这种进程称为后台进程。

linux操作系统实验电子教案文档

linux操作系统实验电子教案文档

Linux操作系统实验-电子教案文档第一章:Linux操作系统简介1.1 Linux概述1.1.1 Linux的定义1.1.2 Linux的历史与发展1.1.3 Linux的特点与优势1.2 Linux发行版介绍1.2.1 Ubuntu1.2.2 CentOS1.2.3 Fedora1.3 Linux文件系统结构1.3.1 Linux文件系统概述1.3.2 Linux文件系统结构详解第二章:Linux基本命令2.1 文件操作命令2.1.1 pwd:显示当前目录路径2.1.2 ls:列出目录内容2.1.3 cd:切换目录2.1.4 mkdir:创建新目录2.1.5 rm:删除文件或目录2.1.6 cp:复制文件或目录2.1.7 mv:移动或重命名文件或目录2.2 文本操作命令2.2.1 cat:显示文件内容2.2.2 more:分页显示文件内容2.2.3 less:分页显示文件内容2.2.4 grep:文本搜索工具2.3 权限管理命令2.3.1 chmod:修改文件权限2.3.2 chown:修改文件所有者2.3.3 chgrp:修改文件所属组2.4 进程管理命令2.4.1 ps:查看进程信息2.4.2 top:实时显示系统进程信息2.4.3 kill:发送信号到进程2.5 网络命令2.5.1 ping:检测网络连接2.5.2 ifconfig:配置和显示网络接口参数2.5.3 netstat:显示网络连接、路由表、接口统计等信息第三章:Linux文本编辑器3.1 vi/vim编辑器概述3.1.1 vi/vim的启动与退出3.1.2 vi/vim的基本操作3.1.3 vi/vim的文本编辑功能3.2 nano编辑器概述3.2.1 nano的启动与退出3.2.2 nano的基本操作3.2.3 nano的文本编辑功能第四章:Linux文件权限与所有权4.1 文件权限概述4.1.1 文件权限的定义4.1.2 文件权限的表示方法4.2 文件权限的设置与修改4.2.1 使用chmod命令设置文件权限4.2.2 使用chown命令修改文件所有权4.2.3 使用chgrp命令修改文件所属组4.3 特殊权限设置4.3.1 设置文件执行权限4.3.2 设置文件SUID、SGID和SBIT权限第五章:Linux常用软件与工具5.1 压缩与解压缩工具5.1.1 gzip:压缩工具5.1.2 bzip2:压缩工具5.1.3 tar:归档工具5.2 文件传输工具5.2.1 scp:远程复制文件5.2.2 sftp:安全文件传输协议5.2.3 rsync:同步文件5.3 网络通信工具5.3.1 ssh:安全终端登录5.3.2 ftp:文件传输协议5.4 磁盘管理工具5.4.1 df:显示磁盘空间使用情况5.4.2 du:显示文件或目录的磁盘使用情况5.4.3 mount:挂载文件系统5.4.4 umount:卸载文件系统Linux操作系统实验-电子教案文档第六章:用户管理6.1 用户和组的概念6.1.1 用户的定义6.1.2 用户组的概念6.2 用户管理命令6.2.1 useradd:创建用户6.2.2 userdel:删除用户6.2.3 usermod:修改用户信息6.2.4 groupadd:创建用户组6.2.5 groupdel:删除用户组6.2.6 groupmod:修改用户组信息6.3 用户密码管理6.3.1 passwd:设置和更改用户密码6.3.2 chpasswd:批量设置用户密码6.4 切换用户和查看用户信息6.4.1 su:切换用户6.4.2 sudo:以其他用户身份执行命令6.4.3 whoami:查看当前用户6.4.4 who:查看当前登录的用户6.4.5 w:查看当前登录的用户和系统负载第七章:磁盘管理7.1 磁盘分区7.1.1 分区类型7.1.2 fdisk:磁盘分区工具7.1.3 parted:磁盘分区工具7.2 文件系统格式化7.2.1 mkfs:创建文件系统7.2.2 df:查看磁盘空间使用情况7.2.3 du:查看文件或目录的磁盘使用情况7.3 磁盘挂载与卸载7.3.1 mount:挂载文件系统7.3.2 umount:卸载文件系统7.4 逻辑卷管理(LVM)7.4.1 LVM的概念7.4.2 pvcreate:创建物理卷7.4.3 vgcreate:创建逻辑卷组7.4.4 lvcreate:创建逻辑卷7.4.5 lvremove:删除逻辑卷7.4.6 vgextend:扩展逻辑卷组7.4.7 vgreduce:缩小逻辑卷组第八章:软件包管理8.1 软件包管理概述8.1.1 软件包的定义8.1.2 软件包管理系统的作用8.2 RPM软件包管理8.2.1 rpm:RPM软件包管理工具8.2.2 yum:基于RPM的软件包管理工具8.3 DPKG软件包管理8.3.1 dpkg:DPKG软件包管理工具8.3.2 apt-get:基于DPKG的软件包管理工具8.4 软件包安装与卸载8.4.1 安装软件包8.4.2 卸载软件包8.4.3 更新软件包8.4.4 搜索软件包8.5 软件包来源配置8.5.1 配置软件包仓库8.5.2 刷新软件包列表第九章:网络配置9.1 网络配置概述9.1.1 网络配置的作用9.1.2 网络配置的文件9.2 配置网络接口9.2.1 ifconfig:配置和显示网络接口参数9.2.2 ip:配置和显示网络接口参数9.3 配置域名解析9.3.1 resolv.conf:域名解析配置文件9.3.2 nslookup:查询域名服务器9.4 配置主机名9.4.1 hostname:配置主机名9.4.2 nslookup:查询域名服务器9.5 配置SSH免密登录9.5.1 SSH密钥9.5.2 SSH配置文件9.5.3 设置SSH免密登录第十章:系统监控与性能分析10.1 系统监控工具10.1.1 top:实时显示系统进程信息10.1.2 htop:增强型的top工具10.1.3 vmstat:虚拟内存统计信息10.1.4 iostat:I/O统计工具10.2 性能分析工具10.2.1 strace:跟踪系统调用和接收到的信号10.2.2 sar:收集、报告或存储系统活动的信息10.2.3 netstat:显示网络连接、路由表、接口统计等信息10Linux操作系统实验-电子教案文档第十一章:shell脚本编程11.1 shell脚本概述11.1.1 shell脚本的概念11.1.2 shell脚本的作用11.1.3 shell脚本的编写方式11.2 基本shell脚本编写11.2.1 脚本结构11.2.2 变量定义与使用11.2.3 条件判断11.2.4 循环控制11.2.5 函数定义与调用11.3 常用shell脚本命令11.3.1 文件操作命令11.3.2 文本操作命令11.3.3 进程管理命令11.3.4 网络管理命令11.4 调试与执行shell脚本11.4.1 调试工具11.4.2 脚本执行方式第十二章:系统安全12.1 系统安全概述12.1.1 系统安全的意义12.1.2 系统安全常见威胁12.1.3 系统安全防护措施12.2 用户权限管理12.2.1 文件权限设置12.2.2 用户和组管理12.3 防火墙配置12.3.1 iptables:防火墙配置工具12.3.2 firewalld:动态防火墙管理工具12.4 入侵检测系统12.4.1 auditd:审计守护进程12.4.2 fl2ban:自动屏蔽恶意IP地址12.5 加密与SSH12.5.1 SSH:安全终端登录12.5.2 SSH密钥与配置12.5.3 SSH免密登录12.6 病毒与恶意软件防护12.6.1 clamav:开源防病毒软件12.6.2 systemd-analyze:系统安全分析工具第十三章:虚拟化技术13.1 虚拟化技术概述13.1.1 虚拟化技术的概念13.1.2 虚拟化技术的作用13.1.3 虚拟化技术的类型13.2 QEMU虚拟化13.2.1 QEMU概述13.2.2 QEMU安装与配置13.2.3 QEMU使用方法13.3 KVM虚拟化13.3.1 KVM概述13.3.2 KVM安装与配置13.3.3 KVM使用方法13.4 Docker容器虚拟化13.4.1 Docker概述13.4.2 Docker安装与配置13.4.3 Docker使用方法第十四章:云计算与大数据14.1 云计算概述14.1.1 云计算的概念14.1.2 云计算的服务模式14.1.3 云计算的应用场景14.2 OpenStack云计算平台14.2.1 OpenStack概述14.2.2 OpenStack组件与架构14.2.3 OpenStack安装与配置14.3 大数据概述14.3.1 大数据的定义14.3.2 大数据处理技术14.3.3 大数据应用场景14.4 Hadoop大数据平台14.4.1 Hadoop概述14.4.2 Hadoop组件与架构14.4.3 Hadoop安装与配置第十五章:实验总结与拓展15.1 实验总结15.1.1 实验内容回顾15.1.2 实验技能总结15.2 拓展阅读与练习15.2.1 拓展阅读材料15.2.2 练习题目15.3 实验报告要求15.3.1 实验报告结构15.4 实验成绩评定15.4.1 实验成绩构成15.4.2 实验评分标准重点和难点解析重点:1. Linux操作系统的基本概念、历史、特点和优势。

操作系统linux版实验报告

操作系统linux版实验报告

操作系统实验报告(Linux版)网络142 潘豹 142999实验一观察Linux进程状态一、实验目得在本实验中学习Linux操作系统得进程状态,并通过编写一些简单代码来观察各种情况下,Linux进程得状态,进一步理解进程得状态及其转换机制。

二、实验环境硬件环境:计算机一台,局域网环境;软件环境:Linux Ubuntu操作系统,gcc编译器。

(四)查瞧“不可中断阻塞”状态(D)创建一个C程序,如uninter_status、c,让其睡眠30s代码:#include<unistd、h〉#include<stdio、h〉int main(){int i=0,j=0,k=0;for(i=0;i<1000000;i++){for(j=0;j<1000000;j++){k++;k--;}}}实验结果:(二)查瞧“暂停”状态(T)运行run_status进程,其进入R状态:代码同上:(三)查瞧“可中断阻塞”状态(S)创建一个C程序,如interruptiblie_status、c,让其睡眠30s编译链接,后台运行该程序(后接&符号),并使用ps命令查瞧运行状态代码:#include〈unistd、h>#include<stdio、h>int main(){sleep(30);return;}实验结果:(四)查瞧“不可中断阻塞”状态(D)创建一个C程序,如uninter_status、c,让其睡眠30s编译链接,后台运行该程序(后接&),并使用ps命令查瞧运行状态代码:#include〈unistd、h>#include〈stdio、h>intmain(){if(vfork()==0){sleep(300);return;}}实验结果:(五)查瞧“僵尸”进程(Z)创建一个C程序,如zombie_status、c,在其中创建一个子进程,并让子进程迅速结束,而父进程陷入阻塞编译链接,后台运行该程序(后接&),并使用ps命令查瞧运行状态(30s内)代码:#include<unistd、h>#incldue<stdio、h>int main(){if(fork()){sleep(300);}}实验结果:实验二观察Linux进程/线程得异步并发执行一、实验目得通过本实验学习如何创建Linux进程及线程,通过实验,观察Linux进程及线程得异步执行。

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

实验三LINUX SHELL脚本程序设计一、实验目的通过本实验练习,使学生了解常用SHELL的编程特点,掌握SHELL程序设计的基础知识。

对SHELL程序流程控制、SHELL程序的运行方式、bash 程序的调试方法及bash的常用内部命令有进一步的认识和理解。

通过本实验,学生应能够基本掌握编写SHELL程序的步骤、方法和技巧。

二、实验环境操作系统:任何Unix/Linux及Sun Solaris 或windows 系列应用系统:SHELL 或windows环境下的cygwin模拟系统三、实验内容本实验包含三个具体的SHELL程序编写任务,较为全面地涉及了SHELL 程序的设计方法和技术。

内容如下:⑴创建以下菜单程序:USER: **** HOST: ******** DATE: **/**/20**A: 创建子目录并复制文件B: 文件权限测试C: 文件字符转换D: 文件总数及文本行数统计E: 文件查找Q: 退出系统———————————————————————————————A:在用户家目录下创建名字为本人姓名的子目录,其存取权限为(drwxr-xr-x)。

测试目录确实存在后,将已存在的file1、file2两文件拷入其中并分别显示两文件的内容。

显示完成后将file1、file2两文件截断为大小为0的空文件。

B:测试当前用户对系统中某文件是否有r、w、x的权限,输出测试结果。

C:将file1、file2两文件中的小写字符转换为大写,并将转换后的内容分别写入新文件。

判断上述操作成功后分别显示转换后的新文件的内容。

D:统计/dev目录下目录文件和符号链接文件的数目;统计系统中某文本文件中空行的行数;显示当前系统中所有环境变量。

E:在/dev目录下查找由s开头且文件名由5个字符组成的文件,找到后用file 命令显示其文件类型。

yxh@Cancer:~$ #!/bin/shyxh@Cancer:~$ MYDATE='2016-11-01'yxh@Cancer:~$ THIS_HOST='yxh'yxh@Cancer:~$ USER='yinxiaohang'yxh@Cancer:~$ while :> do> tput clear> cat <<MAYDAY>------------------------------------------------------------------------------ User:$USER Host:$THIS_HOST Date:$MYDATE------------------------------------------------------------------------------ A:创建子目录并复制文件B:文件权限测试C:文件字符转换D:文件总数及文本行数统计E:文件查找Q:退出系统------------------------------------------------------------------------------> MAYDAY> echo -e -n "\tYour Choice [A,B,C,D,E,Q] : "> read CHOICE> case $CHOICE in> A|a)mkdir --mode=755 /home/yxh/test/yinxiaohang> if test -d "/home/yxh/test/yinxiaohang"> then cp file1 file2 /home/yxh/test/yinxiaohang> cat file1> cat file2> :> /home/yxh/test/yinxiaohang/file1> cat /home/yxh/test/yinxiaohang/file1> :> /home/yxh/test/yinxiaohang/file2> cat /home/yxh/test/yinxiaohang/file2> else echo file1 is not a file name> fi> ;;> B|b) if [ -f file1 ]> then test -r file1 -a -w file1 -a -x file1> ls -l file1> else echo file1 do not rwx> fi> ;;> C|c)tr 'a-z' 'A-Z' < file1 > 1> tr 'a-z' 'A-Z' < file2 > 2> if test -f 1 -a 2> then cat 1> cat 2> else echo fail!> fi> ;;> D|d)ls -l /dev> ls -l /dev |grep ^d|wc -l> ls -l /dev |grep ^l|wc -l> cat 3> cat 3|grep '^$'|wc -l> env> ;;> E|e)find /dev -name "s[a-z][a-z][a-z][a-z]"> find /dev -name "s[a-z][a-z][a-z][a-z]" >4> var=$(cat 4)> file -b ${var%%.*}> ;;> Q|q)exit 0> ;;> *)echo -e "\t\007unknown user reponse"> ;;> esac> echo -e -n "\tHit the return key to continue"> read DUMMY> done⑵文件pc.txt中保存了三个班级的学生选课成绩,试编写一段shell程序对文件内容进行统计、计算后输出各个班级选课的学生人数及每班选课成绩的优秀率。

pc.txt文件内容如下:student1:1301:75Student2:1302:96Student3:1303:99Student4:1302:93Student5:1303:23Student6:1301:77yxh@Cancer:~$ #!/bin/bashyxh@Cancer:~$ PASS1=0;yxh@Cancer:~$ PASS2=0;yxh@Cancer:~$ PASS3=0;yxh@Cancer:~$ NUMBER1=0;yxh@Cancer:~$ NUMBER2=0;yxh@Cancer:~$ NUMBER3=0;yxh@Cancer:~$ SAVEDIFS=$IFSyxh@Cancer:~$ IFS=:yxh@Cancer:~$ while read NAME CLASS SCORE > do> case $CLASS in> 1301)> NUMBER1=`expr $NUMBER1 + 1`> if [ $SCORE -ge 90 ]> then PASS1=`expr $PASS1 + 1`> fi> ;;> 1302)> NUMBER2=`expr $NUMBER2 + 1`> if [ $SCORE -ge 90 ]> then PASS2=`expr $PASS2 + 1`> fi;;> 1303)> NUMBER3=`expr $NUMBER3 + 1`> if [ $SCORE -ge 90 ]> then PASS3=`expr $PASS3 + 1`> fi> ;;> *)> echo "FAIL !"> ;;> esac> done < pc.txtyxh@Cancer:~$ echo $PASS1yxh@Cancer:~$ echo $PASS22yxh@Cancer:~$ echo $PASS31yxh@Cancer:~$ PASS1=$(echo "$PASS1/$NUMBER1+$PASS1%$NUMBER1*0.50"|bc|awk '{printf "%.2f",$0}') yxh@Cancer:~$ PASS2=$(echo "$PASS2/$NUMBER2+$PASS2%$NUMBER2*0.50"|bc|awk '{printf "%.2f",$0}') yxh@Cancer:~$ PASS3=$(echo "$PASS3/$NUMBER3+$PASS3%$NUMBER3*0.50"|bc|awk '{printf "%.2f",$0}') yxh@Cancer:~$ echo "1301 $NUMBER1 $PASS1"1301 2 0.00yxh@Cancer:~$ echo "1302 $NUMBER2 $PASS2"1302 2 1.00yxh@Cancer:~$ echo "1303 $NUMBER3 $PASS3"1303 2 0.50yxh@Cancer:~$ IFS=$SAVEDIFS⑶认真学习、理解find和grep(家族)命令,编制两个个性化的文件搜索工具。

while :> do> tput clear> cat <<MAYDAY>操作系统实践> *********************************** A:按文件内容查找文件并显示其路径B:按文件名查找文件并显示其路径***********************************> MAYDAY> echo -e -n "\t请选择A OR B : "> read CHOICE> case $CHOICE in> A)read -p "请输入字符串:" val> find .|xargs grep -ri "$val" -l> ;;> B)read -p "请输入文件名:" val> find . -name "*$val*"> ;;> *)echo -e "\t\007FAIL !"> ;;> esac> echo -e -n "\tHit the return key to continue"> read DUMMY> done10。

相关文档
最新文档