Linux操作实验4

Linux操作实验4
Linux操作实验4

Linux操作实验4

实验目的:

1.学习如何创建一个Linux目录的层次结构;

2.学习有关绝对路径和相对路径;

3.学习有关主目录(home directory)、登录目录、工作目录(当前目录);

4.学习如何有效导航Linux目录层次;

5.学习有关文件内容类型和隐含文件;

6.学习有关文件属性。

实验内容:

Linux文件系统的结构如下:

Linux系统主要目录说明:

§/bin:也称二进制(binary)目录,包含了那些供系统管理员和普通用户使用的重要的Linux命令的可执行文件。一些常用的命令有:bash、cat、chmod、cp、date、echo、kill、ln、mail、mkdir、more、mv、ps、pwd、

rm、rmdir、sh、stty、su、tcsh、uname和vi。一些用于系统恢复的命令

如:tar、gzip、gunzip和zcat。还有一些网络命令如:domainname、hostname、netstat和ping。目录/usr/bin下存放了大部分的用户命令。

§/boot :在这个目录下存放系统启动时要用到的程序。包括Linux内核的二进制映像。内核文件名是vmlinux加上版本和发布信息。

§/dev:dev 是设备(device)的英文缩写。在这个目录中包含了所有linux 系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。

§/etc :etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。

§/sbin :这个目录是用来存放系统管理员的系统管理程序。

§/home :存放用户的主目录。如果建立一个用户,用户名是“ji”,那么在/home目录下就有一个对应的/home/ji路径,用来存放用户的主目录。

§/lib :lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。

§/mnt :这个目录主要用来临时装载文件系统,系统管理员运行mount命令完成装载工作。

§/opt:该目录用来安附加软件包

§/proc :目录存放了进程和系统得信息,可以在这个目录下获取系统信息。

这些信息是在内存中,由系统自己产生的。

§/root :根(root)用户的主目录。如果用户是以超级用户的身份登录的,这个就是超级用户的主目录。

§/sbin,/usr/sbin,/usr/root/sbin:存放了系统管理的工具、应用软件和通用的root用户权限的命令。

§/tmp :用来存放不同程序执行时产生的临时文件。

§/usr :是linux文件系统中最大的目录之一。它存放了可以在不同主机间共享的只读数据。

§/lost+found : 目录中存放所有和其他目录没有关联的的文件,这些文件可以用Linux工具fsck查找得到。

§/sbin : /usr/sbin : /usr/local/sbin : Contains system administration command files that can only be run by the root user.

§/var : 用来存放易变的数据,这些数据在系统运行过程中会不断变化。

/var/spool/mail 存放收到的电子邮件,/var/log 存放系统的日志。

本实验用到的命令有:PATH, cd, echo, file, ls, mkdir , pwd , rmdir等。

1.登录到你的Linux系统

2.在你的主目录下建立如下图所示的目录树。给出完成这项工作的所有会

话。(会话是指你命令的输入和结果的输出,你提交的作业要包含这些内容)

3.显示你登录目录的绝对路径,给出这个会话过程。。

4.在系统中,执行cd professional/courses 命令,回答下列问题:

a.你的主目录的绝对路径是什么?给出获得该绝对路径的命令及命

令输出。

b.acm目录的绝对路径是什么?

c.给出acm目录的两个相对路径。

d.执行cd major/cs381/labs命令。然后执行一个命令显示当前目录的

绝对路径,给出这个会话过程。

e.给出获得你的主目录三个不同的命令。

5.改变目录到/usr。在这个目录下有多少个文件和目录,他们的文件内容类

型是什么?

6.在/usr/bin目录下有多少个普通文件、目录文件和链接文件?如何得到这

个答案?

7.你系统中的Linux内核映像文件在那个目录中?给出这个可执行内核映

像文件的名称和文件内容类型。

8.Linux系统规定,隐含文件是首字符为”.”的文件,如.profile。在你的系统

中查找.profile和.login文件,他们在什么地方,给出这两个文件部分内容。

9.显示你的主目录下的所有隐含文件的文件名。给出你的会话过程。

10.下面这些目录的inode号是多少:root、你的主目录(home directory)、

~/temp、~/professional、和~/personal? 写出会话过程。注:符号“~”为主目录

11.在labs目录下,用文本编辑器创建一个名字为lab1的文件,文件的内容

为:“Use a text editor to create a file called lab1 under the labs directory in your directory hierarchy. The file should contain the text of this problem. ”。

回答下列问题:

https://www.360docs.net/doc/b418127433.html,b1文件的类型,用Linux命令回答这个问题,给出会话过程。

https://www.360docs.net/doc/b418127433.html,b1文件内容的类型,用Linux命令回答这个问题,给出会话过程。

12.在linux系统中,头文件有.h扩展名。在/usr/include/sys目录中,显示所有

以t字母开头的头文件的名字。给出会话过程。

13.退出系统。

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基本操作 一.实验目的: 1. 二.实验环境: 虚拟机+Red Hat Enterprise Server 5.0 三.实验内容: 根据以下的文字提示,调用相应的命令来完成,记录相应的运行结果。一)用户和组基本操作 1.添加一个user01用户,家目录为/home/sub2,并设置密码 2.添加一个group1 组 3.将user01用户添加到group1组中 4.修改group1组名称为group2 5.修改user01的家目录为/home/user01 6.判断/etc/password这个目录是否包含user01这个用户 7.修改user01的shell为/bin/tcsh 8.添加一个group3组,把user01和root用户都添加到该组

https://www.360docs.net/doc/b418127433.html,er01用户从group2组切换到group3组 10.设置user01的密码在2012-5-20过期 11.把/home/user01目录所属的组修改为group3 12.删除user01帐号 13.查看内核版本号 二)进程管理 1.运行cat命令:vi test,输入若干字符如this is a example,挂起vi进程 2.显示当前所有作业 3.将vi进程调度到前台运行

4.将vi进程调度到后台并分别用kill/pkill/killall命令结束该该进程。 三)磁盘管理 1.通过fdisk 将为硬盘增加一个分区(主分区或者逻辑分区)。 2.并格式化ext3系统,

3.检测分区是否有坏道 4.检测分区的完整性 5.加载分区到/mnt目录(或者其他分区)下,并拷贝一些文件到该目录下 6.(选做)为test用户设置磁盘配额(软限制和硬限制参数自行设定) 7.退出/mnt目录后卸载该分区 8.用du查看/usr目录的大小

LINUX实验报告

实验报告 ( 2014/ 2015 学年第一学期) 课程名称操作系统A 实验名称文件系统 实验时间2014 年12 月8 日指导单位计算机学院计算机科学与技术系 指导教师徐鹤 学生姓名王生荣班级学号B12040809 学院(系) 计算机学院专业软件工程

实验名称文件系统指导教师徐鹤 实验类型设计实验学时 2 实验时间2014.12.08 一、实验目的和要求 1. 学习LINUX系统下对文件进行操作的各种命令和图形化界面的使用方法。 2. 深入学习和掌握文件管理系统的基本原理和LINUX等操作系统下常用的系统调用,编写一个使用系统调用的例程。 3.实现一个文本文件的某信息的插入和删除 4.实现一个记录文件的某记录的插入和删除 二、实验环境(实验设备) Windows XP + VMWare + RedHat Linux 8

三、实验过程描述与结果分析 1. 目录/proc下与系统相关的文件和目录 (1) /proc/$pid/fd:这是一个目录,该进程($PID号码进程)每个打开的文件在该目录下有一个对应的文件。 例如:#ls /proc/851/fd 0 1 2 255 这表示,851号进程目前正在使用(已经打开的)文件有4个,它们的描述符分别是0、1、2、255。其中,0、1、2 依次分别是进程的标准输入、标准输出和标准错误输出设备。 (2)/proc/filesystems:该文件记录了可用的文件系统类型。 (3)/proc/mounts:该记录了当前被安装的文件系统信息 例如:#cat /proc/mount (4)/proc/$pid/maps:该文件记录了进程的映射内存区信息。 例如:#cat /proc/851/maps 2.常用命令讲解 ls 命令 用来查看用户有执行权限的任意目录中的文件列表,该命令有许多有趣的选项。例如: $ ls -liah * 22684 -rw-r--r-- 1 bluher users 952 Dec 28 18:43 .profile

Linux实验项目四--shell编程

实验项目四shell编程 一、实验目的 (1)了解shell的作用和主要分类; (2)掌握bash的建立和执行方式; (3)掌握bash的基本语法; (4)学会编写shell脚本。 二、实验内容 (1)shell脚本的建立和执行; (2)历史命令和别名定义; (3)shell变量和位置参数、环境变量; (4)bash的特殊字符; (5)一般控制结构; (6)算术运算及bash函数。 三.实验软件 VMWare Workstation 5.0; Red hat linux 9.0; 四.实验主要步骤 1、利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用命令。然后以不同方式执行脚本。 2、运行history命令,配置历史命令环境。 3、体会bash的命令补齐功能。 4、用alias定义别名,然后执行。 5、编辑如下脚本进行执行: 6、编写一个shell脚本,求斐波那契数列的前10项及总和。 7、设计一个程序cuts,它由标准输入读取数据,获取由第一个参数n和第二个参数m所限定范围的数据,n和m都是整数,即从输入的字符串中抽取第n个字符至第m个字符之间的所有字符(包括这两个字符)。例如: $cuts 11 14 tis is a test of cuts program (输入) tst(显示结果

五.实验结果 1、利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用命令。然后以不同方式执行脚本。 2、运行history命令,配置历史命令环境。 3、体会bash的命令补齐功能。 双击tab键,能列出所有符合条件的结果,只有唯一结果时单击可补全。 4、用alias定义别 名,然后执行。 5、编辑如下脚本进行执行:

2《Linux基础》实验报告 基本配置Linux

实验序号: 2 《Linux基础》 实验报告 实验名称:基本配置Linux操作系统 姓名: 学院:计算机学院 专业: 班级: 学号: 指导教师: 实验地址:N6-113 实验日期:2017.3.7

说明 一.排版要求 1.实验报告“文件名”按模板要求填写。 2.一级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,四号字体,加粗。 3.二级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,小四号字体,加粗。 4.三级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,五号字体。 5.正文:每段缩进量:2个汉字。两端对齐;汉字用宋体,阿拉伯数字用 Times New Roman字体,五号字体。 6.图形要求 (1)在正文中要有引用。 (2)要有图名,图名位于图的下方,汉字用宋体,阿拉伯数字用Times New Roman字体,五号字体。 (3)图和图名“居中”。 7.表格要求 (1)在正文中要有引用。 (2)要有表名,表名位于表的上方,汉字用宋体,阿拉伯数字用Times New Roman字体,五号字体。 (3)表和表名“居中”。 二.注意事项 1.复制、拷贝、抄袭者取消成绩。 2.没有安实验报告排版要求者不及格。

实验2基本配置Linux操作系统实验 【实验目的】 1.。。。。 2.。。。。 3.。。。。 4.思考: (1)Linux默认的系统超级管理员帐户是什么? (2)Linux的操作系统引导器是什么?它有哪几种的操作界面? (3)RHEL的支持哪几种X-Window图形管理器?默认是使用哪一种?(4)RHEL支持哪几种Shell?默认是使用哪一种? 【实验原理】 1.。。。 。。。 2.。。。 。。。 (1)。。。 。。。 (2)。。。 。。。 3.。。 【实验环境】 1.实验配置 本实验所需的软硬件配置如表1所示。 表1 实验配置 本实验的环境如图1所示。

实验报告1windows的基本操作范例

实验名称:Windows的基本操作 一、实验目的 1.掌握桌面主题的设置。 2.掌握快捷方式的创建。 3.掌握开始菜单的组织。 4.掌握多任务间的数据传递——剪贴板的使用。 5.掌握文件夹和文件的创建、属性查看和设置。 6.掌握文件夹和文件的复制、移动和删除与恢复。 7.熟悉文件和文件夹的搜索。 8.熟悉文件和文件夹的压缩存储和解压缩。 二、实验环境 1.中文Windows 7操作系统。 三、实验内容及步骤 通过上机完成实验4、实验5所有内容后完成该实验报告 1.按“实验4--范例内容(1)”的要求设置桌面,将修改后的界面复制过来。 注:没有桌面背景图“Autumn”的,可选择其它背景图。 步骤:在桌面空白区域右击,选择菜单中的“个性化”,在弹出的窗口中点击“桌面背景”,在背景栏内选中“某一张图片”,单击“确定”。 修改后的界面如下图所示: 2.将画图程序添加到“开始”菜单的“固定项目列表”上。 步骤:右击“开始/所有程序/附件”菜单中的画图程序项,在弹出的快捷菜单中选“附到「开始」菜单”命令。 3.在D盘上建立以“自己的学号+姓名”为名的文件夹(如01108101刘琳)和其子文件 夹sub1,然后:

步骤:选定D:\为当前文件夹,选择“文件/新建/文件夹”命令,并将名字改为“学号+姓名”;选定“ D:\学号+姓名”为当前文件夹,选择“文件/新建/文件夹”命令,并将名字改为“sub1” ①在C:\WINDOWS中任选2个TXT文本文件,将它们复制到“学号+姓名”文件夹中;步骤:选定“C:\WINDOWS”为当前文件夹,随机选取2个文件, CTRL+C复制,返回“D:\学号+姓名”的文件夹,CTRL+V粘贴 ②将“学号+姓名”文件夹中的一个文件移到其子文件夹sub1中; 步骤:选定“ D:\学号+姓名”为当前文件夹,选中其中任意一个文件将其拖拽文件到subl ③在sub1文件夹中建立名为“”的空文本文档; 步骤:选定“ D:\学号+姓名\ sub1”为当前文件夹,在空白处单击右键,选择“新建\文本文档”,把名字改为test,回车完成。 ④删除文件夹sub1,然后再将其恢复。 步骤:选定“ D:\学号+姓名”为当前文件夹,右键单击“sub1”文件夹,选择“删除”,然后打开回收站,右键单击“sub1”文件夹,在弹出的快捷菜单中选择“还原”。 4.搜索C:\WINDOWS\system文件夹及其子文件夹下所有文件名第一个字母为s、文件长 度小于10KB且扩展名为exe的文件,并将它们复制到sub1文件夹中。 步骤:选定“ C:\WINDOWS\system”为当前文件夹,单击“搜索”按钮,在左侧窗格选择“所有文件和文件夹”,在“全部或部分文件名”中输入“s*.exe”,在“大小”中,选择“0~10KB”。 5.用不同的方法,在桌面上创建名为“计算器”、“画图”和“剪贴板”的三个快捷方式, 它们应用程序分别为:、和。并将三个快捷方式复制到sub1文件夹中。 步骤:①在"开始"菜单的"所有程序"子菜单中找到"计算器",单击右键,在弹出的快捷菜单中选择“发送到\桌面快捷方式”。 ②在"开始"菜单的"所有程序"子菜单中找到"画图",将其拖至桌面空白处。 ③在桌面上单击右键,在弹出的快捷菜单中选择“新建\快捷方式”,在“创建快捷方式”

Linux实验报告(实验四) shell编程实验

实验四 shell编程实验(二) 班级:姓名:学号:上机时间:年月日 任课教师:实验教师:实验成绩: 一、实验目的 综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程。 二、实验注意事项 实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。 三、实验内容 1. 编写一个脚本,求斐波那契数列的前10项及总和。 num1=1 num2=1 echo -n “$num1+$num2” sum=2 for((i=1;i<=8;i++)) do tmp=$(expr $num1 + $num2) echo -n “+$tmp” ((num1=num2)) ((num2=tmp)) sum=$(expr $sum + $tmp) done echo “=$sum” 2.编写一个脚本,求一个数的逆序。 echo -n please input num: read num echo -n The num is while [ $num -gt 0 ] do sd=$(($num % 10)) echo -n "$sd" num=$(($num/10)) done echo

3.设计一个Shell程序,在用户主目录下建立一个userdata目录,在此目录下再建立5个目录,即user1~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。(注意:最后删除自己所建立的目录,恢复原样,以便后面同学做此实验) mkdir -m 754 /home/userdata i=1 temp=/home/userdata/user while[ $i -le 5 ] do mkdir -m 754 $temp$i let”i=i+1”# done 4.用Shell编程,判断一文件是不是普通文件,如果是将其拷贝到/home/student/test 目录下,用命令查看test目录内容,最后再删除test目录。 mkdir -m 777 /home/test echo “Input file name:” read FILENAME if [ -f “$FILENAME” ] then cp $FILENAME /home/test ls /home/test cd test rm $FILENAME cd . ls else echo”The FILENAME is not a regular file!” fi 5.编程实现简单计算器。要求用户输入一个表达式并输入结果,程序会判断用户输入的结果是否正确,并给出提示。直到用户输入‘q’时,才退出执行。 参考程序: #!/bin/bash #fileName:first #note:This is the first title #function:input an expretion and the answer, I will tell you right or wrong # You can try it as many times as you like. echo Hello! @_@ echo Welcom to the calculate testing! echo You can input an expretion such as 2*2 or 3+1, and input the answer echo I will tell you whether you are right or wrong. echo You can input 'q' to exit.

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目录下的内容,命令是分页显示。“|”是管道符号,它可以将多个命令输出信息当作某个命令的输入。

1 药理实验基本操作

实验1 药理实验基本操作 一、试验报告的撰写 实验报告要求结构完整、条理分明、用词规范、详略得当。 内容包含:试验题目、试验目的、实验原理、试验材料、试验方法、实验结果、讨论、结论、注意事项。 二、药理学实验设计的三大原则 重复、随机、对照。 三、注射器的使用方法 试验目的:掌握注射器的使用方法 试验材料: 器材:注射器 1 ml、2 ml、5 ml;针头:4号、5号、6号。一般小鼠皮下、腹腔、肌肉注射用5.0-6号针头,静脉注射用4.5号或5号针头,口服灌胃用12号针头;大鼠与兔子用16号针头。 药品:生理盐水 试验方法: 1、安装针头:选择适宜号数的针头,安装在针管的管嘴上,拧紧,要求针尖斜面与针管刻度面一致。 2、吸取药液:将针尖浸入药液中,左手持针管,右手提抽针芯,缓慢吸取药液至需要量。 3、排尽气泡:将吸入药液的注射器垂直向上,先抽一下针芯,使针头内的药液进入针管,并使针管内的空气汇集在药液上面,然后轻轻推动针芯,使空气自针头排出,直至溢出药液为止。若遇小气泡不易排出时,可再抽入空气少许,使该微量气泡汇合于抽入的空气中,然后一并排出(注意:避免将针头朝着自己或他人,防止液体喷射到人身上)。 4、持注射器: (1)用右手拇、中二指持注射器(针管的刻度面朝上以便观察注入的药液量)。食指固定在针头与针管接头处;进针后,用食指夹住针管,拇指推动针芯注药。 (2)用右手拇、中二指持注射器(针管的刻度面朝上以便观察注入的药液量)。无名指固定在针头和针管接头处,食指推动针芯注药。 注意事项: 1、选择适宜的注射器及针头; 2、按接针头时须旋转90度; 3、针头斜面与针管刻度面一致; 4、排尽气泡; 5、注射器针头按接处需用食指或无名指固定;

实验四同步与互斥Linux实验报告材料

实验四同步与互斥 【实验目的和要求】 1、掌握进程(线程)的同步与互斥。 2、掌握生产者消费者问题的实现方法。 3、掌握多线程编程方法。 【实验容】 实现生产者消费者问题 1、有一个仓库,生产者负责生产产品,并放入仓库,消费者会从仓库中拿走产品(消费)。 2、仓库中每次只能入一个(生产者或消费者)。 3、仓库中可存放产品的数量最多10个,当仓库放满时,生产者不能再放入产品。 4、当仓库空时,消费者不能从中取出产品。 5、生产、消费速度不同。 【实验原理】 1、信号量mutex提供对缓冲池访问的互斥要求并初始化为1,信号量empty和 full分别用来表示空缓冲项和满缓冲项的个数,信号量empty初始化为n,信号量full初始化为0。 2、定义如下结构及数据: 定义缓冲区的数据类型:typedef int buffer_item; 缓冲区:buffer_item buffer[BUFFER_SIZE];

对缓冲区操作的变量:int in,out; 信号量mutex提供了对缓冲池访问的互斥要求:pthread_mutex_t mutex; 信号量empty和full分别表示空缓冲顶和满缓冲顶的个数:sem_t empty,full; 可以设定生产者的生产速度及消费者的消费速度:int pro_speed,con_speed; 对缓冲区操作的自增函数:#define inc(k) if(k < BUFFER_SIZE) k = k+1;else k=0 3、并定义了如下实现问题的函数模块: 将生产的产品放入缓冲区: int insert_item(buffer_item item) 从缓冲区移走一个产品: int remove_item(buffer_item *item) 生产者进程:void *producer(void *param) 消费者进程:void *consumer(void *param) 生产者结构进程消费者结构进程 【程序代码】 //sx.c #include

操作系统-Linux课程实验报告材料

实验1.1、1.2 Linux Ubuntu的安装、创建新的虚拟机VMWare

实验1.3 Shell编程 1.实验目的与内容 通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。 编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。 2.程序源代码清单 #include #include int main(){ printf("Hello Linux\n"); int pid; int state; int pfd[2]; pipe(pfd); if (fork()==0){ printf("In the grep progress\n"); dup2(pfd[0],0); close(pfd[0]); close(pfd[1]); execlp("grep","grep","sh",0); perror("exelp grep error");

} esle if(fork()==0){ printf("In the ps progress\n"); dup2(pfd[1],1); close(pfd[0]); close(pfd[1]); execlp("ps","ps","-ef",0); perror("execlp ps -ef"); } close(pfd[1]); close(pfd[0]); wait(&state); wait(&state); } 实验2.3 内核模块 实验步骤: (1).编写内核模块 文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。其中init_clock(),exit_clock()负责将模块从系统中加载或卸载,以及增加或删除模块在/proc中的入口。read_clock()负责产生/proc/clock被读时的动作。(2).编译内核模块Makefile文件 # Makefile under 2.6.25

实验一 实验基本操作规范

实验一实验基本操作规范 一、实验目的 1.了解实验室的基本要求、实验室安全及防护知识 2.熟悉常用玻璃仪器及洗涤与干燥 3.掌握称取、吸取和量取的操作规范 4.掌握移液管、容量瓶、滴定管的正确使用方法 二、实验器材 (此部分要求同学们自己写,挑主要的写即可) 三、常用玻璃仪器(此部分不用写在实验报告) 化学实验中的玻璃仪器分为普通玻璃仪器和标准磨口仪器。 1. 普通玻璃仪器 常见的普通玻璃仪器有试管、烧杯、烧瓶等,见图1-1所示。 图1-1 常用普通玻璃仪器 2. 标准磨口仪器 化学实验中常用的标准磨口仪器如图1-2所示。

短颈圆底烧瓶斜三颈烧瓶梨形烧瓶蒸馏头标准接头 克氏蒸馏头二口接管接受管真空接受管搅拌器套管 温度计套管直形冷凝管球形冷凝管蛇形冷凝管 图1-2 标准磨口仪器 四、玻璃仪器的洗涤与干燥 (实验报告此部分序号为“三”,抓自己认为重点的写,不需要全部照抄) 1. 玻璃仪器的洗涤 使用洁净的仪器是实验成功的重要条件,也是化学工作者应有的良好习惯。洗净的仪器在倒置时,器壁应不挂水珠,内壁应被水均匀润湿,形成一层薄而均匀的水膜。如果有水珠,说明仪器还未洗净,需要进一步进行清洗。 (1) 一般洗涤 仪器清洗的最简单的方法是用毛刷蘸上去污粉或洗衣粉擦洗,再用清水冲洗干净。洗刷时,不能用秃顶的毛刷,也不能用力过猛,否则会戳破仪器。有时去污粉的微小粒子粘服在器壁上不易洗去,可用少量稀盐酸摇洗一次,再用清水冲洗。如果对仪器的洁净程度要求较高时,可在用去离子水或蒸馏水进行淋洗 次,用蒸馏水淋洗仪器时,一般用洗瓶进行喷洗,这样可节约蒸馏水和提高洗涤效果。 (2) 铬酸洗液洗涤

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目录下的内容,命令是分页显示。“|”是管道符号,它可以将多个命令输出信息当作某个命令的输入。

Linux常用命令实验报告

实验二 姓名:陈辉龙学号:201407010201 班级:14计科(1)一.实验目的: 掌握Linux常见命令,为今后的实验打下良好的基础。 二.实验内容 1.新建用户为chenhuilong,配置密码为passwd: 2.切换到chenhuilong用户,并在/home/chenhuilong目录下新建文件夹dir: 3.在文件夹dir下新建文件hello(内容为"printf hello world!"),并将其拷贝至/home/user目录: 4.统计/home/user目录下文件的个数,包括子目录里的首字符为-的普通文件:

5.统计/home下目录的个数,包括子目录里的目录: 6.显示/home/user目录下名为hello的文件的行数、字数以及字符数(使用输入重定向): 7.将上步的结果输出重定向到名为cnt_hello的文件: 8.删除/home/user目录下的hello文件: 9.进入/home/user/dir文件夹,将hello文件属性变为-rwxrw-r--(使用符号标记方式),并为hello文件在/home/user目录下建立软链接,链接文件名为link_hello:

10.查看/home/user/dir/hello文件的详细信息: 11.切换至根目录下查找hello文件: 12.打包home/user/dir/hello文件,并进行压缩,然后再进行解压缩解包: 13.退出user用户,删除/home/user文件夹:

14.将文件夹/home的所有者改为user用户,并删除user用户: 三.实验总结: 本实验旨在熟悉Unix的常用命令,实验较简单,操作起来还算顺利,做了一遍感觉还不是很熟悉,因此做了两遍,第二遍就很得心顺手。通过这次实验,熟悉了一些常用的命令操作,为以后的学习打下坚实的基础,提高自己的动手能力。

实验四 Linux的文件处理

实验四Linux的文件处理 1.目的要求 (1)学习和掌握gcc等Linux的开发调试环境。 (2)学习并掌握Linux的文件操作。 (3)编写并实现“学生管理系统”程序。 2.实验内容 (1)文件底层系统调用实验 ●使用vi将程序清单4-1和4-2的程序输入,并在当前目录下创建文件“file.in”和文 件“file.out”,尽可能的使文件“file.in”大一些。 ●利用gcc分别编译这两个程序,写出编译命令和执行结果;如果不成功,尝试利用 gdb调试。 实现将file.in中的内容复制到file.out中; ●仔细观察这两个程序,比较标准C的文件操作和Linux的系统调用open、read、 write等的使用区别。 _两者的描述符不一样,写入和读入调用的函数也是不一样,一个是底层系统调用,一个是库函数,带的参数也不一样,方法大致是一致的 ●按照说明重新修改程序4-2,并使用time命令察看程序执行的时间效率上有何区别。 分别是注释前和注释后的运行时间 ●输入、编译并运行程序4-3和4-4,写出执行结果,并比较他们fseek和lseek在使 用方法上的异同。 创建了一个名为hole.file的文件文件的内容是、 内容无差异

(2)目录信息的单层浏览 ●使用vi将程序清单4-5和4-6程序输入。 ●利用gcc分别编译这两个程序,写出编译命令和执行结果;如果不成功,尝试 利用gdb调试。 搜索Mydirection目录里的内容; ●仔细观察这两个程序,比较它们的区别。 后者是封装函数,方便使用而且不需要知道原理; (3)录信息的完整浏览 ●使用vi将程序清单4-7和4-8程序输入。 ●利用gcc分别编译这两个程序,写出编译命令和执行结果;如果不成功,尝试 利用gdb调试。 4_7.:

实验一 Linux基本操作实验报告

实验一Linux基本操作 一.实验目的: 1. 二.实验环境: 虚拟机+Red Hat Enterprise Server 5.0 三.实验内容: 根据以下的文字提示,调用相应的命令来完成,记录相应的运行结果。一)用户和组基本操作 1.添加一个user01用户,家目录为/home/sub2,并设置密码 2.添加一个group1 组 3.将user01用户添加到group1组中 4.修改group1组名称为group2 5.修改user01的家目录为/home/user01 6.判断/etc/password这个目录是否包含user01这个用户 7.修改user01的shell为/bin/tcsh 8.添加一个group3组,把user01和root用户都添加到该组

https://www.360docs.net/doc/b418127433.html,er01用户从group2组切换到group3组 10.设置user01的密码在2012-5-20过期 11.把/home/user01目录所属的组修改为group3 12.删除user01帐号 13.查看内核版本号 二)进程管理 1.运行cat命令:vi test,输入若干字符如this is a example,挂起vi进程 2.显示当前所有作业 3.将vi进程调度到前台运行

4.将vi进程调度到后台并分别用kill/pkill/killall命令结束该该进程。 三)磁盘管理 1.通过fdisk 将为硬盘增加一个分区(主分区或者逻辑分区)。 2.并格式化ext3系统,

3.检测分区是否有坏道 4.检测分区的完整性 5.加载分区到/mnt目录(或者其他分区)下,并拷贝一些文件到该目录下 6.(选做)为test用户设置磁盘配额(软限制和硬限制参数自行设定) 7.退出/mnt目录后卸载该分区 8.用du查看/usr目录的大小

实验一 Matlab基本操作(2016)

实验一 MATLAB 基本操作 一、实验目的 1. 学习和掌握MA TLAB 的基本操作方法 2. 掌握命令窗口的使用 3. 熟悉MATLAB 的数据表示、基本运算 二、实验内容和要求 1. 实验内容 1) 练习MATLAB7.0或以上版本 2) 练习矩阵运算与数组运算 2. 实验要求 1) 每位学生独立完成,交实验报告 2) 禁止玩游戏! 三、实验主要软件平台 装有MATLAB7.0或以上的PC 机一台 四、实验方法、步骤及结果测试 1. 实验方法:上机练习。 2. 实验步骤: 1) 开启PC ,进入MA TLAB 。 2) 使用帮助命令,查找sqrt 函数的使用方法 答: help sqrt 3) 矩阵、数组运算 a) 已知 ??????????=987654321A ,???? ??????=963852741B ,求)2()(A B B A -?+ 答: A=[1, 2, 3; 4, 5, 6; 7, 8, 9]; B=[1, 4, 7; 2, 5, 8; 3, 6, 9]; (A+B)*(2*B-A) b) 已知?? ????-=33.1x ,??????=π24y ,求T xy ,y x T c) 已知??????????=987654321A ,???? ??????=300020001B ,求A/B, A\B. d) 已知???? ??????=987654321A ,求:(1) A 中第三列前两个元素;(2) A 中所有第二行元素;(3) A 中四个角上的元素;(4) 交换A 的第1、3列。(5) 交换A 的第1、2行。(6) 删除A 的第3列。

e) 已知[]321=x ,[]654=y ,求:y x *.,y x /.,y x \.,y x .^, 2.^x ,x .^2。 f) 给出x=1,2,…,7时,x x sin 的值。 3)常用的数学函数 a )随机产生一个3x3的矩阵A ,求:(1) A 每一行的最大、最小值,以及最大、最小值所在的列;(2) A 每一列的最大、最小值,以及最大、最小值所在的行;(3) 整个矩阵的最大、最小值;(4) 每行元素之和;(5) 每列元素之和;(6) 每行元素之积;(7) 每列元素之积。 b) 随机产生两个10个元素的向量x ,y 。(1) 求x 的平均值、标准方差。(2) 求x ,y 的相关系数。(3)对x 排序,并记录排序后元素在原向量中的位置。 4) 字符串操作函数 建立一个字符串向量(如‘ABc123d4e56Fg9’),然后对该向量做如下处理: (1) 取第1~5个字符组成的子字符串。 (2) 将字符串倒过来重新排列。 (3) 将字符串中的小写字母变成相应的大写字母,其余字符不变。 (4) 统计字符串中小写字母的个数。

实验四 Linux下的C语言编程

实验四Linux下的C语言编程 实验类别:设计型实验时数:6学时 开课单位:计算机学院计算机科学与技术系实验地点:健翔校区计算中心 一、实验目的 通过本实验练习,使学生掌握有关文件管理与文件操作的内容。首先要熟悉在LINUX系统下文件系统的构建方法;其次要熟练掌握在LINUX 环境下用C语言进行高级编程的方法(即有关文件操作的系统调用的使用),进而充分了解LINUX文件系统中shell命令的实现原理以及它们用到的系统调用。 二、实验环境 操作系统:任何Unix/Linux及Sun Solaris 或windows 系列 应用系统:gcc编译器。若OS为windows系列,则还需相应的模拟环境 三、预备知识 1、关于系统调用和库函数 C语言支持一系列的库函数的调用,其中最基本的是studio库函数。事实上,库函数只是C语言在较高层次上调用的方式,系统调用是更低 层次的与C语言的界面,是内核提供给用户调用的函数。 2、L INUX环境下系统调用和库函数的异同 ⑴C程序使用系统调用的语句和调用库函数的语句形式完全相同,但是 二者运行的环境和运行机制截然不同。 ⑵从运行环境来看,库函数使用依赖于所运行的用户环境,程序调用库 函数时,它运行的目标代码是属于程序的,程序处于“用户态”执行; 而系统调用的使用不依赖于它运行的用户环境,是LINUX内核提供

的低层服务,系统调用时所执行的代码是属于内核的,程序处于“核 心态”执行。 ⑶程序库函数的调用最终还是要通过LINUX系统调用来实现,库函数 一般执行一条指令,该指令(操作系统陷阱operating system trap) 将进程执行方式变为核心态,然后使内核为系统调用执行代码。 四、实验内容 本实验要求在LINUX/UNIX环境下用C语言编写三个具体的SHELL 命令,基本涉及了LINUX/UNIX文件系统中较为常用的有关文件操作的系统调用。内容如下: ⑴编程实现copy命令,执行格式:copy file1 file2 file3 功能:将file1、file2两文件的内容合并拷入file3中,其中间应有30个字节的空洞。 程序可能涉及到的系统调用:read(), write(), open(), creat(), close(), lseek() ⑵编程实现renam(即LINUX下的rename)命令,功能是实现文件的重命名。 执行格式:renam filea fileb; 其中filea为源文件,fileb为目标文件。程序执行时应显示出命令行的所有参数,并给出重命名前后两个文件的大小、索引节点号及最近一次状态改变的时间。 程序可能涉及到的系统调用:read(), write(), open(), stat(), close(), link(), unlink() ⑶编程实现:从A文件某处(任意)读取n个字符(连续),写入B文件某 个位置。 执行格式:a.out A x n B y;

Linux实验报告

Linux实验 一、实验目的 1. 了解Linux基本使用方法; 2. 掌握Linux基本设置方式; 3. 掌握Linux基本操作命令使用。 二、内容要求 1. 了解进程管理、文件管理与内存管理 2.掌握系统设置文件与命令 3. 熟练使用系统操作与维护命令 4. 熟练使用系统操作与维护命令 三、实验原理 Linux 系统常用命令格式: command [option] [argument1] [argument2] ... 其中option以“-”开始,多个option可用一个“-”连起来,如 “ls-l -a”与“ls-la”的效果是一样的。根据命令的不同,参数 分为可选的或必须的;所有的命令从标准输入接受输入,输出结果显示在 标准输出,而错误信息则显示在标准错误输出设备。可使用重定向功能对这 些设备进行重定向。如: ls –lh > a.txt 命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回 一个非零值(在shell中可用变量$?查看)。在shell script中可用此返 回值作为控制逻辑的一部分。 DSL命令操作: 帮助命令: man 获取相关命令的帮助信息 例如:man dir 可以获取关于dir的使用信息。 info 获取相关命令的详细使用方法 例如:info info 可以获取如何使用info的详细信息。 基本操作: echo 显示字符串 pwd 显示当前工作目录 ls 查看当前文件夹内容 ls -a 查看当前文件夹内容(包括隐藏项) ls -l 查看当前文件夹内容(详细) ls / 查看根目录内容 cd / 移动到根目录

pwd 显示当前工作目录 ls -al 查看根目录文件夹内容(详细情况并包括隐藏项) cd /home/dsl 回到“家”目录 pwd 显示当前工作目录 df -h 显示剩余磁盘空间,参数“-h”表示适合人读取(human readable) du -h 显示文件夹(及子文件夹)所占空间 mkdir fd0 在当前目录下创建目录fd0 touch a.txt 创建一个空文件a.txt ls / -lh > a.txt 利用重定向功能将根目录中的内容写入a.txt。 cat a.txt 显示a.txt内容 wc a.txt 显示a.txt的行数,字数与字节数 find / -name *conf 在根目录下(包括子目录)查找以conf结尾的文件 sudo mount /dev/fd0 fd0 将软盘镜像挂载到目录fd0上 cd fd0 进入软盘镜像所挂载的目录 ls -lh 查看软盘镜像中的文件 cd .. “..”表示进入上一层目录 gzip a.txt 使用gzip压缩a.txt ls -lh 查看当前文件夹 sudo cp a.txt.gz fd0/ 将a.txt复制到fd0目录下,即将其复制到软盘镜像中 sudo mv fd0/a.txt.gz ./ 将a.txt移动到当前目录下,“.”表示当前目录 sudo umount /dev/fd0 将软盘镜像卸载 ls fd0 显示fd0 目录内容 gzip -d a.txt.gz 解压缩a.txt.gz ls -lh 查看当前文件夹 权限管理: 假设当前处于/home/dsl 目录下,且有a.txt(文件)与fd0(目录),当前用户名为dsl。 sudo cat /etc/passwd 用户 sudo cat /etc/shadow 密码 sudo cat /etc/group 组 users 查看当前登录用户 sudo chmod -x fd0 更改文件夹权限 ls fd0 fd0不能被执行,则意味着无法打开! sudo chmod +x fd0 更改文件夹权限 ls fd0 fd0能被打开 sudo chown root fd0 更改目录fd0的所有者 ls -lh 注意看fd0目录的属性 sudo chown dsl:root fd0 更改目录fd0的所有者为dsl,所属组为root ls -lh 注意看fd0目录的属性 chmod a-r a.txt 现在a.txt不具有“读”权限,不能被读取

相关文档
最新文档