文档库 最新最全的文档下载
当前位置:文档库 › Linux实验5答案

Linux实验5答案

Linux实验5答案
Linux实验5答案

1、阅读程序说明其功能是:从键盘接收两个数,求其和。

#/bin/bash

typeset first second

read -p "Input the first number:" first

read -p "Input the second number:" second

result=$[$first+$second]

echo "result is : $result"

exit 0

2、编写shell程序,比较3个数的大小并选出最小者。

#!/bin/sh

read max

i=1

while [$i –lt 3]

do

read x

if [ $ x –lt $min ]

then

min=$x

fi

i=`expr $i + 1`

done

echo " min = $min "

3、编写脚本文件sum.sh。脚本功能:计算从1加到100的和并返回结果。

#!/bin/bash

#Get the sum of 1 to 100

sum=0

for((i=1;i<=100;i++))

do

sum=$(($sum+$i))

done

echo “The total number is $sum.”

4、编写一个提供用户选择Continue或Finish的选择菜单,若选择Finish,则

马上终止。

5、执行程序时带单字符参数,若参数个数超过6个,则退出并给出提示,否则按参数内容按倒三角输出。

三、

1、编写脚本文件Fibonacci.sh。脚本功能为:求费波纳奇数列的前10项及总和。#!/bin/bash/

for ((i=0;i<10;i++))

do

if (($i-2>=0))

then

((array[$i]=${array[$i-1]}+ ${array[$i-2]}))

else

((array[$i]=$i))

fi

echo array[$i]=${array[$i]}

done

sum=0

for ((j=0;j<10;j++))

do

sum=$(($sum+${array[$j]}))

done

echo “the sum is:$sum”

2、输入两个长度为四个字符的字符串,判断并输出以下几种结果:

字符串1 等同于字符串2;两者不等同;字符串1的长度是否为空;字符串2的长度是不大于零。(用到-n、-z等参数)

3、用case语句编写程序,要求用户在输入01 或1的时候,输出month is january,

输入02或2时,输出month is february,以此类推。若输入的数在01(1)—12之

外时,输出“非法参数”。

linux实验报告

实验一 实验名称:Linux 基本命令的使用 实验时间:2学时 实验目的:熟练使用Linux字符界面、窗口系统的常用命令。 实验内容 (一)Linux操作基础 1.重新启动linux或关机(poweroff,shutdown,reboot,init 0,init 6) 2.显示系统信息(uname),显示系统日期与时间,查看2014年日历(date,cal) ①uname:查看系统与内核相关信息 uname -asrmpi 参数: -a :所有系统相关的信息; -s: 系统内核名称; -r: 内核的版本; -m:本系统的硬件名称,如i686或x86_64; -p: CPU的类型,与-m类似,只是显示的是CPU的类型; -i :硬件的平台(ix86). ②date:显示日期的命令 ③cal:显示日历 单独cal:列出当前月份的日历 cal 2014:列出2014年的日历 cal 5 2014:列出2014年五月的目录 3.使用帮助命令(man,help) ①man:是manual(操作说明)的简写,是在线帮助系统 man后跟某个命令就会详细说明此命令,例如:man man就会详细说明man 这个命令的用法; ②help:也是帮助命令,一般会在命令后,例如:cd --help 就会列出cd命令的使用说明。 4.查看当前登陆用户列表(who),显示当前用户(whoami) ①who:显示目前已登录在系统上面的用户信息; ②whoami:查询当前系统账户 5.建立一个新用户mytest,设定密码(useradd,passwd) ①useradd mytest(建立新用户mytest);

LINUX操作系统实验报告

中国地质大学江城学院 LINUX操作系统实验报告 姓名 班级学号 指导教师冯春华 2012 年月日

实验一在LINUX下获取帮助、Shell实用功能 实验目的: 1、掌握字符界面下关机及重启的命令。 2、掌握LINUX下获取帮助信息的命令:man、help。 3、掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令的排列、替 换与别名,管道及输入输出重定向。 实验内容: 1、使用shutdown命令设定在30分钟之后关闭计算机。 2、使用命令“cat /etc/named.conf”设置为别名named,然后再取消别名。 3、使用echo命令和输出重定向创建文本文件/root/nn,内容是hello,然后再使用追加重定向输入内容为word。 4、使用管道方式分页显示/var目录下的内容。 5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。 实验步骤及结果: 1、 2、 3、 4、 5、

实验二文件和目录操作命令 实验目的: 1、掌握LINUX下文件和目录的操作命令,如pwd、cd、ls、touch、mkdir、rmdir、cp、 mv、rm等。 2、掌握LINUX下建立链接文件的方法。 实验内容: 1、使用命令切换到/etc目录,并显示当前工作目录路径。 2、使用命令显示/root目录下所有文件目录的详细信息,包括隐藏文件。 3、使用命令创建空文件/root/ab,并将该文件的时间记录更改为8月8日8点8分。 4、使用命令创建具有默认权限为744的目录/root/ak,然后将/etc/named.conf文件复制到该目录中,最后将该目录及其目录下的文件一起删除。 5、统计文件/etc/named.conf的行数、字符数和单词数。 6、使用命令创建/root/a文件的硬链接文件/root/b和软链接文件/root/c。 实验步骤及结果:

Linux操作系统实验教程

Linux操作系统实验教程 第1章Linux系统概述 一、Linux系统结构 从操作系统的角度来分析Linux,它的体系结构总体上属于层次结构如下图所示: 从内到外包括三层:最内层是系统核心,中间是Shell、编译编辑实用程序、库函数等,最外层是用户程序,包括许多应用软件。 从操作系统的功能角度来看,它的核心有五大部分组成:进程管理、存储管理、文件管理、设备管理、网络管理。各子系统实现其主要功能,同时相互之间是合作、依赖的关系。进程会管理是操作系统最核心的内容,它控制了整个系统的进程调度和进程之间的通信,是整个系统合理高效运行的关键; 存储管理为其他子系统提供内存管理支持,同时其他子系统又为内存管理提供了实现支持,例如要通过文件管理和设备管理实现虚拟存储器和内外存的统一管理。 二、配置一个双引导系统 如果计算机中已经安装了其他操作系统,并想创建一个引导系统以便兼用Red Hat Linux和另外的操作系统,需要使用双引导。机器启动时,可以选择其中之一,但不能同时使用两者。每个操作系统都从自己的硬盘驱动器或硬盘分区中引导,并使用自己的硬盘驱动器或硬盘分区。 如果计算机上还没有安装任何操作系统,可以使用专门的分区及格式化软件给Windows创建指定大小的分区,Windows的文件系统为FAT,再为Linux系统创建所需要大小的分区(4G或更大),另外再给Linux留100MB 左右的交换分区,Linux的文件系统为ext2。然后就可以安装系统了。应首先安装Windows,然后再安装Red Hat Linux。如果只进行了分区而没有格式化各分区,在安装时可以使用Windows自带的格式化程序和Linux自带的格式化程序进行各自分区的格式化。 当Windows已经被安装,而且已为Linux准备了足够的磁盘空间,就可以安装Linux了。Red Hat Linux安装程序通常会检测到Windows并自动配置引导程序来引导Windows或Red Hat Linux。

linux实验五

北京林业大学 2014学年—2015学年第 2 学期 Linux应用实验任务书专业名称:网络工程班级: 姓名:学号: 实验题目:实验五 Linux下的Socket和Shell脚本编程初步实验环境: Linux终端/或基于Linux的Eclipse集成开发环境实验目的: 进一步熟悉练习Linux的socket和shell脚本编程。 实验内容: 1.Socket:编写一个简单的服务器、客户端(使用TCP)——服务器端一直 监听本机的5656号端口;如果收到连接请求,将接收请求并接收客户端发来的消息;客户端与服务器端建立连接并发送一条消息。 运行结果显示如下: 代码程序如下所示:

//server.c //client.c

2.Shell脚本(Shell Script):是一种为shell编写的脚本程序。但要知道, shell和shell script是两个不同的概念。

解释型语言也被称作“脚本语言”。执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),并将其转换成目标代码(object code),再由计算机运行。脚本编程语言的例子有awk、Perl、Python、Ruby 与Shell。 很多传统的程序设计语言,例如Fortran、Ada、Pascal、C、C++和Java,都是编译型语言。这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”。 (1) // a=string1;b=string2;根据前后文继续补充。。。

Linux 实验合集#精选.

一. 1)启动Linux操作系统,并启动KDE图形桌面。熟悉各屏幕元素。通过KDE编辑器编辑两个文本文件file1、file2。 新建一个文本文件vi New Filename 编辑一个已有的文件vi Filename 2)在主目录下创建文件夹exercise,将文件file1、file2移到新建的目录下。然后分别采用回收站和删除方式删除文件fiel1、file2。注意比较它们的区别。 移动mv file1 file2 /home/exercise 删除rm file1 3)定制KDE桌面,将虚拟桌面的个数改为5个,并为它们设置不同的背景。 4)在Linux图形用户界面下,创建一个新用户(普通用户) 。 adduser username 5)在Linux图形用户界面下,按下组合键(或)切换到虚拟控制台1,以root超级用户身份登录。 6)按下组合键 (或)切换到虚拟控制台2,以在第(1)步中所创建的普通用户身份登录。 二. 2.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。 date:显示日期/ cal:显示日历/ who:列出所有正在使用系统的用户、终端名、注册时间/echo:标准输出/clear:清屏 3.浏览文件系统: 1)运行pwd命令,确定当前工作目录。 pwd:显示当前工作目录的绝对路径 2)运行ls -l命令,理解各字段含义。 -l: 以长格式显示文件的详细信息 如:-rw-r--r-- 1 peter peter 19 2012-05-11 19:19 Test03 文件类型权限、连接数、文件主、文件组、文件大小、建立或最近修改的时间、文件名 3)运行ls –ai ,理解各字段含义。 -a: 显示指定目录下所有子目录和文件 -i: 在输出的第一列显示文件的I节点号 4)使用cd命令,将工作目录改到根(/)上。 运行ls –l命令。 5)直接使用cd,回到哪里了?用pwd验证。 cd: 将当前目录改到用户的主目录(非根目录) 6)用mkdir建立一个子目录subdir。 mkdir subdir 7)将工作目录改到subdir。 cd dir

Linux操作系统实验指导书

《Linux系统管理与维护》实验指导书 实验一初识Linux操作系统 一实验名称 初识Linux操作系统 二实验目的与要求 掌握Linux的启动、登录与注销。 三实验内容 1.以root用户和普通用户两种不同身份登录Linux,说出其登录后得差异。 2.图形模式下的注销、重启与关机。 3.学会在虚拟机上登录和注销Linux。 四操作步骤与结果分析 五问题与建议

实验二Linux的桌面应用 一实验名称 Linux的桌面应用 二实验目的与要求 熟悉Linux操作系统桌面环境 熟悉Linux文件系统及常用的操作 掌握Linux下使用外部存储设备、网络设备 掌握Linux下安装应用程序 三实验内容 1.查看GNOME提供的“应用程序”、“位置”或者“系统”菜单,运行其中的应用程 序和工具。 2.查看Linux文件目录结构,学会常用的文件目录操作,如复制、粘贴、移动、删 除、更名、创建文档、创建文件夹等。 3.练习在Linux下使用光盘和U盘。 4.学会网络配置,使计算机能够进行网络浏览等操作。 5.学会在Linux下安装新的应用软件。 四操作步骤与结果分析 五问题与建议

实验三Linux操作系统的安装 一实验名称 Linux操作系统的安装 二实验目的与要求 掌握安装Linux操作系统 三实验内容 1.通过学习《项目五Linux操作系统的安装及远程服务》的内容,学会如何安装Linux。 环境:windows 系统、vmware虚拟机、Redhat Linux镜像光盘。 通过安装向导将安装分为两步:1、基本安装,2、配置及具体安装。 在第一阶段重点如何分区,在第二阶段重点掌握如何设置密码及安装桌面环境。四操作步骤与结果分析 五问题与建议

Linux操作系统实验二

实验报告 2016 至2017 学年第二学期

1.crontab帮助信息 usage: crontab [-u user] file crontab [ -u user ] [ -i ] { -e | -l | -r } (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting user's crontab) 2.查看用户的计划任务列表 命令:crontal -l 如图,当前用户为cyril,还没有计划任务。 3.建立计划任务 命令:crontal –e 为当前用户建立计划任务,如果为其他用户建立计划任务需要使用-u参数指定。 执行命令后会打开一个由EDITOR变量指定的编辑器如vim,在其中写好计划任务保存后,终端回显:crontab: installing new crontab 编辑计划任务时,格式为: *****command 分时日月周命令 其中*/5 这样的格式表示“每5(分钟、小时…)”

这里我先写了一个脚本,用来在/tmp目录下创建文件,脚本内容如下: 然后创建计划任务来每隔一分钟运行这个脚本,如下图: 现在再查看一下任务列表:

查看脚本的执行情况: 如图,显示了7个由计划任务调用脚本创建的文件。20170424-16:48.txt 20170424-16:49.txt 20170424-16:50.txt 20170424-16:51.txt

linux操作系统实验报告

LINUX操作系统实验报告 姓名 班级学号 指导教师 2011 年 05月 16 日 实验一在LINUX下获取帮助、Shell实用功能 实验目的: 1、掌握字符界面下关机及重启的命令。 2、掌握LINUX下获取帮助信息的命令:man、help。 3、掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令的排列、替

换与别名,管道及输入输出重定向。 实验容: 1、使用shutdown命令设定在30分钟之后关闭计算机。 2、使用命令“cat /etc/cron.daliy”设置为别名named,然后再取消别名。 3、使用echo命令和输出重定向创建文本文件/root/nn,容是hello,然后再使用追加重定向输入容为word。 4、使用管道方式分页显示/var目录下的容。 5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。 实验步骤及结果: 1.用shutdown命令安全关闭系统,先开机在图形界面中右击鼠标选中新建终端选项中输入 命令Shutdown -h 30 2、使用命令alias将/etc/cron.daliy文件设置为别名named,左边是要设置的名称右边是要更改的文件。查看目录下的容,只要在终端输入命令即可。取消更改的名称用命令unalias 命令:在命令后输入要取消的名称,再输入名称。 3.输入命令将文件容HELLO重定向创建文本文件/root/nn,然后用然后再使用追加重定向输入容为word。步骤与输入容HELLO一样,然后用命令显示文件的全部容。 4.使用命令ls /etc显示/etc目录下的容,命令是分页显示。“|”是管道符号,它可以将多个命令输出信息当作某个命令的输入。

操作系统实验5文件系统:Linux文件管理

实验5 文件系统:Linux文件管理 1.实验目的 (1)掌握Linux提供的文件系统调用的使用方法; (2)熟悉文件和目录操作的系统调用用户接口; (3)了解操作系统文件系统的工作原理和工作方式。 2.实验内容 (1)利用Linux有关系统调用函数编写一个文件工具filetools,要求具有下列功能:*********** 0. 退出 1. 创建新文件 2. 写文件 3. 读文件 4. 复制文件 5. 修改文件权限 6. 查看文件权限 7. 创建子目录 8. 删除子目录 9. 改变当前目录到指定目录 10. 链接操作 *********** 代码: #include #include #include #include #include #include #include #include void menu(void); void openfile(void); void writefile(void); void readfile(void); void copyfile(void); void chmd(void); void ckqx(void); void cjml(void); void scml(void); void ggml(void); void ylj(void); int main() { int choose; int suliangjin=1;

menu(); scanf("%d",&choose); while(choose!=0) { switch(choose) { case 1:openfile();break; case 2:writefile();break; case 3:readfile();break; case 4:copyfile();break; case 5:chmd();break; case 6:ckqx();break; case 7:cjml();break; case 8:scml();break; case 9:ggml();break; case 10:ylj();break; } menu(); scanf("%d",&choose); } return 0; } void menu(void) { printf("文件系统\n"); printf("1.创建新文件\n"); printf("2.写文件\n"); printf("3.读文件\n"); printf("4.复制文件\n"); printf("5.修改文件权限\n"); printf("6.查看文件权限\n"); printf("7.创建子目录\n"); printf("8.删除子目录\n"); printf("9.改变目前目录到指定目录\n"); printf("10.链接操作\n"); printf("0.退出\n"); printf("请输入您的选择...\n"); } void openfile(void) { int fd; if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");

linux实验八报告

T923-1 刘彬20090230139 实验八系统及网络管理 一、实验目的 1.理解系统管理的内涵和作用。 2.学会对用户和组进行一般的管理。 3.掌握文件系统的装载和卸载。 4.学会网络配置的一般方法。 二、实验内容 1.Shell命令方式下为新用户建立帐号和工作组,删除本地用户和组。 2.图形方式下为新用户建立帐号和工作组,删除本地用户和组。 3.手工挂载和卸载文件系统。 4.配置网络。 三、实验注意事项 实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。 要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。 用户要按通常实验要认真书写实验报告。 四、实验主要步骤 (一)Linux的用户管理 1.创建新用户 创建一个用户帐号徐完成以下步骤: ①添加一个记录到etc/passwd文件中。 添加命令为:useradd。 例如,创建新用户user01的命令如下: useradd -c“normal user”-d /home/user01 –g users\ -G student,computer –s /bin/bash user01 -c “normal user”:“normal user”是对该用户的注释。 -d /home/user01:指定用户的工作目录(宿主目录)为/home/user01。 –g users\:定义user01所属的组为users。 -G student,computer:同时将user01归属于student和computer组。 –s/bin/bash:指定用户所启动的shell为/bin/bash。 在Linux中,创建用户后,必须为用户设置密码。 ②设置用户密码。 例如,为user01设置密码的命令如下: passwd user01 为安全起见,密码的设置不要过于简单。 在实际使用中,系统可以根据当前的运行情况自动确定用户的参数。

linux操作系统实验指导书第2周

第3周Linux文件与目录管理 一、实验内容 1.练习Linux文件和目录操作命令。 2.实验目的练习Linux文件权限和文件查找命令。 二、实验目的 1.掌握文件与目录管理命令 2.掌握文件内容查阅命令 3.了解文件与目录的默认权限与隐藏权限 4.掌握如何改变文件属性与权限 5.掌握命令与文件的查询方法 三、实验题目 1. 文件与目录管理 (1) 查看Ubuntu根目录下有哪些内容? (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的时间为当前时间 3. 文件权限 (1) 执行echo pwd >> pwd.sh,然后使用ls -al查询一下,发生了什么事? (2) 以两种方式查看系统中新建文件或目录的默认权限 (3) 新建文件test1和目录test2,查看它们的权限是否与(2)中的默认权限相符 (4) 修改pwd.sh文件权限为r-xr--r--。 (5) 执行pwd.sh。(提示:执行本路径下文件的命令是./文件名)。 (6) 添加用户stu,修改密码为123。 (7) 修改文件test1的属主为stu,test1所属的组为stu。 (8)增加test1的属主具有可执行的权限。 4. 文件查找 (1) 查看文件/root/.bashrc的类型 (2) 查询ifconfig和cd命令的完整文件名 (3) 只找出跟passwd有关的“说明文件”文件名 (4) 找出系统中所有与passwd相关的文件名 (5) 将过去系统上面3天前的24小时内有改动(mtime)的文件列出 (6) 使用find查找当前目录下比man.config新的文件,并存储到man.config.new文件。 (7) 列出/etc下比/etc/man.config新的文件 (8) 查找系统中所有属于root的文件及不属于任何人的文件 (9) 使用find查找/下面所有名称为man.config的文件。 (10) 找出文件名为man.config的文件 (11) 使用locate查找所有名称为man.config的文件。 (12) 11步和12步的结果一样么?为什么? (13) 找出/etc下文件类型为f的文件 (14) 找出系统中大于1M的文件

Linux实验五

常熟理工学院《Linux程序设计》实验报告 —学年第学期 专业 班级 学号 姓名 实验地点 指导教师刘在德 计算机科学与工程学院

实验要求 1.每次实验前,认真复习与本次实验有关的教学内容,认真预习本次实验内容。2.按照实验要求认真完成实验,把实验内容详细记入实验报告。 3.每一次新实验,实验报告另起一页。 4.报告封面要求(1)信息填写完整;(2)下划线右对齐,力求做到美观大方。5.打印实验报告(包括封面及本页),装订成册。 6.严谨抄袭,如果有n人实验报告内容雷同,每人得分为总分除以n。

实验五 Shell程序设计(二)(四号黑体) 【一】实验目的(小四黑体) 1.掌握Shell环境变量和系统变量 2.掌握算术表达式和逻辑测试表达式 3.掌握选择结构和循环结构 4.能综合运用上述知识编写复杂的Shell脚本程序 【二】试验预习(小四黑体) 1.常用环境变量有LOGNAME、HOSTNAME、HOME、PWD、PATH等,引用环境变量采用“$环境变量”,如$PATH 2.常用系统变量有$#、$*、$@、$i、$?、$$等 $#:传递给脚本程序的总的参数数目(不包括脚本名) $*:传递给脚本程序的所有参数组成的字符串 $@:传递给脚本程序的各个参数组成的字符串 $0:脚本程序名 $1~$9:传递给脚本程序的第一到第九个参数,${10}表示第十个参数 $?:Shell命令的返回值(退出状态),正常退出返回0,反之为非0值 3.算术表达式采用“((算术表达式))”,语法与C语言类似,比如a=10;b=20;sum=((a+b));echo $sum 也可以采用“expr 算术表达式”来实现,比如 a=10;b=20;sum=`expr $a + $b`;echo $sum 说明:①“((算术表达式))”中,变量名前不加$;而“expr 算术表达式”要加。 ②expr中表达式的运算符+前后有空格。如果运算符为特殊符号,前面加\,比如*(乘),写成\* 4.逻辑测试表达式采用“test 表达式”或者“[ 表达式]”(注意[ ]与表达式之间的空格)实现。表达式中运算符包括: 字符串比较:=、!=、>、<、-n、-z 算术运算符:-eq、-ge、-le、-ne、-gt、-lt 逻辑运算符:!、-a、-o 文件测试符:-d、-f、-x、-r、-w、-s等 小括号():改变运算符优先级 5.if语句 if [ 表达式1 ] then

Linux操作系统实验实验报告

实验1:安装L i n u x系统 【实验目的和要求】:安装Linux系统,掌握操作系统的系统配置,建立应用环境的过程。 【实验内容】: 1、首先在windows系统中安装虚拟机。在网上找到VMwareWorksttionPro版本, 确定安装目录。一直下一步,不需要太多的说明。 2、 图为安装完成后的界面。 3、然后在阿里巴巴开源镜像网站下载centos系统镜像,然后虚拟机创建新的虚 拟机, 进行一些简单的虚拟机设置,设置了网络链接nat模式等等。 安装完成后的界面 实验2:Linux下c语言开发 【实验目的】:学会和掌握用c语言开发一个应用程序的全过程,包括,编译,调试等等。

【实验步骤】:首先在系统中查看是否已经安装有gcc,输入查看命令发现没有,于是需要安装gcc。在centos系统中可以使用比较简便的yum命令。在之前已经配置好了yum源。直接输入yuminstallgcc。回车自动安装程序和需要的依赖包。 因为虚拟机中和电脑很多地方切换使用不方便,所以安装了xshell软件。图为xshell中的截图。

安装完毕。然后使用vi或者vim编写 运行,在屏幕上打印出hello,world。 实验3:进程创建 【实验目的和要求】1.了解进程的概念及意义;2.了解子进程和父进程 3.掌握创建进程的方法。 【实验内容】1.子进程和父进程的创建; 2.编写附件中的程序实例 【实验步骤】一1、打开终端,输入命令,在文件中输入中的代码; 2、输入命令,回车后显示无错误; 3、输入命令:./1_fork运行程序。 二、1、打开终端,输入命令,在文件中输入中的代码; 2、输入命令,回车后显示无错误: 3、输入命令:./2_vfork运行程序。 从上面可以看到两次的运行结果不一样。我们知道write函数是不带缓存的。因为在fork之前调用write,所以其数据写到标准输出一次。但是,标准I/O库是带缓存的。如果标准输出连到终端设备,则它是行缓存的,否则它是全缓存的。当以交互方式运行该程序时,只得到printf输出的行一次,其原因是标准输出缓存由新行符刷新。但是当将标准输出重新定向到一个文件时,却得到printf输出行两次。其原因是,在fork之前调用了printf一次,当调用fork时,该行数据仍在缓存中,然后在父进程数据空间复制到子进程中时,该缓存数据 也被复制到子进程中。于是那时父、子进程各自有了带该行内容的缓存。在exit 之前的第二个printf将其数据添加到现存的缓存中。当每个进程终止时,缓存中的内容被写到相应文件中。

实验一Linux操作系统基础

实验一 1 实验名称:Linux操作系统基础 2 实验目标 2.1 掌握安装Linux操作系统的方法。 2.2 掌握Linux操作系统的基本配置。 2.3 了解GNOME桌面环境。 2.4灵活掌握基本shell命令的使用。 3 实验准备 3.1 下载VMware Workstation虚拟机软件(版本不限)。 3.2 准备Linux操作系统的安装源(内核版本和发行版本均不限)。 注:实验准备、实验内容4.1和4.2作为回家作业布置,同学们利用课余时间完成。 4 实验要求、步骤及结果 4.1 安装虚拟机软件。 【操作要求】安装VMware Workstation虚拟机软件,版本不限,并填写以下内容。 4.1.1安装VMware Workstation虚拟机软件的环境(操作系统) 4.1.2VMware Workstation虚拟机版本号

4.2 安装Linux操作系统。 【操作要求】在VMware虚拟机下安装Linux操作系统,版本不限,并填写以下内容。 4.2.1 Linux发行版本: 4.2.2 Linux内核版本: 4.2.3Linux操作系统的主要配置参数

4.3 了解Linux操作系统的桌面环境之一GNOME。 【操作要求1】打开图形化用户界面、查看桌面图标,查看主菜单,查看个人用户主目录等使用环境。 【操作要求2】启动字符终端2,了解命令提示行含义。 Alt+F2+Ctrl

[用户名@主机名目录名]提示符 【操作要求3】注销字符终端2 【操作要求4】关闭图形化用户界面,关闭Linux操作系统。 4.4 掌握基本shell命令的使用。 注:以下需要截取shell命令与结果,没有结果截到下一命令提示行。 【操作要求1】用超级用户登陆;将主机名改为具有个人学号后3位特征的名称,退出虚拟终端后重新登录;查看当前目录的绝对路径。 【操作步骤-登陆】 【操作步骤-修改主机名】 【操作步骤-查看结果】 【操作要求2】查看ls命令的手册页帮助信息;了解其中-d选项的作用,并举例说明。 【操作步骤】 【主要显示结果1-ls命令-d选项】

linux实验报告

Linux技术上机实验指导

实验一Linux系统安装与简单配置 一、实验目的 1.掌握Linux系统安装的分区准备。 2.掌握Linux系统的安装步骤。 3.掌握Linux系统分区的挂载和卸载。 4.掌握Linux系统的启动和关闭操作。 二、实验内容 1.安装VMware虚拟机,设置光盘驱动器,为Linux系统安装做准备。2.在虚拟机下安装Linux操作系统(如Ubuntu桌面版本)。 3.配置Linux系统运行环境。 4.利用空闲分区创建新的Linux系统分区。 5.将新的Linux系统分区挂载到系统中;卸载新挂载的分区,重新挂载到目录树中的其他位置。 三、主要的实验步骤 1.制定安装系统的分区计划。 2.配置光驱引导镜像文件iso,启动系统,开始安装过程。 3.根据安装计划,对磁盘空间进行分区设置。 4.根据系统安装指导,完成Linux系统的安装过程。 5.安装成功后,退出系统,重新启动虚拟机,登陆Linux操作系统。6.对Linux系统进行配置,如网络设备等。 7.利用磁盘使用工具和mount,将新创建的Linux系统分区挂载到系统中。将新挂载的分区卸载,并重新挂载到目录树的其他位置。

实验二Linux常用命令使用 一、实验目的 1.掌握Linux一般命令格式。 2.掌握有关文件和目录操作的常用命令。 3.熟练使用man命令。 二、实验内容 1.熟悉cd、date、pwd、cal、who、echo、clear、passwd等常用命令。2.在用户主目录下对文件进行操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等。 3.对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。 4.利用man命令显示date、echo等命令的手册页。 5.显示系统中的进程信息。 三、主要实验步骤 1.登陆进入系统,修改个人密码。 2.使用简单命令:date、cal、who、echo、clear等,了解Linux命令格式。Date:

linux操作系统实验五

linux操作系统实验五

实验五进程管理子系统——进程控制 实验类别:设计型实验时数:6学时 开课单位:计算机学院 实验地点:健翔校区计算中心 一、实验目的 ◆掌握进程的概念,深入理解进程的含义。认识并理解并发环境中进程执 行的实质问题,了解构成并发机制的进程创建过程。能够使用系统调用完成进程创建,形成多个进程并发的环境。 ◆了解在进程创建后通过对进程控制的系统调用,可实现对进程的有效控 制。掌握在进程执行中对进程进行睡眠、同步、撤销等控制方法。 ◆进一步认识并发执行的实质,分析进程竞争资源的现象,学习解决进程 互斥的方法。 二、实验环境 操作系统:任何Unix/Linux及Sun Solaris 或windows 系列 应用系统:gcc编译器。若OS为windows系列,则还需相应的模拟环境 三、预备知识 1、L INUX系统中进程的含义

在LINUX中,进程既是一个独立拥有资源的基本单位,又是一个独立调度的基本单位。进程是并发环境中的实体,每个进程用一个task_struct的数据结构来表示,用来管理系统中的进程,因而task_struct就是LINUX系统中的PCB。另外,系统内核中还有一个task向量表,是指向系统中每一个task_struct数据结构的指针的数组,因而task向量表就是LINUX系统中的PCB表。 2、L INUX中的进程创建 除了init进程外,LINUX中的所有进程都是由其他进程创建的。LINUX 中提供了系统调用fork和clone,可被进程用来创建子进程。但系统调用fork 和clone其实都是调用内核函数do_fork(),通过克隆当前进程来创建子进程的。 四、实验内容 本实验要求在LINUX/UNIX环境下用C语言编写三个多进程并发执行的程序,基本涉及了LINUX/UNIX进程管理子系统中较为常用的有关进程控制的系统调用。实验内容如下: (1)使用fork()系统调用创建进程,使父、子进程分别运行不同的代码(要 求子进程在父进程之前运行): 子进程:①以长格式显示当前目录的情况;②分屏显示file1的内容。 父进程:①对1—100之间的自然数求和;②分屏显示file2的内容。 程序可能涉及到的系统调用:fork(), exec(), wait() 1

操作系统实验指导书(LINUX版)

《操作系统》实验指导书 实验学时:16 适用专业:计算机科学与技术 实验一:进程和线程的创建 1.在linux下编写一个应用程序,命名为an_ch2_1b。这个程序不断地输出如下行:Those output come from child,[系统时间] 另外写一个应用程序,命名为an_ch2_1a。这个程序创建一个子进程,执行an_ch2_1b。这个程序不断地输出如下行: Those output come from child,[系统时间] 观察程序运行的结果,并对你看到的现象进行解释。 2。在linux环境下编写一个控制台应用程序,程序中有一个共享的整型变量shared_var,初始值为0;创建一个线程并使其立即与主线程并发执行。新创建的线程与主线程均不断地循环,并输出shared_var的值。主线程在循环中不断地对shared_var进行加1操作,即每次循环shared_var被加1;而新创建的线程则不断地对shared_var进行减1操作,即每次循环shared_var被减1。观察程序运行的结果,并对你看到的现象进行解释。 3。提交源代码以及实验报告。 实验二:进程和线程同步和互斥 1。生产者消费者问题(信号量) 参考教材中的生产者消费者算法,创建5个进程,其中两个进程为生产者进程,3个进程为消费者进程。一个生产者进程试图不断地在一个缓冲中写入大写字母,另一个生产者进程试图不断地在缓冲中写入小写字母。3个消费者不断地从缓冲中读取一个字符并输出。为了使得程序的输出易于看到结果,仿照的实例程序,分别在生产者和消费者进程的合适的位置加入一些随机睡眠时间。

可选的实验:在上面实验的基础上实现部分消费者有选择地消费某些产品。例如一个消费者只消费小写字符,一个消费者只消费大写字母,而另一个消费者则无选择地消费任何产品。消费者要消费的产品没有时,消费者进程被阻塞。注意缓冲的管理。 2。用线程实现睡觉的理发师问题,(同步互斥方式采用信号量或mutex方式均可) 理发师问题的描述:一个理发店接待室有n张椅子,工作室有1张椅子;没有顾客时,理发师睡觉;第一个顾客来到时,必须将理发师唤醒;顾客来时如果还有空座的话,他就坐在一个座位上等待;如果顾客来时没有空座位了,他就离开,不理发了;当理发师处理完所有顾客,而又没有新顾客来时,他又开始睡觉。 3。读者写者问题 教材中对读者写者问题算法均有描述,但这个算法在不断地有读者流的情况下,写者会被阻塞。编写一个写者优先解决读者写者问题的程序,其中读者和写者均是多个进程,用信号量作为同步互斥机制。 4。提交源代码以及实验报告。 实验三:实现一个文件查找程序 仿照unix操作系统中的find命令,在实现一个myfind命令。myfind命令从指定的目录下开始,递归地查找指定文件。其命令格式如下: myfind PATH-option参数[-print][-exec命令{}\;] PATH:查找的起始目录。 -option参数:用来控制搜索方式,具体如下(以下只给我常用的): -name"文件":指定要查找的文件名,可以有通配符?*等。 -prune目录:指出搜索时不搜索该目录。 -mtime+n或-n:按时间搜索,+n:表示n天之前修改过的文件;-n:表示今天到n天前之间修改过的文件。 -ctime+n或-n:也是按时间查找,+n:表示n天之前创建的文件;-n:表示今天到n天前之间创建的文件。 -print:将搜索结果输出到标准输出。 可选的实验1:实现-exe选项。

linux实验三

淮海工学院计算机工程学院实验报告书 课程名:《网络操作系统》 题目:软件包管理与进程管理 班级:网络132 学号: 姓名:

一、目的与要求 1、掌握linux软件包管理方法。 2、掌握RPM命令的使用。 3、熟悉图形模式下软件管理工具的使用。 4、掌握常用进程管理的命令。 二、实验容与题目 1、下载并安装telnet软件包(分别采用-i、-ivh)。 2、删除上述安装的软件。 3、利用rpm查询上述软件 4、校验上述文件 5. 利用图形模式下的软件包管理工具安装和删除“Eclipse”的有关软件。 6、下载并安装OpenOffice套件。 7、查看进程的统计信息(静态、动态)。 8、查看进程名中包含“con”字符串的进程信息 9、后台运行gedit软件后,并把它调入前台,然后杀死它。 10、利用crontab实现每周一、三、五的17:30时,打包备份/etc/httpd目录中的文件到你的主目录。 11、练习at、pkill、pstree等命令的使用。 12、练习YUM软件工具的使用。 三、实验步骤与源程序 1、下载并安装telnet软件包(分别采用-i、-ivh)。

2、删除上述安装的软件。 3、利用rpm查询上述软件 4、校验上述文件 5. 利用图形模式下的软件包管理工具安装和删除“Eclipse”的有关软件。 6、下载并安装OpenOffice套件。 7、查看进程的统计信息(静态、动态)。

8、查看进程名中包含“con”字符串的进程信息 9、后台运行gedit软件后,并把它调入前台,然后杀死它。 10、利用crontab实现每周一、三、五的17:30时,打包备份/etc/httpd目录中的文件到你的主目录。 11、练习at、pkill、pstree等命令的使用。 12、练习YUM软件工具的使用。 四、测试数据和实验结果 1、下载并安装telnet软件包(分别采用-i、-ivh)。

(完整版)Linux操作系统实验指导书-4磁盘

Linux 操作系统》实验指导书 实验四 实验题目:磁盘管理 实验目的:熟悉并掌握磁盘管理常用命令;掌握利用虚拟机增加新硬盘,使用fdisk对磁盘分区操作;熟悉和了解磁盘显示信息内容;掌握使用卷组进行磁盘管理操作。 实验类型:综合 实验要求:必修 仪器设备:计算机 实验内容、方法、步骤: 1,使用GUI方式建立用户userOI,具体属性如下: 登录shell为/bin/bash,主目录/userOI,用户id: 520,用户组grpOl 2,使用修改配置文件方式建立用户user02,具体属性如下: 登录shell 为/bin/bash,主目录/user02,用户id: 530,用户组grp02 3,使用命令方式建立用户user03,具体属性如下: 登录shell为/bin/bash,主目录/user03,用户id: 530,用户组grp03,附属组grp02 4,对user01, user02, user03,设置密码并登录。

一、磁盘和分区信息查看 1 fdisk查看当前系统硬盘及分区情况,在实验报告中说明当前的磁盘容量,分区数量、名 称和大小,分区挂载点,分区使用方式(卷组名称、逻辑卷名称和大小)。 步骤:fdisk - 2显示当前文件系统使用情况,在实验报告中说明当前主要文件系统信息及使用情况(包括主要文件系统名称、挂载点、容量、使用量及百分比等) 步骤:df — 二、添加新硬盘 内容:关闭虚拟机操作系统,添加2块硬盘,大小分别为5G和10G。开机后查看新硬盘 是否成功添加。 步骤: 1 关机:in it 0 2添加新硬盘:右键单击虚拟机,选择setting (设置)。在Add中按照要求添 加2块新硬盘(HardDisk ) 3开机后,打开终端。输入命令fdisk -或Is /dev/sd*查看新硬盘是否添加成功。 三、对新添加硬盘进行分区 内容: 1.将第二块硬盘sdb分区(5G),要求分区1 (sdb1 )为主分区,类型为swap (82),大小为500M ;分区2 (sdb2)为主分区,类型为linux (83),大小为 2G;分区3为扩展分区(sdb3),大小为sdb所有剩余容量;分区5为逻辑分区,类型为lvm (8e),大小为2G。分区后,查看sdb新添加所有分区,将截图添加到实验报告 中。 raot^AS5:jid?v _賀 中件? 狒(曰音百?池①标符? 苕时3 Last cylludAT or raize or taizeM or zeL (307 6S2 default 65^)i052N Comaomd (n for help)s □ Co>niaand action 1 logical(5 or over) p prlnsr partilion (1-4) 1 First cylinder (307-652. defoul t307)t defautt vftlue 307 Laat cylinder or H-size or i-si or "bsl sei1307 052,default C52)s^2G

相关文档