Linux实验报告_大三上
linux实验报告

linux实验报告实验目的:通过对Linux操作系统的实践,掌握基本的Linux命令和操作方法,了解Linux操作系统的特点和优势。
实验一:Linux环境搭建在实验一中,我们首先需要搭建Linux操作系统的环境。
根据实验指导书的要求,我们选择了Ubuntu作为实验平台。
通过下载Ubuntu镜像文件,并利用虚拟机软件创建一个虚拟机,将镜像文件安装到虚拟机中。
在安装过程中,我们需要选择合适的分区和网络配置等,并设置root用户的密码。
实验二:基本命令的使用在实验二中,我们主要学习了Linux的基本命令的使用方法。
首先,我们了解了Linux文件系统的结构,包括根目录、用户目录、系统目录等。
然后,通过命令行终端进行一系列的实践操作,比如查看文件内容、创建目录、复制文件等。
这些命令的使用不仅提高了我们的工作效率,同时也增强了对Linux操作系统的理解。
实验三:软件安装与卸载实验三主要涉及到Linux的软件安装与卸载。
我们首先学习了使用APT工具进行软件包管理,通过安装命令行界面的方式安装了一些常用的软件,比如文本编辑器、终端工具等。
此外,我们还学习了如何卸载已安装的软件包,清理不需要的文件,以保持系统的整洁性。
实验四:权限管理在实验四中,我们学习了Linux的权限管理机制。
Linux操作系统采用了基于用户和组的权限模型,通过设置文件和目录的权限,实现对文件的读、写、执行的控制。
我们通过实际操作,创建了新的用户和组,并为不同的用户和组设置了不同的权限。
这样,可以有效地保护系统的文件和数据的安全性。
实验五:网络配置与服务搭建在实验五中,我们主要学习了Linux的网络配置和服务搭建。
通过设置网络接口、IP地址和网关等参数,实现了网络的正常连接。
同时,我们还学习了一些常用的网络命令,比如ping、ssh等。
此外,我们尝试搭建了一个简单的Web服务器,通过浏览器访问,可以查看服务器上的网页。
实验六:系统监控和故障恢复在实验六中,我们学习了Linux的系统监控和故障恢复方法。
linux的实验报告

linux的实验报告Linux的实验报告引言:Linux作为一种开源操作系统,具有广泛的应用领域和强大的稳定性,已经成为计算机科学领域中不可或缺的一部分。
在本次实验中,我们将对Linux进行深入探索和实践,以了解其基本原理和功能。
一、Linux的起源与发展Linux诞生于1991年,由芬兰大学生林纳斯·托瓦兹(Linus Torvalds)开发而成。
起初,Linux只是一个小型的个人项目,但随着时间的推移,越来越多的程序员加入其中,使得Linux逐渐成为一个强大的操作系统。
二、Linux的核心特性1. 开源性:Linux的源代码对所有人开放,任何人都可以对其进行修改和改进。
这使得Linux具有强大的灵活性和可定制性。
2. 多用户和多任务:Linux支持多用户同时登录,并能够同时处理多个任务,大大提高了工作效率。
3. 稳定性和安全性:Linux具有出色的稳定性和安全性,很少出现崩溃和漏洞。
这使得Linux成为服务器和网络设备的首选操作系统。
4. 强大的命令行界面:Linux提供了强大的命令行界面,使得用户可以通过命令行操作来完成各种任务,提高了操作的灵活性和效率。
三、Linux的实验应用在本次实验中,我们通过以下几个方面对Linux进行了实践应用。
1. 安装和配置Linux操作系统首先,我们需要选择适合的Linux发行版,并进行安装和配置。
在安装过程中,我们需要选择合适的分区方案、安装软件包和设置用户账户等。
通过这一步骤,我们熟悉了Linux的安装过程和基本配置。
2. 熟悉Linux的文件系统Linux的文件系统与Windows有所不同,我们需要了解Linux的文件结构和文件路径。
在实验中,我们通过命令行界面进入不同的目录,创建和删除文件,以及修改文件权限等操作,深入了解了Linux的文件系统。
3. 学习Linux的基本命令Linux的命令行界面是其最大的特点之一,我们需要掌握一些基本的命令来完成各种任务。
linux实验报告

实验一 Linux基本操作一、实验目的了解并熟悉Linux操作系统的基本环境和基本操作。
二、实验内容(1)掌握开机、登录、退出、关机步骤;(2)学习Linux的常用命令;(3)学习vi 编辑器的使用:学习在命令终端下,编译、连接、运行一个程序的方法;(4)编制一个C语言程序,显示“hello world”,编译、连接、运行。
三、实验过程(1)开机输入用户名和密码即登录到linux系统中。
退出时可以直接点关机按钮,也可以用命令行:普通用户输入 logout 或者 exit 即注销;超级用户输入shutdown –h now即立刻关机,输入 shutdown –h 12:00即12点关机,输入shutdown –r now即立刻重启。
(2)linux常用命令:-pwd命令:显示当前的工作目录。
-ls 命令:列出指定的文件信息或指定的目录中的文件和子目录清单。
-rm命令:删除指定的文件或目录。
-cp命令:复制文件或目录。
(3)编译:对于c 文件:cc -o name xxx.c;对于c++ 文件:c++ -o name xxx.cpp (其中name是可执行文件名,xxx是编写时候的文件名)。
运行:./name四、调试程序过程命名程序:编写程序:编译程序:运行程序:五、总结1、调试过程中遇到的主要问题及解决过程命名的时候如果不加扩展名 .c或者 .cpp 执行的时候会提示错误,找不到文件。
2、体会和收获通过这次实验我初步认识了虚拟机环境下的linux系统的界面和一些基本的命令行操作;也学会了用vi编辑器编写c和c++文件;同时知道了一些常用的命令,比如查看文件、查看当前目录、复制、删除等等,觉得很有意思,引起了我学习linux的兴趣。
六、附录:源程序代码(另附)。
linux操作系统实验报告

linux操作系统实验报告第一篇:linux操作系统实验报告Linux实验报告一一、实验步骤及内容1.虚拟机软件的安装(1)先准备虚拟机安装包。
(2)更改安装路径:“D: VMwareVMware Workstationvmware.exe”(3)输入序列号:ctrl+v,在安装过程中不能进行复制剪切操作。
(4)不能重新启动,才能继续安装汉化版D: vmwarevmware workstation2.新建一个虚拟机并进行配置(1)单击新建虚拟机虚拟机的类型选择:典型安装选择客户端操作系统:linux虚拟机的名字及位置根据需要网络类型选择:,桥接。
指定的磁盘容量删除软驱:双击floppy—remove虚拟内存设置:双击memory—1024MB设置linux的安装文件:选择安装镜像文件—指定第一个安装文件—就可以啦!之后会提示安装第二个安装文件就进行选择第二个中间鼠标切换用CTRL+ALT。
3.安装LINUX操作系统(1)要确定鼠标是否在虚拟机的激活状态下:敲回车不需要检测安装文件选择skip进入linux的安装前的配置选项:选择安装的语言—中文简体键盘:--默认鼠标:--默认安装类型:--workstation磁盘分区:--自动分区引导程序:默认网络配置:默认防火墙:无防火墙支持的语言:中文时区:亚洲-上海密码:root123456安装的软件包:全部。
二.在已有虚拟机软件的基础上安装LINUX的技巧。
(1)新建虚拟机—典型安装—linux ,red hat linux---给虚拟机命名,并且指定安装位置d:red hat linux---桥接---10G。
(2)在刚才建立的虚拟机上安装linux系统.(3)配置要安装的linux系统的安装文件iso镜像文件(4)选择配置好linux镜像文件刚才建立的虚拟机,启动虚拟机,开始安装。
三.实验总结充分了解linux系统的安装,学会新建虚拟机,在虚拟机上安装linux系统.和一些简单的技巧并对此门课程有了一定的兴趣。
Linux操作系统实验实验报告

实验1:安装Linux系统【实验目的和要求】:安装Linux系统,掌握操作系统的系统配置,建立应用环境的过程。
【实验内容】:1、首先在windows系统中安装虚拟机。
在网上找到VMwareWorksttionPro版本,确定安装目录。
一直下一步,不需要太多的说明。
2、图为安装完成后的界面。
3、然后在阿里巴巴开源镜像网站下载centos系统镜像,然后虚拟机创建新的虚拟机,进行一些简单的虚拟机设置,设置了网络链接nat模式等等。
安装完成后的界面实验2:Linux下c语言开发【实验目的】:学会和掌握用c语言开发一个应用程序的全过程,包括,编译,调试等等。
【实验步骤】:首先在系统中查看是否已经安装有gcc,输入查看命令发现没有,于是需要安装gcc。
在centos系统中可以使用比较简便的yum命令。
在之前已经配置好了yum源。
直接输入yuminstallgcc。
回车自动安装程序和需要的依赖包。
因为虚拟机中和电脑很多地方切换使用不方便,所以安装了xshell软件。
图为xshell中的截图。
安装完毕。
然后使用vi或者vim编写hello.c运行,在屏幕上打印出hello,world。
实验3:进程创建【实验目的和要求】1.了解进程的概念及意义;2.了解子进程和父进程3.掌握创建进程的方法。
【实验内容】1.子进程和父进程的创建;2.编写附件中的程序实例【实验步骤】一1、打开终端,输入命令gedit1_fork.c,在1_fork.c文件中输入1_fork.bmp中的代码;2、输入命令gcc1_fork.c-o1_fork,回车后显示无错误;3、输入命令:./1_fork运行程序。
二、1、打开终端,输入命令gedit2_vfork.c,在2_vfork.c文件中输入2_vfork.bmp中的代码;2、输入命令gcc2_vfork.c-o2_vfork,回车后显示无错误:3、输入命令:./2_vfork运行程序。
从上面可以看到两次的运行结果不一样。
linux实验报告

linux实验报告Linux 实验报告一、实验目的本次 Linux 实验的主要目的是熟悉 Linux 操作系统的基本命令和操作,了解其文件系统、进程管理、用户权限等核心概念,并通过实际操作加深对这些知识的理解和应用能力。
二、实验环境本次实验使用的是虚拟机软件 VirtualBox 安装的 Ubuntu 2004 LTS 操作系统。
三、实验内容及步骤(一)用户和权限管理1、使用`sudo adduser` 命令创建新用户`user1` 和`user2`。
2、使用`sudo passwd user1` 和`sudo passwd user2` 为新用户设置密码。
3、使用`sudo usermod aG sudo user1` 将`user1` 添加到`sudo` 组,使其具有管理员权限。
4、以`user1` 身份登录系统,创建一个文件`file1txt`,尝试修改其权限为 777,观察权限变化。
(二)文件和目录操作1、使用`mkdir` 命令创建目录`directory1` 和`directory2`。
2、使用`touch` 命令在当前目录下创建文件`file2txt` 和`file3txt`。
3、使用`cp` 命令将`file2txt` 复制到`directory1` 目录下。
4、使用`mv` 命令将`file3txt` 移动到`directory2` 目录下。
5、使用`rm` 命令删除`file2txt` 和`directory2` 目录及其下的所有文件。
(三)进程管理1、使用`ps` 命令查看当前系统中的进程信息。
2、使用`top` 命令实时监控系统的进程状态。
3、使用`kill` 命令结束指定进程(例如,通过进程 ID 结束一个占用大量资源的进程)。
(四)文件系统管理1、使用`df` 命令查看磁盘空间使用情况。
2、使用`du` 命令查看目录或文件的磁盘使用量。
3、使用`mount` 命令挂载一个新的磁盘分区(假设已经在虚拟机中添加了新的磁盘分区)。
linux实验系统实验报告

linux实验系统实验报告Linux实验系统实验报告一、引言Linux实验系统是一个基于Linux操作系统的实验平台,旨在提供一个实践学习的环境,帮助学生深入了解Linux操作系统的原理和应用。
本实验报告旨在总结和分析我在使用Linux实验系统进行实验时的经验和收获。
二、实验环境1. 硬件环境:我使用的是一台配备Intel Core i5处理器和8GB内存的个人电脑。
2. 软件环境:我下载并安装了Linux实验系统的最新版本,该版本基于Ubuntu操作系统,并预装了一系列常用的开发工具和软件包。
三、实验内容1. 实验一:Linux基础命令的使用在这个实验中,我通过终端窗口使用了一些常用的Linux命令,如ls、cd、mkdir、rm等。
通过实际操作,我熟悉了Linux文件系统的结构和基本操作,掌握了如何在Linux中创建、删除和移动文件夹,以及如何查看文件和文件夹的属性。
2. 实验二:Shell脚本编程这个实验要求我们使用Shell脚本编写一个简单的程序,实现对指定文件夹中所有文件进行备份的功能。
通过这个实验,我学会了如何使用Shell编程语言,掌握了一些基本的语法和命令,比如if语句、for循环和cp命令。
我还学会了如何将Shell脚本保存为可执行文件,并在终端中运行。
3. 实验三:网络配置与管理这个实验主要涉及Linux系统的网络配置和管理。
我学会了如何配置网络接口,包括设置IP地址、子网掩码和网关。
我还学会了如何使用ping命令测试网络连接,以及如何使用ifconfig命令查看和管理网络接口的状态。
通过这个实验,我对Linux系统的网络配置有了更深入的了解。
四、实验收获通过使用Linux实验系统进行实验,我获得了以下收获:1. 对Linux操作系统有了更深入的了解:通过实际操作,我对Linux操作系统的基本原理和文件系统有了更深入的了解。
我学会了如何在Linux中进行文件和文件夹的管理,以及如何使用命令行界面进行各种操作。
linux实验报告总结-共10篇

∣inux实验报告总结(共10篇)(Linux实验报告汇总)(一)Shell 编程一、实验目的:1)掌握在Linux下的C编程基本方法。
2)掌握shell编程方法。
3)掌握dialog图形化编程方法。
二、实验内容1、编写能输出“Hello world!”问候语的C程序,并在终端中编译、执行。
要求记录所使用的命令及结果。
#include stdio.hmain()(printf(Hello world!\n);)2、编写一个C程序并设置其在后台执行,其功能是在一段时间后(可自行设置),在屏幕上显示信息:Time for play!,写出相应的程序、命令及结果。
#include stdio.hmain()(int time=0;printf(请输入等待时间(单位:s):);scanf(%d/&time);sleep(time);printf(Time for play!\n);)3、编写C程序,求1到100之间整数的阶乘和,并对程序进行优化。
写出程序、命令和结果。
#include stdio.hmain()int i;double s = l,sum = 0;for( i= l;i= 100;i++)sum+=s*=i;printf( 1到100之间整数的阶乘和:%f\n,sum);printf( 1到100之间整数的阶乘和:%e\n,sum);}4、编写C程序,根据键盘输入的半径求圆面积,要求在命令行周率(P∣=3∙14,PI=3∙14159,PI=3.14159626 等)进行编使用不同的译,写出程序、命令和结果。
#include stdio.hint main()double r = 0.0 , Area = 0.0;printf(请输入半径:);scanf(%lf, &r);Area = PI * r * r;printf(圆面积:%f∖n, Area);)5、编写shell程序sh.l,完成向用户输出“你好!”的问候语。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三普通文件和目录编程1.编写程序mycp.c,实现从命令行读入文件的复制功能,用原始文件系统调用。
实验流程图:实验程序代码://mycp.c#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#define bufsize 5int main(int argc,char * argv[]){int fd1,fd2;int i;char buf[bufsize];if(argc!=3){printf("argument error\n");exit(1);}fd1=open(argv[1],O_RDONLY);if(fd1==-1){printf("file %s can not opened\n",argv[1]);exit(1);}fd2=open(argv[2],O_RDWR|O_CREAT);if(fd2==-1){printf("Can not open file %s\n",argv[2]);exit(1);}while(1){i=read(fd1,buf,bufsize);write(fd2,buf,i);if(i!=bufsize) break;}close(fd1);close(fd2);return 0;}Linux环境下运行情况如下:road@ubuntu:~/桌面/work$ gcc -o cp cp.croad@ubuntu:~/桌面/work$ ./cpargument errorPlease use:cp file1 file2road@ubuntu:~/桌面/work$ ./cp a b其中,a为一文件,b为空文件。
2.编写程序mycat.c,实现文件内容的显示,用原始文件系统调用实现。
//mycat.c#include<unistd.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>int main(int argc,char* argv[]){int fd;char buffer[100];int num;if(argc!=2){printf("usage : %s filename\n",argv[0]);return 1;}if((fd=open(argv[1],O_RDONLY))==-1){perror("cannot open the file");return 1;}while((num=read(fd,buffer,99))>0){buffer[num]='\0';printf("%s",buffer);}close(fd);return 0;}Linux环境下运行情况如下:road@ubuntu:~/桌面/work$ gcc -o mycat mycat.c road@ubuntu:~/桌面/work$ ./mycatusage : ./mycat filenameroad@ubuntu:~/桌面/work$ ./mycat aiamroadroad@ubuntu:~/桌面/work$其中,a为一个文件名。
3.1用流文件系统函数重新编写上面的程序。
实验流程图:不为3,提示用流文件写的文件复制功能函数://fcp.c#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int main(int argc,char * argv[]){FILE *fd1,*fd2;char buffer[20];if(argc!=3){printf("argument error\n");printf("usage : %s filename1 filename2\n",argv[0]);return 1;}fd1=fopen(argv[1],"r");if(fd1==NULL){printf("file %s can not opened\n",argv[1]);return 1;}fd2=fopen(argv[2],"w");if(fd2==-1){printf("Can not open file %s\n",argv[2]);return 1;}while(!feof(fd1)){fread(&buffer,sizeof(char),1,fd1);fwrite(&buffer,sizeof(char),1,fd2);}fclose(fd1);fclose(fd2);return 0;}运行情况如下:road@ubuntu:~/桌面/work$ gcc -o fcp fcp.cfcp.c: In function ‘main’:fcp.c:25: warning: comparison between pointer and integer road@ubuntu:~/桌面/work$ ./fcp a b3.2用流文件编写显示函数:流程图:源程序代码://myfcat.c#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int main(int argc,char * argv[]){FILE *fd1;char buffer;if(argc!=2){printf("argument error\n");return 1;}fd1=fopen(argv[1],"r");if(fd1==NULL){printf("file %s can not opened\n",argv[1]);return 1;}while(!feof(fd1)){fscanf(fd1,"%c",&buffer);printf("%c",buffer);}fclose(fd1);return 0;}运行情况如下:road@ubuntu:~/桌面/work$ gcc -o myfcat myfcat.c road@ubuntu:~/桌面/work$ ./myfcat aiamroad程序把文件a的内容显示出来了:iamroad4.调用目录函数,编写程序myls.c,实现按下面格式显示当前目录文件列表:文件名文件大小文件创建时间注意研究文件创建时间的转换,注意研究asctime()函数和ctime()函数的用法。
流程图如下:程序代码如下://myls.c#include <sys/stat.h>#include <stddef.h>#include <stdio.h>#include <sys/types.h>#include <dirent.h>int main(void){DIR *dp;struct dirent *ep;struct stat dup;dp=opendir("./");if(dp!=NULL){while(ep = readdir(dp)){ puts(ep->d_name);stat(ep->d_name,&dup);printf("%u ",dup.st_size);printf("%s ",ctime(&dup.st_atime));}closedir(dp);}elseputs("Couldn't open the directory .\n");return 0;}运行结果:列出了当前目录的所有文件的名称、大小和创建时间road@ubuntu:~/桌面/work$ gcc -o myls myls.cmyls.c: In function ‘main’:myls.c:18: warning: format ‘%u’ expects type ‘unsigned int’, but argument 2 has type ‘__off_t’myls.c:19: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’road@ubuntu:~/桌面/work$ ./mylsserver2.c~947 Sat Jan 9 17:25:42 2010pipol.c324 Fri Jan 8 22:47:21 2010newls.c498 Fri Jan 8 22:47:21 2010getip.c~635 Fri Jan 8 22:38:40 2010network1.c1552 Sat Jan 9 15:28:09 2010server28493 Sat Jan 9 17:19:13 2010程序打印出了当前目录所有文件的名称、文件大小和创建时间。
实验四进程实验1.编写程序,显示所有环境变量的名称和值。
程序源代码://environ.c#include<stdio.h>#include<unistd.h>#include<stdlib.h>int main(){char **ch;extern char**environ;ch=environ;while(*ch){printf("%s\n",*ch);ch++;}return 0;}2.*编写程序,模仿讲义上的mysystem程序,实现输入命令的执行。
流程图:程序源代码://mysystem.c#include <stddef.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>#define SHELL "/bin/sh"int mysystem(const char* command){int status;pid_t pid;pid=fork();if(pid==0){execl(SHELL,SHELL,"-c",command,NULL);_exit(EXIT_FAILURE);}else if(pid<0)status=-1;elseif(waitpid(pid,&status,0)!=pid)status=-1;return status;}int main(int argc,char * argv[]){mysystem(argv[1]);}运行结果:其中用了Shell中的ls命令,列出了当前目录的所有文件road@ubuntu:~/桌面/work$ gcc -o mysystem mysystem.croad@ubuntu:~/桌面/work./mysystem lsa fifo_channel4 mycat.c~ myls.c~ netsever.c read.ca~ fmycat.c myfcat my_sg_get netsever.c~ serverb getip.c myfcat.c my_sg_get.c network server2b~ getip.c~ myfcat.c~ my_sg_get.c~ network1 server2.cclose.c ipop.c myfifo.c mysystem network1.c server2.c~cp kill.c~ mykill mysystem.c network1.c~ server.ccp.c ls.c mykill.c mysystem.c~ network.c server.c~cp.c~ my mykill.c~ netclt network.c~ showev.cfcp my.c mylist.c netclt.c newls.c tcp k.txtfcp.c mycat myls netclt.c~ open.c tcp.txtfcp.c~ mycat.c myls.c netsever pipol.c write.croad@ubuntu:~/桌面/work$实验五命名管道实验1.研究mkfifo命令,在当前目录下创建一个myfifo的命名管道。