操作系统-Linux课程实验报告材料
linux操作系统 实验报告
linux操作系统实验报告Linux操作系统实验报告一、引言Linux操作系统是一种开源的、免费的操作系统,其内核由Linus Torvalds于1991年首次发布。
Linux操作系统具有稳定性高、安全性强、灵活性大等优点,因此在互联网、服务器、嵌入式系统等领域得到广泛应用。
本实验报告将介绍Linux操作系统的基本特点、安装过程以及常用命令的使用。
二、Linux操作系统的基本特点1. 开源性Linux操作系统的内核及相关软件源代码对用户开放,任何人都可以查看、修改和分发。
这使得Linux操作系统具有高度的透明度和可定制性,用户可以根据自己的需求进行定制和优化。
2. 多用户、多任务Linux操作系统支持多用户同时登录,并且可以同时运行多个任务。
这使得多个用户可以在同一台计算机上独立地进行工作,提高了计算机的利用率。
3. 稳定性和安全性Linux操作系统具有良好的稳定性和安全性。
由于其内核的设计和实现方式,Linux操作系统可以长时间运行而不会出现系统崩溃或死机的情况。
同时,Linux操作系统提供了丰富的安全机制,如文件权限控制、用户身份验证等,可以有效保护系统和用户的数据安全。
三、Linux操作系统的安装过程1. 准备安装介质在安装Linux操作系统之前,需要准备一个可启动的安装介质,如光盘或USB闪存驱动器。
这些介质可以从Linux官方网站或其他可信渠道下载。
2. 进入安装界面将安装介质插入计算机,并按下开机键启动计算机。
在启动过程中,选择从安装介质启动。
随后,将进入Linux操作系统的安装界面。
3. 设置安装选项在安装界面中,可以设置安装选项,如语言、时区、键盘布局等。
根据实际需要进行选择和设置。
4. 分区和格式化磁盘在安装界面中,可以对硬盘进行分区和格式化操作。
根据实际需求,可以选择使用整个硬盘或者将硬盘分为多个分区。
5. 安装系统在分区和格式化完成后,可以开始安装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操作、使用、编程指导教师杨健实验类型验证实验学时2+2 实验时间2007.10.29 1、实验目的和要求1.能够安装某Linux发行版本(例如Red Hat)2.了解Linux的启动过程3.了解Linux文件的组织结构4.熟悉X Window 环境5.练习使用Linux 常用命令6.熟练使用Linux的C语言开发环境7.学习并掌握Linux 编译工具gcc 的使用方法8. 熟练使用Linux的C语言开发环境9. 学习并掌握Linux 编译工具gcc 的使用方法10. Linux操作系统下的熟悉并能够进行进程创建11. 掌握Linux操作系统下的并发进程间同步12. 掌握Linux操作系统下的进程间通信IPC二、实验环境(实验设备)Windows 2000 + VMWare + RedHat Linux 8三、实验原理及内容熟悉了vim的操作,知道它的打开方式,编译方法,和运行方法。
了解了vim的常见的命令。
实验报告pid_t pid; //pid_t是Linux下的进程号类型,也就是Process ID _ Type 的缩写。
其实是宏定义的//unsigned int a类型int data=5;if((pid=fork())<0) /*错误处理,此处的pid的值,可以说明fork调用后,目前执行的是父进程还是子进程*/{printf("fork error\n");exit(0);}else if(pid==0) /*这是新进程*/{data--;printf("child\'s data is:%d\n",data);exit(0);}else /*这是最初的父进程*/{printf("parent\'s data is:%d\n",data);}exit(0);}/*fork函数被调用一次但返回两次。
linux操作系统实验报告
linux操作系统实验报告Linux操作系统实验报告一、引言在计算机科学领域,操作系统是一个非常重要的概念。
它是计算机硬件与应用软件之间的桥梁,负责管理计算机的资源和提供用户与计算机之间的交互界面。
Linux操作系统是一个开源的、免费的操作系统,广泛应用于服务器、个人电脑和嵌入式设备等领域。
本次实验报告将介绍Linux操作系统的基本概念、特点以及实验过程与结果。
二、Linux操作系统的概述Linux操作系统是一个基于Unix的操作系统,最初由芬兰的林纳斯·托瓦兹(Linus Torvalds)开发,并于1991年首次发布。
与其他操作系统相比,Linux具有以下几个显著特点:1. 开源性:Linux操作系统的源代码是公开的,任何人都可以查看、修改和分发。
这使得Linux操作系统具有高度的灵活性和可定制性。
2. 多用户多任务:Linux操作系统支持多用户同时登录,并且可以同时运行多个任务。
这使得Linux操作系统非常适合用于服务器环境。
3. 稳定性和安全性:Linux操作系统具有较高的稳定性和安全性。
它可以长时间运行而不会出现崩溃或死机,并且提供了强大的安全机制来保护用户的数据和系统。
三、实验过程与结果本次实验主要涉及Linux操作系统的安装和基本使用。
1. 安装Linux操作系统:首先,我们需要选择适合自己的Linux发行版,并将其安装到计算机上。
常见的Linux发行版包括Ubuntu、Debian、Fedora等。
在实验中,我们选择了Ubuntu作为实验平台。
2. 熟悉Linux命令行界面:Linux操作系统的主要交互界面是命令行界面。
在实验中,我们学习了一些基本的Linux命令,如cd(切换目录)、ls(列出目录内容)、mkdir(创建目录)等。
3. 文件管理与权限设置:在Linux操作系统中,文件和目录的管理非常重要。
我们学习了如何创建、复制、移动和删除文件和目录,并且了解了Linux操作系统中的权限设置机制。
操作系统-Linux课程实验报告
实验1.1、1.2 Linux Ubuntu的安装、创建新的虚拟机VMWare实验1.3 Shell编程1.实验目的与内容通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。
编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。
2.程序源代码清单#include<stdio.h>#include<sys/wait.h>int main(){printf("Hello Linux\n");int pid;int state;int pfd[2];pipe(pfd);if (fork()==0){printf("In the grep progress\n");dup2(pfd[0],0);close(pfd[0]);close(pfd[1]);execlp("grep","grep","sh",0);perror("exelp grep error");}esle if(fork()==0){printf("In the ps progress\n");dup2(pfd[1],1);close(pfd[0]);close(pfd[1]);execlp("ps","ps","-ef",0);perror("execlp ps -ef");}close(pfd[1]);close(pfd[0]);wait(&state);wait(&state);}实验2.3 内核模块实验步骤:(1).编写内核模块文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。
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
实验课程名称:《操作系统》实验项目名称L i n u x系统的使用实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验预习报告(实验目的,主要设备、仪器,基本原理、实验步骤等)(可加页)实验目的和要求:Linux键盘命令和字符界面编辑器vi要求:掌握Linux系统键盘命令和vi的使用方法。
⑴熟悉开机后登录Linux系统和退出系统的过程;⑵熟悉Linux字符界面——虚拟终端窗口和shell,练习并掌握常用的Linux操作命令,如ls、cat、ps、df、find、grep、cd、more、cp、rm、mv、mkdir、rm、chmod、chown、passwd、kill、who、ln、control+d/c等;熟悉常用shell的提示符;熟悉图形界面——X-Window(如gnome或KDE)以及字符窗口与图形界面之间的切换(若实验条件允许)。
⑶学习使用Linux的在线求助系统,如man和help命令等。
⑷掌握一种Linux的编辑器,特别是字符界面的vi工具的使用。
⑸用vi编辑一个打印“Hello,I am a C program”字串的C语言程序,然后编译并运行它,记下整个过程。
熟悉gc编译器的使用。
二、实验过程记录(包括实验内容、数据记录、实验现象等)(可加页)1 首先用root创建新的用户如下图1-1所示图1-12 熟悉Linux字符界面——虚拟终端窗口和shell,练习并掌握常用的Linux操作命令,操作如图2-1所示Ls-l命令显示所有文件名字权限,创建时间等。
⑶学习使用Linux的在线求助系统,如man和help命令等。
操作如图3-1图3-1 通过输入help得到一些函数的使用方法和信息⑷掌握一种Linux的编辑器,特别是字符界面的vi工具的使用。
操作如图4-1,4-2所示输入vi yxq.c创建并进入vi编辑器图4-1输入i进入编辑模式,程序编辑完成按Ese键,在如入:wq保存并退出图4-2⑸用vi编辑一个打印“Hello,I am yxq”字串的C语言程序,然后编译并运行它,记下整个过程。
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,完成向用户输出“你好!”的问候语。
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 系统打下坚实的基础。
二、实验环境本次实验使用的操作系统是 Ubuntu 2004 LTS ,实验在虚拟机中进行,虚拟机软件为 VMware Workstation Pro 16 。
三、实验内容及步骤(一)文件和目录管理1、登录到 Linux 系统后,首先使用`pwd` 命令查看当前工作目录。
2、使用`ls` 命令查看当前目录下的文件和子目录。
3、使用`mkdir` 命令创建一个新的目录,例如`myfolder` 。
4、使用`cd` 命令进入新创建的目录。
5、在新目录中,使用`touch` 命令创建一个新的空文件,例如`myfiletxt` 。
6、使用`vi` 或`nano` 命令编辑该文件,输入一些文本内容并保存。
7、使用`cat` 命令查看文件的内容。
8、使用`cp` 命令将该文件复制到其他目录。
9、使用`mv` 命令将文件移动到其他位置。
10、使用`rm` 命令删除文件和目录,注意使用`r` 选项递归删除非空目录。
(二)用户和权限管理1、使用`sudo adduser` 命令创建一个新用户,例如`newuser` 。
2、使用`sudo passwd newuser` 命令为新用户设置密码。
3、切换到新用户登录,查看当前用户信息,使用`whoami` 和`id` 命令。
4、回到 root 用户,使用`chmod` 命令修改文件或目录的权限,例如给一个文件设置读写执行权限。
5、使用`chown` 命令修改文件或目录的所有者和所属组。
(三)进程管理1、使用`ps` 命令查看当前系统中的进程信息。
2、使用`top` 命令动态查看系统的资源使用情况和进程状态。
3、使用`kill` 命令结束一个指定的进程,需要知道进程的 PID 。
linux系统使用实验报告
linux系统使用实验报告Linux 系统使用实验报告一、实验目的本次实验旨在深入了解和熟悉 Linux 操作系统的基本操作、命令行使用以及系统配置,掌握常见的文件管理、进程管理、用户权限管理等功能,提高对 Linux 系统的实际应用能力。
二、实验环境1、操作系统:Ubuntu 2004 LTS2、实验工具:终端模拟器(Terminal)三、实验内容与步骤(一)系统登录与基本命令1、启动计算机,选择 Ubuntu 操作系统,输入用户名和密码登录系统。
2、打开终端模拟器,熟悉常用的基本命令,如`ls` (列出当前目录下的文件和文件夹)、`cd` (切换目录)、`mkdir` (创建新目录)、`rmdir` (删除空目录)等。
(二)文件管理1、在用户主目录下创建一个名为`experiment` 的文件夹,使用`mkdir experiment` 命令。
2、进入该文件夹,使用`cd experiment` 命令。
3、在`experiment` 文件夹中创建一个文本文件`filetxt` ,使用`touch filetxt` 命令。
4、使用`vi` 或`nano` 编辑器打开`filetxt` 文件,输入一些文本内容,并保存退出。
5、查看文件的内容,使用`cat filetxt` 命令。
6、复制文件,使用`cp filetxt file_copytxt` 命令。
7、移动文件,使用`mv filetxt/`命令将文件移动到上级目录。
8、删除文件,使用`rm file_copytxt` 命令。
(三)进程管理1、运行一个后台进程,例如`ping &`,然后使用`jobs` 命令查看后台进程。
2、将后台进程切换到前台,使用`fg %1` (其中%1 为后台进程的编号)命令。
3、终止进程,使用`Ctrl + C` 组合键终止正在运行的进程。
4、查看系统当前运行的进程,使用`ps aux` 命令。
(四)用户权限管理1、创建一个新用户,使用`sudo adduser username` 命令,其中`username` 为新用户的用户名。
操作系统linux版实验报告
操作系统实验报告(Linux版)网络142 豹 142999实验一观察Linux进程状态一、实验目的在本实验中学习Linux操作系统的进程状态,并通过编写一些简单代码来观察各种情况下,Linux进程的状态,进一步理解进程的状态及其转换机制。
二、实验环境硬件环境:计算机一台,局域网环境;软件环境:Linux Ubuntu操作系统,gcc编译器。
(四)查看“不可中断阻塞”状态(D)创建一个C程序,如uninter_status.c,让其睡眠30s代码:#include<unistd.h>#include<stdio.h>int main(){int i=0,j=0,k=0;for(i=0;i<1000000;i++){for(j=0;j<1000000;j++){k++;k--;}}}实验结果:(二)查看“暂停”状态(T)运行run_status进程,其进入R状态:代码同上:(三)查看“可中断阻塞”状态(S)创建一个C程序,如interruptiblie_status.c,让其睡眠30s 编译,后台运行该程序(后接&符号),并使用ps命令查看运行状态代码:#include<unistd.h>#include<stdio.h>int main(){sleep(30);return;}实验结果:(四)查看“不可中断阻塞”状态(D)创建一个C程序,如uninter_status.c,让其睡眠30s编译,后台运行该程序(后接&),并使用ps命令查看运行状态代码:#include<unistd.h>#include<stdio.h>int main(){if(vfork()==0)sleep(300);return;}}实验结果:(五)查看“僵尸”进程(Z)创建一个C程序,如zombie_status.c,在其中创建一个子进程,并让子进程迅速结束,而父进程陷入阻塞编译,后台运行该程序(后接&),并使用ps命令查看运行状态(30s)代码:#include<unistd.h>#incldue<stdio.h>int main(){if(fork()){sleep(300);}}实验结果:实验二观察Linux进程/线程的异步并发执行一、实验目的通过本实验学习如何创建Linux进程及线程,通过实验,观察Linux进程及线程的异步执行。
linux操作系统实验报告【范本模板】
LINUX操作系统实验报告姓名班级学号指导教师2011 年05月16 日实验一在LINUX下获取帮助、Shell实用功能实验目的:1、掌握字符界面下关机及重启的命令.2、掌握LINUX下获取帮助信息的命令:man、help。
3、掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令的排列、替换与别名,管道及输入输出重定向。
实验内容:1、使用shutdown命令设定在30分钟之后关闭计算机.2、使用命令“cat /etc/cron.daliy”设置为别名named,然后再取消别名。
3、使用echo命令和输出重定向创建文本文件/root/nn,内容是hello,然后再使用追加重定向输入内容为word。
4、使用管道方式分页显示/var目录下的内容。
5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。
实验步骤及结果:1.用shutdown命令安全关闭系统,先开机在图形界面中右击鼠标选中新建终端选项中输入命令Shutdown -h 302、使用命令alias将/etc/cron。
daliy文件设置为别名named,左边是要设置的名称右边是要更改的文件。
查看目录下的内容,只要在终端输入命令即可。
取消更改的名称用命令unalias命令:在命令后输入要取消的名称,再输入名称。
3.输入命令将文件内容HELLO重定向创建文本文件/root/nn,然后用然后再使用追加重定向输入内容为word。
步骤与输入内容HELLO一样,然后用命令显示文件的全部内容。
4。
使用命令ls /etc显示/etc目录下的内容,命令是分页显示。
“|”是管道符号,它可以将多个命令输出信息当作某个命令的输入。
5实验二文件和目录操作命令实验目的:1、掌握LINUX下文件和目录的操作命令,如pwd、cd、ls、touch、mkdir、rmdir、cp、mv、rm等。
2、掌握LINUX下建立链接文件的方法。
linux操作系统实验报告
一、设计题目进程管理及理解和增加Linux系统调用二、设计时间和地点设计时间:2011年12月26日——2011年12月29日设计地点:装备制造学院B座502机房三、设计目的和要求(1)加深对进程概念的理解,明确进程和程序的区别。
(2)进一步认识并发执行的实质。
(3)分析进程争用资源的现象,学习解决互斥的方法。
(4)了解Linux系统中进程通信的基本原理。
(5)弄清进程管理在操作系统中的地位和作用。
(6)初步揭开Linux内核的神秘“面纱”,为今后深入学习内核原理打下基础。
(7)弄清系统调用原理,以及操作系统在处理每个系统调用的时候,用户态怎样切入核心态?又怎样从核心态返回到用户态的?四、设计内容(1)实验准备a. 基本头文件<sys/types.h>:类型头文件,定义了基本的系统数据类型。
<unistd.h>:定义了各种符号常数和类型,并声明了各种函数。
<stdio .h>带缓冲的标准输入输出!<stdlib.h>头文件即standard library标准库头文件b.vi编辑器的基本使用[root@localhost ~]# vi filenameCommand 模式是vi默认模式,如果我们处于其它命令模式时,当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令;:w 保存;:w filename 另存为filename;:wq! 保存退出;:wq! filename 注:以filename为文件名保存后退出;:q! 不保存退出;c.gcc的基本使用1、直接编译gcc filename.c -o filename2、分步编译进行预编译# gcc -E hello.c -o hello.i生成目标代码# gcc -c hello.i -o hello.o链接成可执行文件# gcc hello.o -o hellod.U盘的挂载与卸载先要为外挂点新建一个子目录,一般外挂点的子目录都是建立在/mnt里面的,也建在那里,当然也可以建在/目录下,名字可以自己定,就取名为usb,终端下的命令如下:mkdir /mnt/usb然后接上U盘了,在终端下输入mount /dev/sdb1 /mnt/usb命令并击Enter删除挂起点,方法是:umount /dev/sdb1 /mnt/usb 或 umount /dev/sdb1(2)设计内容1、进程的创建编写一段程序,使用系统调用fork()创建两个子进程。
linux操作系统实验报告书
linux操作系统实验报告书(1)一.实验名称:Linux基本命令的使用二.实验目的:1.进一步练习Linux登录和退出的方法2.练习与目录和文件操作相关的Linux命令:cd:切换目录mkdir:建立一个新目录cp:文件拷贝ls:显示目录及文件的内容mv:更改文件名称cat、more、less:浏览文件内容chmod:更改文件或目录的访问权限rm:删除文件rmdir:删除目录三.实验内容:1.登录进入Linux 系统。
2.将工作目录切换到根目录,用ls命令查看根目录下的内容,尝试使用-a,-l,-F,-A,-lF等不同选项并比较不同之处。
3.在家目录下建立一个名为test的新目录,将工作目录切换到test下,然后将/tmp下的文件lesson.log拷贝到该目录下,并将lesson.log用mv命令改名为:TestRenName.txt。
4.用cat命令浏览文件TestRenName.txt的内容,用more命令进行浏览翻页操作。
再用less命令浏览文件TestRenName.txt的内容。
5.用ls命令查看test下的文件的权限,并更改文件TestRenName.txt的权限为:只允许自己读写,不允许其他用户访问。
用ls命令查看更改后的结果后再将文件TestRenName.txt的权限更改为系统默认的权限:-rw-r--r--。
6.用rm命令删除test目录下的所有文件,再用rmdir命令删除test目录。
7.用logout命令退出系统。
四.结果分析:五.实验心得*********************************************************************linux操作系统实验报告书(2)一.实验名称:Linux基本命令的使用二.实验目的:1. 掌握监视系统的几个Linux基本命令:PS--查看系统的进程tty--查看当前使用的终端df--查看系统的文件系统的空间使用情况du--查看具体某个文件和目录的磁盘空间的占用情况free--查看使用的内存资源的情况2. 掌握Linux下的联机帮助手册的使用3. 掌握Linux命令的简要帮助的获取方法4. 掌握一些其他常用的Linux命令:cal--显示日历date--显示系统的日期和时间clear--清屏find--查找文件uname--查看系统信息who--查看其他登录的用户which--查看命令的全路径tar--Linux下的压缩与解压缩命令三.实验内容:1.使用ps查看系统的进程运行情况,使用不同的命令选项并比较显示结果的差别;查看当前系统已安装的文件系统的空间使用情况;查看用户的家目录占用了多少空间;查看使用的内存资源的情况.2.查看ls命令的详细使用方法,查看ps命令的详细使用方法.3.获取ls命令的简要帮助信息,获取ps命令的简要帮助信息.4.用cal命令显示日历,用date命令显示系统的日期和时间,用clear清除屏幕,用find命令在系统中查找文件ch1.doc,用uname命令查看系统的信息,用who 命令查看其他登录的用户,用which命令查看一些命令的全路径,用tar命令来压缩test目录下的所有后缀为doc的文件到文件doc.tar.gz中,将doc.tar.gz 复制到用户的家目录并展开压缩文件.四.结果分析:1. 要查看系统的进程运行情况可使用ps命令:[stu@cs-linux stu]$ psPID TTY TIME CMD4442 pts/0 00:00:00 bash11683 pts/0 00:00:00 ps第一列中的PID表示进程编号,第二列中的TTY表示提交该进程的终端号,第三列中的TIME表示该进程已运行的时间,第四列中的CMD表示该进程所对应的命令.如果要显示进程更详细的信息,可以使用参数ps u:[stu@cs-linux stu]$ ps uUSER PID %CPU %MEM VSZ RSSTTY STAT START TIME COMMAND501 4442 0.0 0.3 5560 784 pts/0 S 09:45 0:00 bash501 11684 0.0 0.2 2592 644 pts/0 R 10:16 0:00 ps -uUSER表示进程拥有者,%CPU表示CPU时间的占用比例,%MEM表示内存的占用比例,VSZ表示进程的大小,RSS表示常驻内存部分大小,START表示进程的启动时间.如果要用长格式显示系统进程的信息,可以使用参数ps l:[stu@cs-linux stu]$ ps lFS UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME C MD4 S 501 4174 4173 0 75 0 - 1389 wait4 pts/0 00:00:00 bash0 R 501 4201 4174 0 80 0 - 776 - pts/0 00:00:00 ps要查看当前系统已安装的文件系统的空间使用情况,使用命令df:[stu@cs-linux stu]$ df文件系统1K-块已用可用已用% 挂载点/dev/hda7 9574520 2833764 6254392 32% /none 111472 0 111472 0% /dev/shm/dev/hda5 30701232 13538096 17163136 45% /mnt/hdd要查看用户的家目录占用了多少空间,先将工作目录切换到家目录,再使用命令du:[stu@cs-linux stu]$ du12 ./.kde/Autostart16 ./.kde8 ./.xemacs4 ./test64 .以上结果表示家目录公占用64KB的空间.要查看使用的内存资源的情况,应使用命令free:[stu@cs-linux stu]$ freetotal used free shared buffers cached Mem: 222948 216688 6260 0 17832 92792 -/+ buffers/cache: 106064 116884Swap: 514040 0 514040以上结果表示系统内存及交换空间使用情况.2. 查看ls命令的详细使用方法,使用命令man ls:[stu@cs-linux stu]$ man ls(.......显示内容省略)查看ps命令的详细使用方法,使用命令man ps:[stu@cs-linux stu]$ man ps(.......显示内容省略)3. 获取ls命令的简要帮助信息,可使用命令ls --help:[stu@cs-linux stu]$ ls --help(.......显示内容省略)获取ps命令的简要帮助信息,可使用命令ps --help:[stu@cs-linux stu]$ ps --help(.......显示内容省略)4. 要显示日历可使用命令cal:[stu@cs-linux stu]$ cal六月2004日一二三四五六1 2 3 4 56 7 8 9 10 11 1213 14 15 16 17 18 1920 21 22 23 24 25 2627 28 29 30以上用命令cal不加任何参数时显示当月日历,如果要指定查看某年某月的日历,可以加[月][年]参数,如要查看2004年8月:[stu@cs-linux stu]$ cal 08 2004八月2004日一二三四五六1 2 3 4 5 6 78 9 10 11 12 13 1415 16 17 18 19 20 2122 23 24 25 26 27 2829 30 31要显示系统的日期和时间,可使用命令date:[stu@cs-linux stu]$ date五6月18 11:23:23 CST 2004表示当前时间为2004年6月18日星期五11:23:23.用clear命令清除屏幕,之后将把已前显示的结果清除:[stu@cs-linux stu]$ clear用find命令在系统中查找文件ch1.doc,应首先退出到根目录下,在使用命令find ch1.doc:[stu@cs-linux /]$ cd /[stu@cs-linux /]$ find / -name "ch1.doc"find: /home/wb: 权限不够/home/stu/test/ch1.doc结果表示找到的文件在/home/stu/test/目录下.用uname命令查看系统的信息:[stu@cs-linux /]$ unameLinux用who命令查看其他登录的用户:[stu@cs-linux /]$ whostu tty1 Jun 18 14:22root pts/0 Jun 18 14:23 (:0.0)用which命令查看一些命令的全路径,如查看命令ls和ps的全路径:[stu@cs-linux /]$ which lsalias ls='ls --color=tty'/bin/ls[stu@cs-linux /]$ which ps/bin/ps用tar命令来压缩test目录下的所有后缀为doc的文件到文件doc.tar.gz中,如下:[stu@cs-linux test]$ tar cvf doc.tar.gz *.docch1.docch2.doc[stu@cs-linux test]$ lsch1.doc ch2.doc doc.tar.gz sesson.txt使用命令加参数cvf来打包所有后缀为doc的文件,参数c表示建立新文档,参数v表示在处理过程中显示相关信息,参数f表示以文件方式打包.现test目录下共有doc文件2个,所以显示ch1.doc,ch2.doc.打包后用ls命令查看,发现多了一个doc.tar.gz文件,表明操作成功.将doc.tar.gz复制到用户的家目录并展开压缩文件:[stu@cs-linux test]$ cd ..[stu@cs-linux stu]$ cp test/doc.tar.gz doc.tar.gz[stu@cs-linux stu]$ tar xvf doc.tar.gz *.docch1.docch2.doc[stu@cs-linux stu]$ lsch1.doc ch2.doc doc.tar.gz test第三行的参数x表示解包文件.五.实验心得这一章主要学习了Linux下的一些关于监视系统的命令以及一些常用辅助命令,对于一个Linux的系统管理员,掌握这些命令的使用是非常重要的,因为这些命令不仅可以让系统管理员了解到系统的运行情况,还可以了解到磁盘及内存的占用情况,以便系统管理员根据情况作出相应调整。
linux操作系统实验报告全部
4.熟悉外存目录树结构;
5.熟悉程序开发工具:编辑、编译、连接、调试;
6.学会获得帮助信息。
代码:
#include <stdio.h>
int main() {
printf("Hello World\n");
return 0;
}
【实验结果】
【实验题目】2进程的创建和控制
if(pid2==0)
{
1ockf(fd[1],1,0);
sprintf(OutPipe,“child 2 processis sending message!“);
write (fd[1],OutPipe,50);
sleep (5);
lockf (fd[l],0,0);
exit(0);
}
else
{
signal(16,stop);
printf(%d”,SIG_DEL);
waiting();
lockf(stdout,1,0);
printf("child process 1 is killed by parent!\n”);
1ockf(stdout,0,0);
exit(0);
}
}
voidwaiting()
}
}
#include<stdio2,i;
while((pl = fork ( ) ) ==-1);
if(pl ==0)
{
lockf(1,1,0),
for(i =0 ; i<500 ; i++)printf ((“child %d/n”,i );
lockf(1,0,0);
linux操作系统实验报告
linux操作系统实验报告Linux操作系统实验报告一、引言在计算机科学领域,操作系统是一种非常重要的软件,它负责管理计算机硬件和软件资源,提供用户与计算机之间的接口。
Linux操作系统是一种开源的、免费的操作系统,它具有高度的可定制性和稳定性,因此在科研、教育和商业领域都得到广泛应用。
本实验报告将介绍我们在课程中对Linux操作系统的实验内容和实验结果。
二、实验目的本次实验的目的是让我们学生通过亲自操作和实践,深入了解Linux操作系统的特点、功能和使用方法。
通过实验,我们将学会如何安装Linux操作系统、使用Linux命令行界面、管理文件和目录、配置网络和安全等。
三、实验环境我们使用的实验环境是一台配置较高的个人计算机,该计算机上安装了虚拟机软件。
我们选择了一款常用的虚拟机软件VirtualBox,并在其上安装了Ubuntu Linux操作系统。
四、实验内容1. Linux操作系统安装我们首先学习了如何在虚拟机上安装Linux操作系统。
通过下载Ubuntu的镜像文件,并创建虚拟机实例,我们成功地完成了Linux操作系统的安装。
在安装过程中,我们需要设置用户名、密码和网络配置等信息。
2. Linux命令行界面Linux操作系统的命令行界面是其最基本的用户接口。
我们学习了一些常用的Linux命令,如cd、ls、mkdir、rm等,用于管理文件和目录。
我们还学习了如何使用管道和重定向符号来处理命令的输入和输出。
3. 文件和目录管理Linux操作系统以文件和目录的形式来组织和管理数据。
我们学习了如何创建、复制、移动和删除文件和目录。
我们还学习了如何修改文件和目录的权限和所有权。
4. 网络配置在现代计算机网络中,网络配置是非常重要的一部分。
我们学习了如何配置Linux操作系统的网络设置,包括IP地址、子网掩码、网关等。
我们还学习了如何使用ping命令测试网络连通性。
5. 安全配置在网络环境中,安全性是一个重要的考虑因素。
LINUX操作系统实验报告..
LINUX操作系统实验报告::LINUX操作系统实验报告1、实验目的1.1 理解LINUX操作系统的基本概念1.2 掌握LINUX系统的安装和配置过程1.3 学习LINUX命令行操作和文件管理1.4 探究LINUX操作系统的网络配置和服务管理2、实验环境2.1 操作系统:Ubuntu 20:04 LTS2.2 软件工具:VirtualBox3、实验内容3.1 LINUX系统的安装3.1.1 准备安装盘或镜像文件3.1.2 创建虚拟机并引导安装程序3.1.3 设置分区和文件系统3.1.4 安装引导加载程序3.2 LINUX系统的基本配置3.2.1 设置主机名和网络配置3.2.2 安装基本软件包和驱动程序 3.2.3 配置用户和组权限3.2.4 配置系统服务和启动项3.3 LINUX命令行操作3.3.1 基本命令的使用3.3.2 文件和目录操作3.3.3 系统信息和网络配置命令 3.3.4 进程和服务管理命令3.4 LINUX文件管理3.4.1 文件和目录的创建与删除 3.4.2 文件权限和所有权的管理 3.4.3 文件的复制和移动3.4.4 文件的查找和过滤3.5 LINUX网络配置3.5.1 IP地质和子网掩码的配置3.5.2 网关和DNS的配置3.5.3 网络服务的启动和管理3.5.4 远程登录和文件传输4、实验步骤4.1 安装LINUX操作系统4.1.1 LINUX安装镜像文件并创建虚拟机4.1.2 引导虚拟机并按照安装向导进行安装 4.2 配置LINUX系统4.2.1 设置主机名和网络配置4.2.2 安装必要的软件和驱动程序4.2.3 创建用户和设置用户权限4.2.4 配置系统服务和启动项4.3 使用LINUX命令4.3.1 使用常见的命令操作文件和目录4.3.2 查看和管理系统的进程4.3.3 配置和管理系统服务4.3.4 网络配置和管理命令的使用4.4 文件管理操作4.4.1 创建、复制、移动和删除文件4.4.2 修改文件权限和所有权4.4.3 查找文件和过滤文件内容4.4.4 压缩和解压缩文件4.5 网络配置和服务管理4.5.1 配置IP地质、子网掩码、网关和DNS4.5.2 启动和管理网络服务4.5.3 使用远程登录和文件传输工具5、实验结果与分析在实验过程中,成功完成了LINUX操作系统的安装和配置。
linux操作系统实验报告
linux操作系统实验报告Linux 操作系统实验报告一、实验目的本次实验的主要目的是深入了解和熟悉Linux 操作系统的基本操作、命令行使用、文件系统管理以及进程管理等方面的知识和技能。
通过实际操作和实践,提高对 Linux 操作系统的掌握程度,为今后在相关领域的学习和工作打下坚实的基础。
二、实验环境本次实验使用的是虚拟机软件 VirtualBox 安装的 Ubuntu 2004 LTS操作系统。
虚拟机配置为 2GB 内存,20GB 硬盘空间。
实验在Windows 10 操作系统的主机上进行。
三、实验内容及步骤(一)用户和权限管理1、创建新用户使用`sudo adduser <username>`命令创建新用户,例如创建用户名为`testuser` 的新用户。
2、设置用户密码使用`sudo passwd <username>`命令为新用户设置密码。
3、切换用户使用`su <username>`命令切换到新用户。
4、用户权限管理修改`/etc/sudoers` 文件,为新用户赋予特定的权限,例如允许执行特定的管理员命令。
(二)文件和目录操作1、查看文件和目录使用`ls` 命令查看当前目录下的文件和目录,使用`ls l` 命令查看详细信息,包括文件权限、所有者、大小和修改时间等。
2、创建、删除文件和目录使用`touch <filename>`命令创建新文件,使用`mkdir <directoryname>`命令创建新目录。
使用`rm <filename>`命令删除文件,使用`rmdir <directoryname>`命令删除空目录,使用`rm r <directoryname>`命令删除非空目录。
3、复制、移动文件和目录使用`cp <source> <destination>`命令复制文件或目录,使用`mv <source> <destination>`命令移动文件或目录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1.1、1.2 Linux Ubuntu的安装、创建新的虚拟机VMWare实验1.3 Shell编程1.实验目的与内容通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。
编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。
2.程序源代码清单#include<stdio.h>#include<sys/wait.h>int main(){printf("Hello Linux\n");int pid;int state;int pfd[2];pipe(pfd);if (fork()==0){printf("In the grep progress\n");dup2(pfd[0],0);close(pfd[0]);close(pfd[1]);execlp("grep","grep","sh",0);perror("exelp grep error");}esle if(fork()==0){printf("In the ps progress\n");dup2(pfd[1],1);close(pfd[0]);close(pfd[1]);execlp("ps","ps","-ef",0);perror("execlp ps -ef");}close(pfd[1]);close(pfd[0]);wait(&state);wait(&state);}实验2.3 内核模块实验步骤:(1).编写内核模块文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。
其中init_clock(),exit_clock()负责将模块从系统中加载或卸载,以及增加或删除模块在/proc中的入口。
read_clock()负责产生/proc/clock被读时的动作。
(2).编译内核模块Makefile文件# Makefile under 2.6.25ifneq ($(KERNELRELEASE),)#kbuild syntax. dependency relationshsip of files and target modules are listed here.obj-m := proc_clock.oelsePWD := $(shell pwd)KVER ?= $(shell uname -r)KDIR := /lib/modules/$(KVER)/buildall:$(MAKE) -C $(KDIR) M=$(PWD) modulesclean:rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions *.symvers *.orderendif编译完成之后生成proc_clock.ko模块文件。
(3).内核模块源代码clock.c#include <linux/kernel.h>#include <linux/module.h>#include <linux/proc_fs.h>#include <linux/string.h>#include <linux/vmalloc.h>#include <asm/uaccess.h>#define MODULE#define MODULE_VERSION "1.0"#define MODULE_NAME "clock"struct proc_dir_entry* my_clock;int read_clock(char* page, char** start, off_t off, int count, int* eof, void* data) {int len;struct timeval xtime;do_gettimeofday(&xtime);len = sprintf(page, "%d %d\n", _sec, _usec);printk("clock: read_func()\n");return len;}struct proc_dir_entry *clock_proc_file;int init_clock(void){clock_proc_file=create_proc_read_entry("clock",0,NULL,read_clock,NULL); return 0;}void exit_clock(void){remove_proc_entry("clock",clock_proc_file);}module_init(init_clock)module_exit(exit_clock)MODULE_LICENSE("GPL");(4).编译内核模块# make(5).加载内核模块在系统root用户下运行用户态模块命令装载内核模块# insmod proc_clock.ko(6).测试在终端中输入以下命令:#cat /proc/clock(7).卸载内核模块在系统root用户下运行用户态模块命令卸载内核模块#rmmod proc_clock.ko实验2.4 系统调用实验步骤:(1). 添加新调用的源代码在./linux-2.6.33.7/arch/x86/kernel/sys_i386_32.c中添加相应的调用代码asmlinkage int sys_xwlcall(struct timeval *tv){struct timeval ktv;do_gettimeofday(&ktv);copy_to_user(tv,&ktv,sizeof(ktv));printk(KERN_ALERT"PID %ld called sys_xwlcall()./n",(long)current->pid);return 0;}(2). 连接系统调用a、修改./linux-2.6.33.7/arch/x86/include/asm/unistd_32.h,在系统调用列表后面相应位置添加一行,这样在用户空间做系统调用时就不需要知道系统调用号了,如果在用户空间指明了调用号,就可以省略这一步,实际上我就没写:#define __NR_xwlcall338新增加的调用号位338b、修改./linux-2.6.33.7/arch/x86/kernel/syscall_table_32.S在ENTRY(sys_call_table)清单最后添加一行,这步至关重要,338就是这里来的:.long sys_xwlcall(3). 重建新的Linux内核先安装好编译内核必要的软件包:# sudo apt-get install build-essential kernel-package libncurses5-dev 复制当前内核的配置文件# cp /boot/config-`uname -r` ./.config保存配置文件# sudo make menuconfig使用debian的的内核编译方法,要简单很多# sudo make-kpkg-initrd--initrd--append-to-version=xwlcall kernel_image kernel-headers运行以下deb包,安装内核镜像和模块:linux-image-2.6.33.7xwlcall_2.6.33.7xwlcall-10.00.Custom_i386.deb运行以下deb包,安装内核头文件:linux-headers-2.6.33.7xwlcall_2.6.33.7xwlcall-10.00.Custom_i386.deb运行以下命令,使内核启动时能调用模块,比如硬件驱动:# sudo update-initramfs -c -k 2.6.33.7xwlcall此次编译的内核采用ubuntu默认配置文件,通用性非常好,可以拷贝到大部分x86机器上安装。
安装后系统自动会修改grub启动选单。
4. 重建引导信息a、安装deb包就自动重建引导信息了,无须另行处理。
b、如果仍然不放心,可以运行# update-grub5.重新引导从新的内核进入6. 修改系统调用表7. 测试实验3.3 Shell编程实验(进程管理实验)1、实验目的通过编写shell程序,了解子进程的创建和父进程与子进程间的协同,获得多进程程序的编程经验。
2、实验内容1设计一个简单的shell解释程序,能实现基本的bsh功能。
3、实验原理将每一条命令分子段压入argv栈。
然后再子进程中调用execvp()来实现该命令的功能。
4、代码(源代码清单)#include <stdio.h>#include <string.h>#include <stdlib.h>#define BUFFERSIZE 256//最简单的shell,只是简单的执行命令调用,没有任何的其他功能int main(){char buf[BUFFERSIZE],*cmd,*argv[100];char inchar;int n,sv,buflength;int result;buflength = 0;for(;;) {printf("=> ");//处理过长的命令;inchar = getchar();//读取命令while (inchar != '\n' && buflength < BUFFERSIZE ){buf[buflength++] = inchar;inchar = getchar();}if (buflength > BUFFERSIZE){printf("Command too long,please enter again!\n");buflength = 0;continue;}elsebuf[buflength] = '\0';//解析命令行,分成一个个的标记//char *strtok(char *s,char *delim)//分解字符串为一组字符串。