中南大学 Linux系统实验报告Word文档格式.docx
- 文档编号:21381190
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:26
- 大小:1.21MB
中南大学 Linux系统实验报告Word文档格式.docx
《中南大学 Linux系统实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《中南大学 Linux系统实验报告Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
(6)磁盘分区设置:
(7)为系统分区:
(8)添加分区:
(9)引导装载程序配置:
(10)网络配置:
(11)防火墙配置:
(12)语言支持的选择:
(13)时区配置:
(14)设置根口令
(15)选择软件包组:
(16)准备安装:
应该看到一个安装RedHatLinux做准备的屏幕。
当你重新引导系统后,一份完整的安装日志可在/root/install.log中找到,以备今后参考。
要取消安装进程,按计算机的重新启动按钮,或者使用[Control]-[Alt]-[Delete]组合键来重启计算机。
(17)安装软件包:
(18)创建引导盘:
(19)视频卡配置:
(20)配置显示器:
(21)定制配置:
(22)安装完成
实验2Linux基本操作
(1)复习Linux基本命令
(2)掌握常用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、talk
3、实验记录
(1)在实验过程中,记录到的实验现象:
系统启动
1、Manls
按q退出
2、redhat有七个终端控制台,其中前六个为命令行模式,第七个是图形界面,按Ctrl+Alt+Fx(1~7)可互相切换。
如图可知,以root用户的身份登录了终端控制台。
3、w、who、whoami命令
查看当前登录主机的所有用户
4、date命令查看时间,uname查看系统与内核的相关信息
5、查看自己的bash相关进程:
ps–l
6、用root的身份在所有人都可以工作的/tmp目录中新建一个名为testing的目录,(在此查看自己的路径)该目录的权限为744且目录拥有者为root。
另外,在testing目录下再新建一个空文件。
尝试用VI编辑器修改其内容(用到的命令:
cd、mkdir、chmod、touch、pwd)
7、在/tmp下建立一个文件a、并用VI编辑器编辑其内容,用cp将其内容复制至b文件中。
然后移动文件至新建目录、/tmp/test下,最后删除该文件
A文件中的内容
将A中的内容复制至B中
上图为B中内容,复制成功
将A文件移动至新建目录test下,最后删除了文件A
8、rpm命令Linux是否安装logrotate软件,并且列出属于该软件所提供的所有目录和文件
9、将/etc/man.config复制到/tmp中,并且以gzip压缩
10、使用tar备份/etc/man.config目录
11、由于本机网络配置及其软件下载问题,导致网络设置命令无法成功实现
(2)使用过程体会、心得、技巧
从安装VM,到接触RedHat。
到对命令行模式的极端不适应,再到慢慢体味出在黑乎乎上的控制台上“肆意”操作的快意和喜悦。
这时候我才体味出Linux命令的博大精深,目前我只是接触了一些非常简单的命令,(正则表达式这方面我还是不太熟悉)遇到问题是还是没发好好利用man。
但是我最基本的操作命令有了一个入门,我相信再以后的日子里经过我的努力,我一定会拿下。
实验3Linux系统管理
(1)掌握Linux基本系统管理命令
(2)掌握基本管理方法
(3)初步了解Linux中与系统管理相关的有关配置文件
2、实验内容
(1)用户管理
adduser、useradd、passwd等
观察:
/etc/passwd文件
(2)文件系统管理
df、du命令使用
mount、umount命令使用:
安装usb盘或者光盘,查看分析/etc/fstab文件
(3)存储器
free:
了解存储器使用情况
(4)关机
halt、shutdown–h、init0
reboot、shutdown-rnow
并比较它们之间的差别
(5)网络配置
netconfig的使用
(6)启动配置
/etc/inittab:
查看、修改并观察其响应
(1)在实验过程中,注意记录实验现象
A、用户管理
建立新的用户:
gang,并且设置密码
B、文件系统管理
分别用df–h将容量结果以易读的容量格式显示出来,用du显示出了/etc/man.config的内容。
挂载了用来安装linux的原版光盘,用df查看后,解除了挂载
C、存储器
Free命令
D、关机
基本上,在默认的情况下,这几个命令都会完成一样的工作(因为halt会先调用shutdown,而shutdown最后会调用halt)。
不过,shutdown可以依据目前启动的服务来逐次关闭各服务后才关机;
至于halt却能够在不理会目前系统状况下,进行硬件关机的特殊功能。
F、启动配置
修改/etc/inittab中的内容会决定liunx启动后是否启动图形界面。
实验4LinuxShell程序设计
(1)掌握Linuxshell程序运行方法
(2)掌握LinuxShell程序基本语法
(3)了解Linux环境变量
(3)编写简单Linuxshell程序
(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
$exportlookup:
让进程使用
(5)编辑并运行以下程序(shell程序控制结构)
1、fortest
#!
/bin/bash
forainxyz
do
echonowa=$a
done
2、fortest1
fora
3、functest
setup()
{
echosetup…
}
do_date()
date
chgdir()
cd$1
do_date
setup
chgdir
4、paramtest
#!
echofilename:
$0
echoarguments:
$*
echonumberarg:
$#
echoarg2:
$2
shift
sethello,everone
echoargs:
echoarg2:
5、untiltest
number=0
until(test$number–gt5)
echo“$number”
number=`expr$number+1`
3、实验要求
(1)每个shell程序事例运行多遍,并给不同参数
(2)详细记录程序调试及运行结果
4、实验结果
程序调试及运行结果如下:
实验5Linux高级程序设计
(1)了解Linux操作系统下应用程序开发流程
(2)掌握gun工具链的使用
(3)了解Linux高级编程技巧(例如IPC机制、系统调用等)
(1)编写一个简单的C语言程序,编写Makefile文件。
了解编译过程,并用gdb进行调试。
#include<
stdio.h>
intmain(void)
{
printf("
HelloWorld!
"
);
}
调试:
gcchelloworld.c
a.out
(2)以下任选其一:
1、编写一个多进程通信程序,采用MessageQueue或sharedMemory或者MapedFile机制进行通信
2、编写一个多线程程序(pthread),实现2程同步互斥
源代码:
#include<
pthread.h>
#defineBUFFER_SIZE16
structprodcons
{
//缓冲区相关数据结构
intbuffer[BUFFER_SIZE];
pthread_mutex_tlock;
intreadpos,writepos;
pthread_cond_tnotempty;
pthread_cond_tnotfull;
};
voidinit(structprodcons*b)
pthread_mutex_init(&
b->
lock,NULL);
pthread_cond_init(&
notempty,NULL);
notfull,NULL);
b->
readpos=0;
writepos=0;
}
voidput(structprodcons*b,intdata)
pthread_mutex_lock(&
lock);
if((b->
writepos+1)%BUFFER_SIZE==b->
readpos)
pthread_cond_wait(&
notfull,&
buffer[b->
writepos]=data;
writepos++;
if(b->
writepos>
=BUFFER_SIZE)
pthread_cond_signal(&
notempty);
pthread_mutex_unlock(&
intget(structprodcons*b)
intdata;
writepos==b->
notempty,&
data=b->
readpos];
readpos++;
readpos>
notfull);
returndata;
#defineOVER(-1)
structprodconsbuffer;
void*producer(void*data)
intn;
for(n=0;
n<
10000;
n++)
printf("
%d--->
\n"
n);
put(&
buffer,n);
}put(&
buffer,OVER);
returnNULL;
void*consumer(void*data)
intd;
while
(1)
d=get(&
buffer);
if(d==OVER)
break;
--->
%d\n"
d);
intmain(void)
pthread_tth_a,th_b;
void*retval;
init(&
pthread_create(&
th_a,NULL,producer,0);
th_b,NULL,consumer,0);
pthread_join(th_a,&
retval);
pthread_join(th_b,&
return0;
(1)写出源程序,并编译运行
实验6Linux内核
(1)了解Linux操作系内核
(2)掌握内核编译和内核升级方法
(3)了解有关内核编程
(1)内核配置和编译(课后完成)
(2)察看/proc内存文件系统下的文件,写出每个目录内容
(3)编写一个简单的字符虚拟设备程序(以模块方式编译、加载、使用)
structfile_operationsstatus_fops={
NULL,/*seek*/
read_status,
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/statusc<
major_num>
0
staticintmajor_number=0;
/*passamajorof0toregister_chrdev*fordynamicallocation*/
intinit_module(void)
major_number=register_chrdev(0,"
status"
&
status_fops);
if(major_number<
0){
printk(KERN_WARNING"
Dynamicallocationofmajorfailed"
returnmajor_number;
/*returnerrorcode*/
}
printk(KERN_INFO"
Assignedmajornumber%i.\n"
major_umber);
return0;
intcleanup_module(void)
{printk(KERN_INFO"
Unregisteringmajornumber%i.\n"
major_number);
unregister_chrdev(major_number,"
/*givebackournumber*/
staticssize_twrite_status(structfile*file,constchar*buffer,size_tcount,
loff_t*ppos)
{return-EINVAL;
/*we’vedecidednottosupportwritesfornow*/
staticintopen_status(structinode*inode,structfile*file)
{MOD_INC_USE_COUNT;
/*ensuresthatcurrentlyusedmodulesaren’tunloaded*/
staticintclose_status(structinode*inode,structfile*file)
MOD_DEC_USE_COUNT;
/*rmmodwon’trununlessUSE_COUNTis0*/
staticchar*message="
Allyourbasearebelongtous."
;
staticssize_tread_status(structfile*file,char*buffer,size_tcount,loff_t*ppos)
intchar_count=0;
intcount_to_copy=0;
while(message[char_count]!
='
\0'
)char_count++;
count_to_copy=(char_count>
count)?
count:
char_count;
copy_to_user(buffer,message,count_to_copy);
/*writetotheuser-spacebuffer*/
returnchar_count;
(1)给出源程序
(2)记录调试过程和运行结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中南大学 Linux系统实验报告 中南 大学 Linux 系统 实验 报告