中南大学-Linux系统实验报告.doc

上传人:牧羊曲112 文档编号:2792325 上传时间:2023-02-25 格式:DOC 页数:27 大小:1.75MB
返回 下载 相关 举报
中南大学-Linux系统实验报告.doc_第1页
第1页 / 共27页
中南大学-Linux系统实验报告.doc_第2页
第2页 / 共27页
中南大学-Linux系统实验报告.doc_第3页
第3页 / 共27页
中南大学-Linux系统实验报告.doc_第4页
第4页 / 共27页
中南大学-Linux系统实验报告.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《中南大学-Linux系统实验报告.doc》由会员分享,可在线阅读,更多相关《中南大学-Linux系统实验报告.doc(27页珍藏版)》请在三一办公上搜索。

1、精选优质文档-倾情为你奉上CENTRAL SOUTH UNIVERSITY Linux系统及应用实验报告学生姓名 班 级 学 号 指导教师 胡小龙 实验时间 2014年11月 实验一 Linux的安装(课后)1、实验目的(1) 了解硬盘分区的概念和方法;(2) 掌握硬盘的分区规划;(3) 掌握Linux操作系统的安装和配置过程。2、实验设备一台pc机、RedHat Linux 7.2以上版本、VMware Workstation v5.53、实验原理Linux可以以多种方式安装在PC机上: (1)独立分区安装; (2)DOS分区安装; (3)虚拟机VMWare下安装。鉴于VMware下安装对原

2、来系统影响较小且不影响本实验目的,因此采用VMWare下安装方式。4、实验步逐 (1) 在Windows XP下安装VMware 5.5(2) 配置虚拟机(3) 启动虚拟机(4) 启动Linux安装过程(5) 安装过程配置(6) 安装后配置(7) 第1次启动 VMWare下Linux操作系统5、实验记录(1) 记录详细安装过程(2) 安装过程中出现的问题及其解决措施Linux安装过程:(1)语言选择:(2)键盘配置: (3)鼠标配置: (4)选择安装还是升级: (5)安装类型: (6)磁盘分区设置: (7)为系统分区: (8)添加分区: (9)引导装载程序配置: (10)网络配置: (11)防

3、火墙配置: (12)语言支持的选择: (13)时区配置: (14)设置根口令(15)选择软件包组: (16)准备安装: 应该看到一个安装 Red Hat Linux 做准备的屏幕。 当你重新引导系统后,一份完整的安装日志可在 /root/install.log 中找到,以备今后参考。要取消安装进程,按计算机的重新启动按钮,或者使用 Control-Alt-Delete 组合键来重启计算机。 (17)安装软件包: (18)创建引导盘: (19)视频卡配置: (20)配置显示器: (21)定制配置: (22)安装完成实验2 Linux基本操作1、 实验目的 (1)复习Linux基本命令 (2)掌握

4、常用Linux命令2、实验内容 (1)练习命令行模式下的常用命令: man:命令帮助ALT-Fx:虚终端切换常用命令:cat、Ls、ps、chmod、kill、ln、cp、mv、rm、cd、pwd、mkdir、chown、who、w、wc、whoami、date、uname等(2) 编辑器vi的使用:使用vi建立并修改一个文本文件(3) 档案管理:rpm、gzip、tar等命令(4) 网络命令: telnet、ftp、talk3、实验记录(1) 在实验过程中,记录到的实验现象: 系统启动1、 Man ls按q退出2、 red hat有七个终端控制台,其中前六个为命令行模式,第七个是图形界面,按

5、Ctrl+Alt+Fx(17)可互相切换。如图可知,以root用户的身份登录了终端控制台。3、 w、who、whoami命令 查看当前登录主机的所有用户4、 date命令查看时间,uname查看系统与内核的相关信息 5、 查看自己的bash相关进程:ps l6、 用root的身份在所有人都可以工作的/tmp目录中新建一个名为testing的目录,(在此查看自己的路径)该目录的权限为744且目录拥有者为root。另外,在testing目录下再新建一个空文件。尝试用VI编辑器修改其内容(用到的命令:cd、mkdir、chmod、touch、pwd)7、 在/tmp下建立一个文件a、并用VI编辑器编

6、辑其内容,用cp将其内容复制至b文件中。然后移动文件至新建目录、/tmp/test下,最后删除该文件A文件中的内容将A中的内容复制至B中上图为B中内容,复制成功将A文件移动至新建目录test下,最后删除了文件A8、 rpm命令Linux是否安装logrotate软件,并且列出属于该软件所提供的所有目录和文件9、 将/etc/man.config复制到/tmp中,并且以gzip压缩10、使用tar备份/etc/man.config目录 11、由于本机网络配置及其软件下载问题,导致网络设置命令无法成功实现(2)使用过程体会、心得、技巧 从安装VM,到接触Red Hat。到对命令行模式的极端不适应,

7、再到慢慢体味出在黑乎乎上的控制台上“肆意”操作的快意和喜悦。这时候我才体味出Linux命令的博大精深,目前我只是接触了一些非常简单的命令,(正则表达式这方面我还是不太熟悉)遇到问题是还是没发好好利用man。但是我最基本的操作命令有了一个入门,我相信再以后的日子里经过我的努力,我一定会拿下。实验3 Linux系统管理1、实验目的(1)掌握Linux基本系统管理命令 (2)掌握基本管理方法(3)初步了解Linux中与系统管理相关的有关配置文件2、实验内容 (1) 用户管理adduser、useradd、passwd等观察:/etc/passwd文件 (2) 文件系统管理df、du命令使用mount

8、、umount命令使用:安装usb盘或者光盘,查看分析/etc/fstab文件 (3) 存储器free:了解存储器使用情况 (4) 关机halt、shutdown h、init 0reboot、shutdown -r now并比较它们之间的差别 (5) 网络配置netconfig的使用 (6)启动配置/etc/inittab:查看、修改并观察其响应3、实验记录(1)在实验过程中,注意记录实验现象A、用户管理 建立新的用户:gang,并且设置密码B、文件系统管理 分别用df h将容量结果以易读的容量格式显示出来,用du显示出了/etc/man.config的内容。 挂载了用来安装linux的原版

9、光盘,用df查看后,解除了挂载C、存储器 Free命令 D、关机基本上,在默认的情况下,这几个命令都会完成一样的工作(因为halt会先调用shutdown,而shutdown最后会调用halt)。不过,shutdown可以依据目前启动的服务来逐次关闭各服务后才关机;至于halt却能够在不理会目前系统状况下,进行硬件关机的特殊功能。F、启动配置修改/etc/inittab中的内容会决定liunx启动后是否启动图形界面。 实验4 Linux Shell程序设计1、实验目的(1)掌握Linux shell程序运行方法 (2)掌握Linux Shell程序基本语法(3)了解Linux环境变量(3)编写

10、简单Linux shell程序 2、实验内容(1) 查看/etc/.profile文件:相当于DOS下autoexe.bat(2) 通配符“*”、“?”、“”的使用$ls a-c* 和 $ls a,m,t*命令 (3)重定向和管道的使用ls | more cat test.txt(4) 变量$lookup=/usr/mydir $echo $lookup $export lookup:让进程使用(5) 编辑并运行以下程序(shell程序控制结构)1 、fortest #!/bin/bash for a in x y zdo echo now a=$adone2 、fortest1 #!/bin

11、/bash for ado echo now a=$adone3、 functest #!/bin/bashsetup()echo setupdo_date()datechgdir()cd $1do_datesetupchgdir4、 paramtest#!/bin/bashecho filename:$0echo arguments:$*echo number arg:$#echo arg2:$2shiftecho number arg:$#echo arg2:$2set hello,everoneecho args:$*echo arg2:$25 、untiltest#!/bin/bash

12、number=0until (test $number gt 5)doecho “ $number”number=expr $number + 1done3、实验要求(1) 每个shell程序事例运行多遍,并给不同参数(2) 详细记录程序调试及运行结果4、 实验结果程序调试及运行结果如下:实验5 Linux 高级程序设计1、实验目的(1)了解Linux操作系统下应用程序开发流程(2)掌握gun工具链的使用(3)了解Linux高级编程技巧(例如IPC机制、系统调用等)2、 实验内容 (1)编写一个简单的C语言程序,编写Makefile文件。了解编译过程,并用gdb进行调试。#include in

13、t main(void)printf(Hello World!);调试: gcc helloworld.c a.out (2)以下任选其一:1、编写一个多进程通信程序,采用Message Queue或shared Memory或者Maped File机制进行通信2、编写一个多线程程序(pthread),实现2程同步互斥源代码:#include #include #define BUFFER_SIZE 16 struct prodcons/ 缓冲区相关数据结构int bufferBUFFER_SIZE; pthread_mutex_t lock; int readpos, writepos; p

14、thread_cond_t notempty; pthread_cond_t notfull; ;void init(struct prodcons *b)pthread_mutex_init(&b-lock, NULL);pthread_cond_init(&b-notempty, NULL);pthread_cond_init(&b-notfull, NULL);b-readpos = 0;b-writepos = 0;void put(struct prodcons *b, int data)pthread_mutex_lock(&b-lock);if (b-writepos + 1)

15、% BUFFER_SIZE = b-readpos)pthread_cond_wait(&b-notfull, &b-lock);b-bufferb-writepos = data;b-writepos+;if (b-writepos = BUFFER_SIZE)b-writepos = 0;pthread_cond_signal(&b-notempty);pthread_mutex_unlock(&b-lock);int get(struct prodcons *b)int data;pthread_mutex_lock(&b-lock);if (b-writepos = b-readpos

16、)pthread_cond_wait(&b-notempty, &b-lock);data = b-bufferb-readpos;b-readpos+;if (b-readpos = BUFFER_SIZE)b-readpos = 0;pthread_cond_signal(&b-notfull);pthread_mutex_unlock(&b-lock);return data;#define OVER ( - 1)struct prodcons buffer;void *producer(void *data)int n;for (n = 0; n n, n);put(&buffer,

17、n); put(&buffer, OVER);return NULL;void *consumer(void *data)int d;while (1)d = get(&buffer);if (d = OVER)break;printf(-%d n, d);return NULL;int main(void)pthread_t th_a, th_b;void *retval;init(&buffer);pthread_create(&th_a, NULL, producer, 0);pthread_create(&th_b, NULL, consumer, 0);pthread_join(th

18、_a, &retval);pthread_join(th_b, &retval);return 0;3、实验要求(1) 写出源程序,并编译运行(2) 详细记录程序调试及运行结果实验6 Linux内核1、实验目的(1)了解Linux操作系内核(2)掌握内核编译和内核升级方法(3)了解有关内核编程2、实验内容(1) 内核配置和编译(课后完成)(2) 察看/proc内存文件系统下的文件,写出每个目录内容(3) 编写一个简单的字符虚拟设备程序(以模块方式编译、加载、使用)struct file_ operations status_ fops = NULL, /* seek */read_ statu

19、s,write_ status,NULL, /* readdir */NULL, /* poll */NULL, /* ioctl */NULL, /* mmap */open_ status,NULL, /* flush */close_ status,NULL, /* fsync */NULL, /* fasync */NULL, /* check_ media_ change */NULL, /* revalidate */NULL, /* lock */;创建这个设备:mknod /dev/status c 0static int major_ number = 0; /* pass

20、a major of 0 to register_ chrdev* for dynamic allocation*/int init_ module( void)major_ number = register_ chrdev( 0, status, &status_ fops);if (major_ number count) ? count : char_ count;copy_ to_ user( buffer, message, count_ to_ copy); /* write to the user- space buffer */return char_ count;3、实验要求(1) 给出源程序(2) 记录调试过程和运行结果专心-专注-专业

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号