Linux实验五
Linux操作系统实验实验报告

L i n u x操作系统实验实验报告Document number:NOCG-YUNOO-BUYTT-UU986-1986UT实验1:安装Linux系统【实验目的和要求】:安装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,所以其数据写到标准输出一次。
linux 实验五 命名管道实验

实验五 命名管道实验
1. 研究mkfifo 命令,在当前目录下创建一个myfifo 的命名管道。
(1)程序流程图:
(2)运行结果:
2、用mkfifo ()函数实现相同的功能。
(1)程序流程图:
(2)程序源代码:
/*mk_fifo.c*/ 终端中输入:
mkfifo
fifo_channel 用ls 命令查看当前目录是否产生了名为fifo_channel 的管道。
创建fifo 文件用的是函数mkfifo() mode 用来简历文件的权限,该函数成功则返回0,失败时返回-1,并且设置errno.
(3)运行结果:
3、编写一个服务器程序server.c ,实现从管道myfifo 中读取内容,并在终端中显示出来。
打开一个命令行终端,运行server ,然后打开另一个命令行终端,使用“cp 文件1 myfifo ”命令把文件1的内容输出到myfifo ,测试server.c 的功能。
(1)程序流程图:
(2)程序源代码: 创建管道,打开
管道,读出数据 利用命令cp ,把a 的内容复制到管道中
(3)运行结果:
4、编写客户机程序,实现把指定文件输出到myfifo的功能,从而实现和服务器程序的通信。
测试该程序的功能。
(1)程序流程图:基本同3,就不再画了。
(2)程序源代码:
/*server2.c*/
(3)实验结果:。
(完整)广州大学Linux_实验五

广州大学学生实验报告一、实验目的通过一个简单的设备驱动的实现过程。
学会Linux中设备驱动程序的编写二、使用仪器、器材1.设备:带网卡的PC若干、交换机一台。
2.工具:网线若干,已经安装好Red Hat Linux 9。
0系统的PC一台。
三、实验内容及原理设计和实现一个虚拟命名管道(FIFO)的字符设备。
写一个模块化的字符设备驱动程序四、实验过程(1)设备的实现1、数据结构/*vfifo.c*/#ifndef __KERNEL__#define __KERNEL__#endif#ifndef MODULE#define MODULE#endif#define __NO_VERSION__#include〈linux/config。
h>#include〈linux/module。
h>#include<linux/kernel.h〉#include〈linux/malloc。
h〉#include〈linux/fs。
h〉#include<linux/proc_fs。
h〉#include<linux/errno.h〉#include<linux/types。
h〉#include〈linux/fcntl。
h>#include〈linux/init。
h〉#include〈asm/system.h〉#include<asm/uaccess.h〉#ifndef VFIFO_MAJOR#define VFIFO_MAJOR 241#endif#ifndef VFIFO_NR_DEVS#define VFIFO_NR_DEVS 4#endif#ifndef VFIFO_BUFFER#define VFIFO_BUFFER 4000#endif#include<linux/devfs_fs_kernel。
h〉devfs_handle_t vfifo_devfs_dir;struct file_operations vfifo_fops;int vfifo_major=VFIFO_MAJOR;int vfifo_nr_devs=VFIFO_NR_DEVS;int vfifo_buffer=VFIFO_BUFFER;MODULE_PARM(vfifo_major,"i");MODULE_PARM(vfifo_nr_devs,"i");MODULE_PARM(vfifo_buffer,"i");MODULE_AUT HOR(”EBUDDY”);结构体/*vfifo。
linux实验报告

linux实验报告实验目的:通过对Linux操作系统的实践,掌握基本的Linux命令和操作方法,了解Linux操作系统的特点和优势。
实验一:Linux环境搭建在实验一中,我们首先需要搭建Linux操作系统的环境。
根据实验指导书的要求,我们选择了Ubuntu作为实验平台。
通过下载Ubuntu镜像文件,并利用虚拟机软件创建一个虚拟机,将镜像文件安装到虚拟机中。
在安装过程中,我们需要选择合适的分区和网络配置等,并设置root用户的密码。
实验二:基本命令的使用在实验二中,我们主要学习了Linux的基本命令的使用方法。
首先,我们了解了Linux文件系统的结构,包括根目录、用户目录、系统目录等。
然后,通过命令行终端进行一系列的实践操作,比如查看文件内容、创建目录、复制文件等。
这些命令的使用不仅提高了我们的工作效率,同时也增强了对Linux操作系统的理解。
实验三:软件安装与卸载实验三主要涉及到Linux的软件安装与卸载。
我们首先学习了使用APT工具进行软件包管理,通过安装命令行界面的方式安装了一些常用的软件,比如文本编辑器、终端工具等。
此外,我们还学习了如何卸载已安装的软件包,清理不需要的文件,以保持系统的整洁性。
实验四:权限管理在实验四中,我们学习了Linux的权限管理机制。
Linux操作系统采用了基于用户和组的权限模型,通过设置文件和目录的权限,实现对文件的读、写、执行的控制。
我们通过实际操作,创建了新的用户和组,并为不同的用户和组设置了不同的权限。
这样,可以有效地保护系统的文件和数据的安全性。
实验五:网络配置与服务搭建在实验五中,我们主要学习了Linux的网络配置和服务搭建。
通过设置网络接口、IP地址和网关等参数,实现了网络的正常连接。
同时,我们还学习了一些常用的网络命令,比如ping、ssh等。
此外,我们尝试搭建了一个简单的Web服务器,通过浏览器访问,可以查看服务器上的网页。
实验六:系统监控和故障恢复在实验六中,我们学习了Linux的系统监控和故障恢复方法。
linux 基本操作 实验报告

linux 基本操作实验报告《Linux基本操作实验报告》Linux操作系统是一款开源的操作系统,具有稳定性高、安全性强等特点,因此在服务器领域得到了广泛的应用。
对于初学者来说,熟悉Linux的基本操作是非常重要的,下面我将分享一份Linux基本操作的实验报告。
实验一:登录和退出Linux系统首先,我们需要了解如何登录和退出Linux系统。
在登录界面输入用户名和密码后,我们就可以进入系统。
在系统中,我们可以使用命令“exit”来退出系统。
实验二:文件和目录操作在Linux系统中,文件和目录的操作是非常重要的。
我们可以使用命令“ls”来查看当前目录下的文件和目录,使用命令“cd”来切换目录,使用命令“mkdir”来创建新的目录,使用命令“rm”来删除文件或目录。
实验三:文件编辑在Linux系统中,我们可以使用命令行工具来编辑文件。
比较常用的编辑器有vi和nano。
我们可以使用命令“vi”或“nano”来打开文件进行编辑,然后保存并退出。
实验四:用户和权限管理Linux系统中的用户和权限管理也是非常重要的。
我们可以使用命令“useradd”来添加新用户,使用命令“passwd”来修改用户密码,使用命令“chmod”来修改文件或目录的权限。
实验五:系统管理最后,我们还可以使用一些命令来管理系统。
比如使用命令“ps”来查看当前系统进程,使用命令“top”来查看系统资源占用情况,使用命令“shutdown”来关闭系统。
通过以上实验,我们可以初步了解Linux系统的基本操作。
当然,Linux系统还有很多其他的功能和命令,需要我们不断学习和实践。
希望大家能够通过实践不断提升自己的Linux操作技能,为今后的工作和学习打下坚实的基础。
Linux实验

实验一Linux的认识一、实验的目的要求通过实验,使学生初步熟悉Linux环境,了解Linux的目录结构和文件,了解Linux命令的特点,能够完成登录和密码修改工作。
二、实验内容1、虚拟机的基本操作及应用虚拟机的启动、关闭,虚拟机的基本管理2、系统登录和用户管理1)用用户名root、密码linux登录系统登录系统后修改自己的密码。
修改密码用命令passwd。
2)用“a学号”作为用户名,建立一个用户,并设置密码建立用户用命令adduser3)用vi查看/etc/passwd和/etc/shadow文件,读懂各域的意义3、用列目录命令,查看系统的文件。
ls –l 列当前目录下的文件cd <路径名> 修改当前的目录4、退出系统用户不再使用系统,需要退出,否则别人可能利用你的工作环境进入系统,对信息进行破坏。
退出系统用logout或exit5、关闭系统和Windows系统一样,Linux必须用关机命令关闭系统。
关机:shutdown –h now重新启动用:shutdown –r now四、操作与思考1、从你上机的体验中,说明为什么说Linux是多用户操作系统。
2、logout(或exit)并不是关闭Linux服务器,关闭服务器的命令是“shutdown –h now”。
非root用户能执行该命令码?想想为什么。
实验二文件操作命令一、实验的目的要求通过实验,使学生掌握Linux的文件和目录的安全机制,并能正确使用安全机制保护自己的文件,能熟练使用常用的文件操作命令。
二、常用命令df 查看已安装文件系统的使用情况mount 安装文件系统umount 拆卸文件系统ls 列文件目录cd 改变当前目录mkdir 创建目录cat 显示文件内容cp 拷贝文件rm 删除文件mv 移动文件chown 改变文件属主chmod 改变文件权限三、实验内容0、用df和mount查看已安装文件系统的情况1、用ls和cd 命令查看系统各目录中的文件及属性2、用cat命令查看/etc/passwd等文件的内容。
linux实验

嵌入式操作系统实验指导书苗暹黄连丽目录实验一 Linux命令使用实验二 vi编辑器的使用实验三 shell编程实验(一)实验四 shell编程实验(二)实验五 Linux开发工具的使用实验六 Linux编程实验(一)实验七 Linux编程实验(二)实验八 Linux的系统及网络管理实验实验一 Linux命令使用班级:姓名:学号:上机时间:任课教师:实验教师:实验成绩:一、实验目的1.掌握Linux的一般命令格式。
2.掌握有关文件和目录操作的常用命令。
3.掌握有关进程操作的常用命令。
4.熟练使用man命令。
二、实验注意事项实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。
要求每个同学登录后系统后,要在主目录(/home/student)下创建一个属于自己的子目录(以自己(拼音)名字或学号)。
以后所有工作都要在自己的目录内进行。
建议以后的实验都在同台计算机上做,这样可以保持连续性。
三、实验内容及步骤:1.登录进入系统。
开机,选择进入,再选择登陆窗口,输入用户名:,输入密码:,进入Ubuntu图形桌面环境。
2.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。
要启动一个终端,可以选择在终端提示符下输入:date↲显示:。
在终端提示符下输入:who ↲显示:。
在终端提示符下输入:who am I ↲显示:。
在终端下显示Hello! 命令:。
在终端提示符下输入:clear ↲显示:。
在终端提示符下输入:cal ↲显示:。
3.浏览文件系统:(1)运行pwd 命令,确定当前工作目录,记录之:。
(2)运行ls命令,查看当前目录下有哪些文件和子目录,简略记录。
(3)运行ls -l命令,理解文件各字段的含义,找一个文件标注。
(4)运行ls -ai命令,理解各字段的含义。
(5)使用cd /命令,将当前目录改变为根目录(/)。
运行ls -l命令,结合书中给出的Linux树状目录结构,了解各目录的作用。
linux实验五 用户管理

集美大学Linux系统管理课程实验报告课程名称:Linux系统管理班级:软件1115实验成绩:指导教师:范明红姓名:许云云实验项目名称:实验五:用户管理学号:2011813035上机实践日期:1.实验目的:1)熟悉Linux操作系统中的用户和组的概念。
2)掌握Linux操作系统中用户管理。
3)理解用户管理涉及的系统配置文件。
2.实验要点:1.认真阅读课本相关的内容,掌握相关指令的使用。
2. 理解系统管理中的用户管理的概念,掌握如何在Linux系统中管理用户和组。
3.实验准备:1 熟悉useradd(adduser)和userdel指令的使用2 熟悉groupadd和groupdel指令的使用3 熟悉passwd指令的使用4了解who、id、,finger,chfn,groups、whoami、newgrp指令的用法5 学习使用用户管理器管理用户4.实验内容:设置系统以字符界面方式启动:4.1用户管理1:使用useradd(adduser)指令添加名称为user1、user2、user3、user4的用户,分别为其设定密码。
2:使用userdel指令删除user4用户3.使用chfn指令添加用户的详细信息,并使用finger指令察看相关信息。
4.锁定user1用户,使其无法登陆。
(有2种方法)5.在其他终端使用用户user1、user2等登陆验证。
6.为user1解锁,使其能正常登陆。
方法一:使用usermod锁定:解锁:方法二:使用passwd锁定:解锁:4.2组管理。
1:使用groupadd指令添加user和group两个组2:使用groupdel指令删除group组3: 将用户user1、user2、user3添加到user组中。
4:指定user1为组管理员。
5.使用user1账户登陆,删除组内成员user3.6.更改user1账户的主组为user并验证。
4.3其他指令使用who、id、whoami、groups等指令1:使用who指令查看当前登陆系统的用户2:使用id指令查看当前用户的UID与GID3:使用whoami指令查看当前使用shell的用户名称4.4 打开用户管理配置文件/etc/passwd,/etc/shadow,/etc/group察看内容:查看/etc/passwd文件部分内容:查看/etc/ shadow文件部分内容:查看/etc/group文件部分内容:4.5 打开图形界面,使用用户管理器管理用户和组。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常熟理工学院《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
操作1
elif [ 表达式2 ]
then
操作2
…
else
操作n
fi
6.case语句
case 变量值in
模式1)
操作1;;
模式2)
操作2;;
…
*)
操作n;;
esac
说明:case的作用就是当变量值与某个模式相同时就执行其后的操作。
模式可以用"|"进行组合,表示或的意思。
注意操作后面的两个";;"是必须的。
7.for语句
for 变量in 字符串列表
do
操作
done
说明:for依次把字符串列表中的字符串读入变量,并执行循环体
8.while语句
while [ 表达式]
do
操作
done
9.until语句
until [ 表达式]
do
操作
done
说明:until语句,表达式为假时执行循环体
【三】实验内容(小四黑体)
1.启动vi编辑器,输入以下shell脚本
#! /bin/bash
echo “程序名: $0”
echo “参数个数: $#”
echo “所有参数: $@”
echo “前三个参数: $1 $2 $3”
shift
echo “程序名: $0”
echo “参数个数: $#”
echo “所有参数: $@”
echo “前三个参数: $1 $2 $3”
shift 3
echo “程序名: $0”
echo “参数个数: $#”
echo “所有参数: $@”
echo “前三个参数: $1 $2 $3”
exit 0
存盘后,执行
bash 程序名参数1 参数2 参数3 参数4 参数5 参数6 参数7 查看运行结果,分析$0, $#, $@, $1, $2, $3的含义。
2.启动vi,输入以下脚本
#! /bin/bash
#script for finding the sum of parameters
if [ $# -eq 0 ] #while [ $# = 0 ]
then
echo "Usage: $0 number-list"
exit 1
fi
sum=0 #sum of numbers
count=$# #number of parameter
while [ $# -ne 0 ] #while [ $# != 0 ]
do
sum=`expr $sum + $1`
shift
done
echo "The sum of the given $count numbers is $sum."
exit 0
存盘后,执行:bash 脚本名 1 4 9 16 25 36 49
分析运算结果。
3.编写一个Shell脚本程序,计算1~100的和,并输出结果。
4.编写一个Shell脚本程序,判断用户家目录中是否存在“doc”子目录,若存在输出提示信息;否则,创建“doc”子目录,并提示信息。
5.编写一个Shell脚本程序,统计用户家目录中文件的总数,普通文件数和目录文件数。
6.编写一个脚本程序,实现一个文件操作选项菜单,具有:(1) 创建一个文件(touch);(2) 编辑文件(vi);(3) 查看文件内容(cat | more);(4) 复制文件(copy);
(5) 重命名文件(mv);(6) 删除文件(rm);(7)退出菜单(break)等功能。
要求,选项和文件名用read函数输入。
此例中用到了循环语句、分支语句、输入输出语句read和echo等,是一个典型的Shell综合脚本。
7.修改脚本6,用菜单形式完成简单计算器功能,包括加、减、乘、除、退出等功能,要求操作符号和操作数用read函数输入。
【四】实验步骤(小四黑体)
【五】实验结果(小四黑体)【六】实验结果分析(小四黑体)。