




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
淮北师范大学实验课程指导书 ( 2012-2013 学年 第 二 学期) 计算机科学与技术 学院 计算机专业 实验室 计算机科学与技术 专业 10 年级 班 实验课程名称 UNIX操作系统及程序设计实验 实验教材名称 UNIX操作系统及程序设计实验指导书 填表日期: 2013 年 2 月 27 日实验一 掌握基本的操作命令1、 实验目的(1)掌握 UNIX (LINUX)系统的基本使用方法:(2)系统启动、注销、关闭和关机;(3)帐 号管理;(4)文件系统的日常管理;(5)文件系统的权限控制。 2、 实验工具及环境 UNIX(LINUX)系统网络环境或单机。3、实验计划学时 4学时上机实际操作。3、 实验内容及操作步骤系统启动和关闭 使用自己的账户登录 UNIX 系统, 查看系统提示符确定自己使用的 shell 程序类型。 开机后,系统自检启动后提示 login: password: (输入:root ) (输入:用户口令 ,root 用户为 root123,或者 用户名roota,口令123456 )查看/etc/passwd 文件可以获得用户使用的 shell # grep $LOGNAME /etc/passwd 可能的显示为: user001:*:200:50:/usr/user001:/bin/sh 请思考上述命令怎样得到了当前使用的 shell 类型的? 使用下面的命令也可以查看当前 shell: # echo $SHELL 注销和关机命令。 用户注销使用:$exit 或 $+ 或 $logout 超级用户关机使用: #shutdown 该命令将结束所有的进程,当执行此命令后系统提示“ Safe to Power off or Press Any Key to Reboot ”时可以关闭电源或按任一键重启系统。haltsys(halt),reboot 只能由超级用户在单用户模式下使用。帐号管理 添加用户,删除用户,修改个人口令后重新进行登录; 添加用户的 shell 命令: # useradd user08 (Linux 系统中可以为 adduser) 上述命令采用默认属性, UNIX 也可以使用选项来指定创建帐户的属性: - c comment 用户说明 - d directory 指定用户主目录 - m 若用户的起始目录不存在则创建 - g group 指定用户所属组 - s shell 指定用户使用的 shell - u uid 为用户分配标识 ; 修改口令 对 linux 系统而言, adduser 增加的用户应该随即用 passwd 命令来修改口令。 用 # passwd user08 new password:( 输入口令,屏幕不回显) new password ( again ) :( 再次输入口令);删除用户的 shell 命令 userdel 命令用来删除已经存在的用户及相关的文档,其命令格式如下: # userdel 选项用户名 userdel 命令的常用选项: -r 将用户目录下的文档一并删除。在其他位置上的文档也将一一找出并删除。 Userdel 不允许移除正在线上的用户帐号,因此,如果想删除这类用户帐号,必 须先杀掉用户在系统上运行的程序才能进行帐号删除。 组的添加、删除管理; 组信息保存在 /etc/group 文件中,文件记录格式为: userg1:21:user01,user02,user08 其中: userg1 为组名,组 ID 号为 21,组成员有 user01,user02,user08 。 添加用户组 可以直接编辑 /etc/group 文件来创建一个新组。 用 who 命令查看当前登录在系统中的用户列表、用户总数、系统启动时间等 信息; #who -H 查看当前用户的标识符及当前进程的状态; #ps lf | pg 观察上述命令的输出。 用 cal 命令查看自己的生日是星期几。如: # cal 9 1983 根据显示可以得到答案。 文件系统的日常管理 文件的显示、复制、移动和删除;#cat /etc/passwd #catfilea #cat filea #more /etc/filea #pg /etc/filea cp filea fileb mv filea /fileb rm /fileb 目录的建立、删除、显示、改变和复制 #mkdir dira #ls dira #mkdir p dirb/dirc #cp r dirb dira ls R dira #rmdir p dira UNIX 系统访问 DOS 或 Windows 下文件(FAT),完成读 DOS 格式的软盘文件 或 DOS 格式的硬盘文件的过程。mount 和 umount 命令。 以超级用户登录,使用 mkdir 命令为 DOS 硬盘创建一个挂载点; mkdir /mnt/zipdos 用 mount 命令指定文件系统的类型、设备名称及挂载点: mount -t msdos /dev/hdal /mnt/zipdos 挂载完成后可以使用 df 命令查阅设备挂载的情况; 完成挂载后,可以在 Linux 系统下查阅到 DOS 目录下的文件内容。 # cd /nt/zipdos #ls 使用完后使用 umount 命令进行卸载: umount /mnt/zipdos 完成这些操作后,在根目录下除了包含有 Linux 系统中典型文件系统的内容外, 还增加了一个/mnt/zipdos 子目录。此目录是将 DOS 分区中的 C 盘挂在了 Linux 系统的根目录下,安装完成后普通用户就可以对其中的文件直接进行访问。文件系统的权限控制 文件权限的表示 #ls l /etc|more # ls l /dev|more chmod、chown、chgrp 和 umask 命令; #ls l filea #chm od 640 file a # chown user08 fi1e a # ch grp #umask userg1 fi1e a /* 不带参数的 umask 显示系统的设置情况*/ #mkdir dirx #ls l dirx # umask 027 #mkdir diry #ls l diry 比较有什么不同。 4、 实验报告 /*查看新建的目录权限*/要求认真书写实验报告,报告的内容包括:实验目的、实验内容、实验步骤、实 验结果等。 思考问题:UNIX 中使用软盘或光盘的方式与 Windows 或 DOS 比较,反映出它们 文件系统构成有何不同?实验二 掌握基本的shell编程方法1、 实验目的掌握 UNIX (LINUX)系统 shell 编程的基本方法;shell 程序的编制、运行和 调试。 2、实验工具及环境 UNIX(LINUX)系统网络环境或单机。 3、实验计划学时 4 学时上机实际操作。 4、实验内容 使用 for 循环语句编写一段 B-shell 程序, 完成显示用户注册目录下的 a_sub, b_sub 子目录下的所有 C 程序文件及其目标文件的列表。为便于系统管理员对磁盘分配的管理,请编写一段 B - shell 程序,当文件系 统/home 占用空间改变时给出相应的信息提示。要求/home 占用量在系统磁盘中 为: 小于 50%时,提示“用户文件系统磁盘使用负荷量小”。 大于 50%,小于 90时,提示“用户文件系统磁盘使用负荷量正常”。 大于等于 90%时,提示“用户文件系统磁盘使用负荷量偏大”。 假设 score.txt 文件中保存了三个班级的学生考试成绩,请编写一段 shell 程序计算每个班级的学生人数与平均分。 5、 实验步骤 在 vi 中编辑源程序,以*. sh 格式为文件名保存在当前目录下。 shell 程序执行的基本方式有三种,即: 利用输入输出重定向方式:$ shfilel.sh 将文件 file1.sh 当作 sh 命令的执行参数来完成程序的运行: $ sh fil e1. sh 用直接方式执行 shell 程序:chmod 755 fi1e1.sh,然后 $ fil e1. sh在用户目录下建立 a_sub 和 b_sub 两个目录,用 vi 或标准输入生成若干个 文件,分别命名为 f1.c ,f2.c,f3.txt,f4.obj,f5.obj 等,放置在 a_sub 和 b_sub 两个目录中,运行程序 1,看看执行的情况。单独运行 df 和 du 命令,查看用户注册目录的空间使用情况,然后再根据此二 命令的输出,决定编程的方法。参考方法: 获得用户使用的磁盘块数 used=du s $HOME | cut f1 获得磁盘的空闲块数 free=df | tail 1 | tr s “ ” | cut f4 d” “ 其中: tail 1 为取命令输出的最后一行; tr s “ ” 用以除去多余的 空格。 计算用户可以使用的磁盘空间总数 total=$(echo expr $used+$free) 计算用户的磁盘占用率 ratio=$(echo “scale=6; $used*100/$total” | bc) 其中: bc 为 UNIX 下的运算器, scale 指定计算的有效位数。 6、实验报告 要求认真书写实验报告,报告的内容包括:实验目的、实验内容、实验步骤、实 验结果等。 思考问题:UNIX 中的 shell程序与 DOS 批处理文件比较,有何异同?实验四1、实验目的UNIX 文件操作掌握 UNIX (LINUX)系统文件系统调用的基本方法,基本掌握 UNIX 平台程序的 编制、运行和调试方法。 2、实验工具及环境UNIX(LINUX)系统网络环境或单机,C 编译程序。 3、实验计划学时 2 学时上机实际操作。 4、实验内容 使用 UNIX 系统调用编写完成文件拷贝的 C 程序。 编写 C 程序完成:创建一个新文件,输入一段数据,然后随机移动指针接着插 入一段数据。完成后,查看该文件的大小和内容。 选做:编写 C 程序完成父子进程对同一文件进行记录锁定的操作。 5、实验步骤: 在 vi 中编辑源程序,以*.c 格式为文件名保存在当前目录下。 linux 的基本 c 开发环境由以下几部分组成:c 程序库 glibc ,c 编译器 gcc 或 cc ,系统头文件 glibc_header ,库文件、包含文件和生成的可执行文件存 放在 /usr/lib 目录下。 编译连接可用以下的命令进行,假定源程序有两个文件分别是 f1.c , f2.c , 生成的可执行文件名为 hello.exe ,缺省目标名称的时候,gcc 编译出来的文 件是 a.out,用“- o ”选项可以指定输出文件名,例: #gcc -o hello.exe fi .c f2.c更详尽的用法请参考联机帮助。 (3) 运行编译连接后得到的程序,注意程序所存放的路径可能未包含在 PATH 设 置中,命令中要指明路径才能运行。 比较拷贝得到的文件与源文件的大小和内容,考查文件指针的移动情况。 6、参考程序 /* 选做:父子进程对同一文件进行记录锁定 */ #include #include main() int fd,a10,i; for( i=0; i10;i+)ai=i+1; fd=creat(“abc”,0755); printf(“lock 40 bytes in parentn”); lockf(fd,1,40); printf(“locked n”); fflush(stdout); /* 刷新屏幕 */ if(fork()=0) printf(“enter child,write 20 bytes.n”); write(fd,a,10); printf(“writen. n”);fflush(stdout); printf(“lock 80 bytes in childn”); fflush(stdout); lockf(fd,1,80); /*子进程要锁定 80 字节,需要等待父进程开锁*/ printf(“locked in child.n”);fflush(stdout); sleep(2); lockf(fd,0,80); printf(“unlocked in child.n”);fflush(stdout); exit(0); printf(“parent sleep now. n”); Sleep(10); /*以便子进程调度*/ printf(“parent wakeup. n”); printf(“parent unlock now.n”);fflush(stdout); lockf(fd,0,40); printf(“parent unlocked.n”);fflush(stdout);wait(0); /*父进程等待子进程结束*/ exit(0); 7、实验报告 要求认真书写实验报告,报告的内容包括:实验目的、实验内容、实验步骤、实 验结果等。 思考问题:UNIX 中的文件操作系统调用与 C 的库函数中的文件操作函数比较, 有何异同?实验五1、实验目
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 订货送车合同范本
- 小型联合施工合同范本
- 转让大型煤矿合同范本
- 成都市龙舟路小学学校 公开招聘员额教师(3人)备考练习试题及答案解析
- 完整的仓储合同范本
- 2025年合肥市第四人民医院公开招聘工作人员46名考试参考试题及答案解析
- 接头装车送货合同范本
- 茶叶样品售卖合同范本
- 矽藻泥售卖合同范本
- 软件加盟协议合同范本
- 重庆中医药学院2025年第二季度考核招聘工作人员笔试备考题库及答案详解一套
- 资阳市安岳县县属国有企业招聘(33人)考前自测高频考点模拟试题附答案详解
- 房建满堂脚手架专项验算书
- 全科医学的基本原则和特点课件
- 国家综合性消防救援队伍消防员管理规定
- 《非线性动力学》课程教学大纲
- 生态农庄设计规划课件
- 《工程制图完整》课件
- 互换性与测量技术基础总复习题与答案
- 北京工业地产工业园区调研报告
- 英国文学各个时期介绍超全
评论
0/150
提交评论