LINUX 实验报告Word下载.docx

上传人:b****3 文档编号:16740074 上传时间:2022-11-25 格式:DOCX 页数:20 大小:1.75MB
下载 相关 举报
LINUX 实验报告Word下载.docx_第1页
第1页 / 共20页
LINUX 实验报告Word下载.docx_第2页
第2页 / 共20页
LINUX 实验报告Word下载.docx_第3页
第3页 / 共20页
LINUX 实验报告Word下载.docx_第4页
第4页 / 共20页
LINUX 实验报告Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

LINUX 实验报告Word下载.docx

《LINUX 实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《LINUX 实验报告Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

LINUX 实验报告Word下载.docx

(2)passwd12345

(3)cat/etc/passwd

2)用此用户名和口令登录系统,并用passwd命令修改口令,使用chfn命令输入用户的个人资料,并用finger查看该用户的详细资料。

(1)passwdstudent

(2)chfnstudent

(3)fingerstudent

3)用who命令查看当前登录在系统中的用户列表、登录终端和登录时间以及系统中的用户总数。

2、熟悉Linux操作系统vi编辑器的使用。

1)首先使用vi编辑器编辑一个C语言源程序hello.c,程序的功能是接受用户输入的姓名,然后在屏幕上输出一条语句“Welcome姓名”。

#include<

stdio.h>

Main()

{charname[20];

printf(“Pleaseinputyourname:

”);

scanf(“%s”,name);

printf(“Welcome%s!

\n”,name);

reture0;

}

2)对上述的hello.c文件进行增、删、改操作。

(1)增加文字时用i命令。

(2)删除文字时用dd命令。

(3)修改文字时用x命令。

(4)使用命令“gcc–ohellohello.c”编译源程序,如果发现程序错误,则需要反复使用vi编辑器修改源程序文件并且在修改后重新编译。

3)在vi编辑器中列出用户当前目录下的文件。

(1)利用命令:

vi。

(2)利用命令:

e。

3、熟悉控制台的基本操作以及控制台与XWindow桌面的转换。

4、熟悉XWindow桌面及文件管理器Nautils的使用。

5、通过文件管理器Nautils在XWindow的桌面上建立文件hello.c的链接。

打开文件管理器,找到hello.c文件,单击鼠标右键,选择“创建链接”命令,则在文件管理器的窗口中出现一个图标,名字为“到……的链接”,并且带一个小箭头符号。

只要将该图标拖放到桌面就可以建立到该项目的链接。

然后通过链接打开该文件。

6、通过控制台和XWindow中的文件管理器Nautils进行文件的基本操作。

最后分别通过控制台和XWindow中的文件管理器Nautils在用户主目录下建立一个hello子目录,将hello.c源程序文件和编译以后产生的目标代码文件和可执行文件复制到hello子目录中,删除hello子目录中的hello.c源程序文件,最后再将hello子目录以及其中的文件一并删除。

实验二、Linux的文件系统和设备管理

通过本实验可以掌握Linux系统中文件管理的概念,包括常用命令的格式、文件类型、目录结构和文件系统以及Linux下存储设备的挂载与卸载的方法,并学会如何控制文件和目录的存取权限。

实验内容及步骤:

1、了解Linux系统的文件、文件系统的概念,并观察Linux系统的目录结构。

1)查看系统文件/proc/filestems,了解当前Linux系统所支持的文件系统类型。

2)查看Linux系统的目录结构,了解Linux标准目录的主要内容及其用途和操作权限。

查看当前你所处的目录,然后改变当前目录为根目录,确认当前目录为根目录后,了解Linux标准目录/usr、/home、/bin、/dev、/var、/etc和/mnt的主要用途和操作权限。

2、控制文件和目录的存取权限。

1)在用户主目录中创建一个名为mydir的目录。

进入用户主目录,将/usr/bin目录中的cal文件和/bin目录中的cat文件复制到mydir目录中,并分别命名为mycal和mycat。

使用长列表命令来查看mydir目录中的各个文件。

2)使用长列表命令查看/usr/bin目录中的cal文件和/bin目录中的cat文件,并把它们与mydir目录中的文件进行比较。

3)设法在用户主目录中以home_mycal的文件名来调用mydir/mycal文件。

比较这两个文件有什么不同?

文件的链接数是多少?

执行home_mycal文件,执行的结果是什么?

home_mycal和mydir/mycal两者权限相同,硬链接数也相同。

3)改变文件home_mycal的权限,使拥有者只具有读的权限。

试着再运行home_mycal文件,它运行了吗?

为什么?

没有运行,chmodu-rhome_mycal命令执行后,使用者只有读的权限,没有执行权限。

4)删除home_mycal,这样做也删除了mydir/mycal文件吗?

没有删除mydir/mycal,对链接的大部分操作,包括打开、读、写等,都被传递给其链接目标,操作真正作用在链接目标上。

另外一些操作,如删除等则作用在链接本身。

3、掌握Linux下存储设备的挂载与卸载的方法。

1)建立挂载点,使用mount和umount命令手工挂载本地磁盘(U盘以及Windows的分区)。

2)使用fdisk-l命令查看设备的连接情况,主要查看U盘以及Windows分区的名称。

3)卸载本地磁盘(U盘以及Windows的分区)。

4)设置/etc/fstab文件,以便在系统启动时自动挂载文件系统。

实验三、Linux下的shell编程

使学生熟悉shell的基本操作,掌握shell的基本编程方法,并通过使用Linux中最常用的参数处理创建简单的shell程序来简化日常管理任务,为系统管理服务。

假设有一台Windows和Linux双启动的主机,Windows有C、D两个分区,编写一个负责挂载的脚本程序mmnt,参数为cdrom时挂载光驱;

参数为floppy时挂载软驱;

参数为C(大小写都可以)时挂载Windows的C盘(有中文字符);

参数为D(大小写都可以)时挂载Windows的D盘(有中文字符);

参数为U(大小写都可以)时挂载U盘(有中文字符);

参数为其他值时显示帮助信息:

“Usage:

mmntcdrom|floppy|C|c|D|d|U|u”。

编写一个负责卸载的脚本程序umnt,完成相应的存储设备的卸载,参数的含义同上。

1、以root身份登录Linux系统,查看系统的命令提示符,确定系统使用的shell程序类型。

列出Linux系统常见的shell种类。

echo$SHELL

2、使用fdisk-l命令查看系统连接的存储设备,主要查看U盘以及Windows分区的名称,比如hda3,hda5和sda,以确定挂载的设备名。

3、建立挂载点。

mkdir/mnt/C

mkdir/mnt/D

mkdir/mnt/USB

4、编写/etc/fstab文件,编辑或者添加如下5行代码:

/dev/hda3/mnt/Cvfatnoauto,iocharset=cp93600

/dev/hda5/mnt/Dvfatnoauto,iocharset=cp93600

/dev/cdrom/mnt/cdromiso9660noauto,owner,ro00

/dev/fd0/mnt/floppyautonoauto,owner00

/dev/sda/mnt/USBvfatnoauto,iocharset=cp93600

5、编写shell脚本mmnt。

#!

/bin/sh

case$1in

cdrom)mount/mnt/cdrom;

;

floppy)mount/mnt/floppy;

C|c)mount/mnt/C;

D|d)mount/mnt/D;

U|u)mount/mnt/USB;

*)echo“Usage:

mmntcdrom|floppy|C|c|D|d|U|u”;

Esac

6、编写shell脚本umnt。

cdrom)umount/mnt/cdrom;

floppy)umount/mnt/floppy;

C|c)umount/mnt/C;

D|d)umount/mnt/D;

U|u)umount/mnt/USB;

umntcdrom|floppy|C|c|D|d|U|u”;

7、使shell脚本程序mmnt和umnt可执行。

chmod+xmmnt

chmod+xumnt

7、测试shell脚本程序mmnt和umnt执行的结果。

实验四、Linux下的C/C++编程

通过GCC工具的熟练使用,熟悉GCC编译的四个阶段,掌握Linux下C/C++程序的设计、调试与运行的原理、方法与应用技能。

1、编写一个C语言源程序test,实现从键盘输入n个整数,在内存中自小到大排序后输出。

要求在vi中编辑,用GCC编译、链接、运行,用GCC进行调试,记录输出的结果并分析。

#include<

main()

{voidDisplayarray(intarray[]);

intt,i,loop;

intarray[10];

printf("

请输入10个数:

"

);

for(i=0;

i<

10;

i++)

scanf("

%d"

&

array[i]);

原始数组为:

Displayarray(array);

for(loop=1;

loop<

=9;

loop++)

{

for(i=0;

i<

=9-loop;

i++)

if(array[i]>

array[i+1])

t=array[i];

array[i]=array[i+1];

array[i+1]=t;

}

排序后升序数组为:

}

voidDisplayarray(intarray[])

{inti;

10;

%3d"

array[i]);

\n"

2、程序调试实践:

stdlib.h>

{

charc;

//定义一个字符保存从源文件中读取出来的字符。

charname1[20],name2[20];

//定义两个字符串数组name1,name2.长度为20。

FILE*fp1,*fp2;

//定义两个文件类型的指针。

printf(“Inputsorfilname:

”);

scanf(“%s”,name1);

//输入源文件路径保存在name1数组中。

printf(“Inputdesfilname:

scanf(“%s”,name2);

//输入目标文件路径保存在name2数组中。

fp1=fopen(name1,“r”);

//fp1指针指向源文件。

以读的方式打开源文件

if(fp1==NULL)

printf(“Cannotopenrfile\n”);

exit

(1);

}//fp1如果指针指向为空,输出提示:

Cannotopenrfile,exit

(1)表示异常退出。

fp2=fopen(name2,“w”);

//fp2指针指向目标文件。

以写的方式打开目标文件

if(fp2==NULL)

{printf(“Cannotopenwfile\n”);

exit;

}//fp2如果指针指向为空,输出提示:

Cannotopenwfile,exit退出。

while((c=fgetc(fp1))!

=EOF)

fputc(c,fp2);

/*从流中读取字符,即从fp1所指定的文件中取得下一个字符。

在每取完一个字符时fp会自动向下移动一个字节。

J将读取的字符保存到C中。

EOF是一个宏,代表文件末尾通过while循环一直读取到文件末尾把文件读取完*/

//把c中的内容保存到fp2指定的文件中。

fclose(fp1);

//关闭打开的源文件,并清空缓冲区。

fclose(fp2);

//关闭打开的目标文件,并清空缓冲区。

printf(“copycomplete!

\n”);

//提示复制完成。

录入、编辑、调试、运行以上程序,记录程序的运行结果,在每行的后面加上注释并说明程序实现的功能。

该文件实现的功能是将一个文件中的内容复制到另一个文件中。

将文件编译后授予执行权限运行,在运行过程中:

Inputsorfilname:

提示输入源文件名。

Inputdesfilname:

提示输入目标文件名。

在文件内容从源文件到目标文件复制完成后会提示

copycomplete!

复制成功。

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

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1