linux实验报告四

合集下载

操作系统实验04 Linux 多进程编程

操作系统实验04 Linux 多进程编程

《操作系统》实验报告实验序号:实验四实验项目名称:实验04 Linux 多进程编程学号1207022103 姓名陈华荣专业、班网络工程实验地点实1-311 指导教师李桂森实验时间2014.10.26一、实验目的及要求1.通过本实验的学习,使学生掌握Linux多进程编程的基本方法。

2.实验内容:利用Linux多进程实现题目所要求的功能。

3.以学生自主训练为主的开放模式组织教学二、实验设备(环境)及要求PC机三、实验内容与步骤1、编写一个显示“HELLO”的c语言程序,并利用GCC编译,然后运行此程序。

(提示:若没有gcc,需先安装gcc编译程序)指令:Apt-get install updateApt-get install gccCd /home/normaluesrTouch helloworld.cVim helloeorld.c在helloworld里编辑进:#include<stdio.h>Int main(){Printf(“helloworld”);Return 0;}然后用gcc进行编译运行:或者直接2、进程的创建:编制一程序,利用系统调用fork()创建两个子进程。

程序运行时,系统中有一个父进程和两个子进程活动,分别让他们显示“A”、“B”和“C”,分析程序运行结果。

3、用ctrl+alt+F2切换到第二个终端(tty2)并使用另外一个用户登录(可利用第二个实验创建的用户登录),然后使用who命令查看用户登录情况。

用ctrl+alt+F1切换到第二个终端(tty1),修改第二步的程序,在每个进程退出前都加上一个sleep(20)的函数来延缓进程的退出,然后运行此程序,立即切换到tty2,使用ps -a命令查看系统运行的进程,观察程序创建的进程都有哪些?pid是多少?4、进程的管道通信:编制一程序,使用系统调用pipe()建立一管道,两个子进程P1和P2分别向管道各写一句话,父进程则从管道中读取出来并显示在屏幕。

linux4

linux4

实验(实习)名称常用命令使用实验(实习)日期指导教师专业年级班次姓名学号得分一、实验目的1.掌握C语言编译的基本用法。

2.掌握gdb调试工具的基本用法。

3.理解make工具的功能,学会编制makefile的方法。

二、实验内容1.利用gcc编译C语言程序,使用不同选项,观察并分析显示结果。

2.用gdb调试一个编译后的C语言程序。

3.编写一个有多文件构成的C语言程序,编写makefile,运行make工具进行维护。

三、主要实验步骤1.改写例6.1,使用下列选项对它进行编译:-I,-D,-E,-c,-o,-l。

2.完成对思考题6.5的调试。

#include<stdio.h>#include<stdlib.h>#include<string.h>int main(int argc,char **argv){char *p;int i;p=malloc(60);strcpy(p,"not 30 bytes");printf("p=<%s>\n",p);if(argc==2){if(strcmp(argv[1],"-b")==0)p[0]='a';else if(strcmp(argv[1],"-f")==0){p[0]='b';}}printf("p=<%s>\n",p);free(p);return 0;}运行结果如下:[LinyunGu@localhost subdir]$ ./badprog -bp=<not 30 bytes>p=<aot 30 bytes>[LinyunGu@localhost subdir]$ ./badprog -fp=<not 30 bytes>p=<bot 30 bytes>3.完成对思考题6.6的调试。

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实验四内核裁减和编译实验报告

实验四内核裁减和编译一、实验目的1.了解和掌握内核源代码的目录结构;2.了解内核系统配置方式,了解Makefile和config.in脚本文件的作用;3.了解内核各项内容;4.熟悉make命令的使用。

二、实验环境预装redhat9.0(内核版本2.4.x)的PC机一台,XScale嵌入式实验箱一台(已构建嵌入式linux系统),以太网线一根,交叉编译工具链。

三、实验步骤①察看和了解Linux内核的目录及内容;②察看和了解Linux内核的Makefile文件及作用;③察看和了解Linux内核的config.in文件及作用;④使用menuconfig或xconfig察看内核编译选项及作用;⑤开关某些编译选项,自己裁剪一个Linux内核;A.[root @localhost ~]# cd XSBASE/xsbase/Kernel/2.4.18-rmk-pxal-XSBASE[root @localhost 2.4.18-rmk-pxal-XSBASE]# make menuconfigB.设置开发板上的鼠标不能操作。

进入Input Core device,然后敲空格键,取消屏幕上的鼠标操作。

退出时并保存。

C.[root @localhost 2.4.18-rmk-pxal-XSBASE]# make dep[root @localhost 2.4.18-rmk-pxal-XSBASE]# make zImage[root @localhost 2.4.18-rmk-pxal-XSBASE]# cd arch/arm/boot/[root @localhost 2.4.18-rmk-pxal-XSBASE]# cp zImage /tftpD.启动mini终端。

XSBase255> boot[root @XSBASE /root]$ tfp 192.168.0.77ftp>cd /ftp>get /tftp/zImageE.这个时候在重启板子一下,板子就不能执行触摸屏上的鼠标操作了。

linux实验报告总结-共10篇

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/&amp;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, &amp;r);Area = PI * r * r;printf(圆面积:%f∖n, Area);)5、编写shell程序sh.l,完成向用户输出“你好!”的问候语。

LINUX实验报告(4)

LINUX实验报告(4)
然后输入内容,按ESC键、shift+:输入wq保存退出。
首先输入cd /run/media/clz进入U盘分区
拷贝zll文件到a目录下面:cp -R zll ./a
拷贝b目录到a目录:cp -R b ./a
移动zll文件到b:输入mv -i zll ./b
移动目录b到目录a:输入mv -i b ./a
2.文件系统使用实验:
在上面创建的分区中分别使用命令创建目录和文件、拷贝文件和目录、移动文件和目录、删除文件和目录、修改文件和目录的名称、修改文件和目录的权限、查找文件和目录。
创建目录:mkdir -p /run/media/U盘名称/目录名
创建文件:输入vi /run/media/U盘名称/文件名
(3)使用fsck命令和badblocks命令检查文件系统、标注坏扇区;
输入fsck -t /dev/sdb1检查文件系统:
输入badblocks -s -v /dev/sdb1检查坏扇区
(4)使用mount命令装载文件系统。
先输入mkdir -p /mnt/usb建立一个文件作为挂接点,然后输入mount -t vfat/dev/sdb1 /mnt/usb挂载。
实验总结:
一开始对linux的分区命令不是很了解,总是出错,而且U盘也总是挂载不上,最后换了个U盘才挂载上的,还有就是对Linux操作系统的文件和目录管理的操作命令不是很熟,有待加强,自己在课下也需要多加练习。
实验总结:
删除目录a下的zll文件:rm a/zll
删除目录a下的b目录:rm -R a/b
在分区创建zll文件
修改zll文件的名称为cz:mv zll cz
修改目录a的名称为c:mv a c
修改zll文件的权限为可读、可写、可执行:chmod 777 zll

实验四同步与互斥Linux实验报告

实验四同步与互斥Linux实验报告

实验四同步与互斥【实验目的和要求】1、掌握进程(线程)的同步与互斥。

2、掌握生产者消费者问题的实现方法。

3、掌握多线程编程方法。

【实验内容】实现生产者消费者问题1、有一个仓库,生产者负责生产产品,并放入仓库,消费者会从仓库中拿走产品(消费)。

2、仓库中每次只能入一个(生产者或消费者)。

3、仓库中可存放产品的数量最多10个,当仓库放满时,生产者不能再放入产品。

4、当仓库空时,消费者不能从中取出产品。

5、生产、消费速度不同。

【实验原理】1、信号量mutex提供对缓冲池访问的互斥要求并初始化为1,信号量empty和full分别用来表示空缓冲项和满缓冲项的个数,信号量empty初始化为n,信号量full初始化为0。

2、定义如下结构及数据:定义缓冲区内的数据类型:typedef int buffer_item;缓冲区:buffer_item buffer[BUFFER_SIZE];对缓冲区操作的变量:int in,out;信号量mutex提供了对缓冲池访问的互斥要求:pthread_mutex_t mutex;信号量empty和full分别表示空缓冲顶和满缓冲顶的个数:sem_t empty,full; 可以设定生产者的生产速度及消费者的消费速度:int pro_speed,con_speed;对缓冲区操作的自增函数:#define inc(k) if(k < BUFFER_SIZE) k = k+1;else k=03、并定义了如下实现问题的函数模块:将生产的产品放入缓冲区: int insert_item(buffer_item item)从缓冲区内移走一个产品: int remove_item(buffer_item *item)生产者进程:void *producer(void *param)消费者进程:void *consumer(void *param)生产者结构进程消费者结构进程【程序代码】//sx.c#include<stdio.h>#include<stdlib.h>#include<pthread.h>#include<semaphore.h>#include<time.h>#define inc(k) if(k<BUFFER_SIZE) k=k+1;else k=0#define BUFFER_SIZE 10//缓冲区的大小typedef int buffer_item;//定义缓冲区内的数据类型buffer_item buffer[BUFFER_SIZE];//缓冲区int in,out;//对缓冲区操作的变量pthread_mutex_t mutex;//信号量mutex提供了对缓冲池访问的互斥要求sem_t empty,full;//信号量empty和full分别表示空缓冲顶和满缓冲顶的个数int pro_speed,con_speed;//可以设定生产者的生产速度及消费者的消费速度int insert_item(buffer_item item){//将生产的产品放入缓冲区buffer[in]=item;printf("******insert缓冲池第%d号******\n",in);inc(in);}int remove_item(buffer_item *item){//从缓冲区内移走一个产品*item = buffer[out];printf("******remove缓冲池第%d号******\n",out);inc(out);}void *producer(void *param){//生产者进程buffer_item item;int num = 0;while(1){sleep(rand()%(16-pro_speed));printf("\n******第%d次生产******\n",++num);printf("******等待empty信号******\n");sem_wait(&empty);printf("******等待解锁******\n");pthread_mutex_lock(&mutex);printf("******上锁,准备生产******\n");item = rand()%1000+1;printf("******生产产品%d*******\n",item);insert_item(item);printf("*******解锁******\n");printf("******第%d次生产结束*******\n\n",num); pthread_mutex_unlock(&mutex);sem_post(&full);}}void *consumer(void *param){//消费者进程buffer_item item;int num = 0;while(1){sleep(rand()%(16-con_speed));printf("\n******第%d次消费*****\n",++num); printf("******等待full信号******\n");sem_wait(&full);printf("******等待解锁******\n");pthread_mutex_lock(&mutex);printf("******上锁,准备消费******\n"); remove_item(&item);pthread_mutex_unlock(&mutex);sem_post(&empty);printf("******消费产品%d*******\n",item);printf("*******解锁******\n");printf("******第%d次消费结束*******\n\n",num); }}int main()//主函数{pthread_t tid1,tid2;pthread_attr_t attr1,attr2;srand(time(NULL));pthread_mutex_init(&mutex,NULL);//初始化sem_init(&empty,0,BUFFER_SIZE);sem_init(&full,0,0);in=0;out=0;printf("***********************\n");printf("********开始!***********\n");printf("***********************\n");printf("生产者速度(1-15):\n");scanf("%d",&pro_speed);printf("消费者速度(1-15):\n");scanf("%d",&con_speed);pthread_attr_init(&attr1);pthread_create(&tid1,&attr1,producer,NULL);pthread_attr_init(&attr2);pthread_create(&tid2,&attr2,consumer,NULL);sleep(100);printf("*******程序over*******\n");return 0;}【实验步骤】编写程序代码gedit sx.c,再对代码进行编译gcc sx.c –o sx –lpthread,编译无错误,进行运行./sx,根据提示要求进行填写生产者和消费速度,观察消费者和生产者进程。

linux实验报告4

linux实验报告4

计算机科学系实验报告课程名称Linux系统班级实验名称C程序指导教师姓名学号日期2014年11月25日一、实验目的1.了解的C程序作用2.了解些linux下的C的函数二、实验环境Win7下vm虚拟机,Linux操作系统三、实验内容1.简单的C程序2.信号,内存分配与文件管理等C程序四、实验心得makefile定义了一系列的规则来指定整个工程的编译过程, makefile带来的好处就是—“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。

通过本次实验基本掌握了makefile的使用和编写规则,对其运行原理还不太了解,在今后的学习中将继续学习。

进程与信号是多线程编程及其异步、同步机制的基础。

通过本次实验,了解如何在程序中启动与停止其他的进程,如何使得进程发送与接收消息,以及如何避免僵尸进程。

只掌握其中一小部分,今后将学习更多的。

1、makecd mf1 (进入mf1文件夹)cat makefile (查看makefile文件内容)make (第一次运行make)make (第二次运行make)touch b.hmake (第二次运行make)rm 2.omake (第四次运行make)2、cat makefile1 (查看makefile文件内容)make –f makefile13、make CC=c89 –f Makefile24、make install5、.PHONY : cleancat makefile2make –f makefile2 clean6、cd mf3cat hello.cmake helloRm helloMake CC=gcc CFLAGS=“-Wall -g”hello1.system函数2、替换进程映像exec系列函数3、复制进程映像fork函数4、等待一个进程Wait函数5、信号6、发送信号kill。

LINUX实验四报告

LINUX实验四报告

一、实验目得
掌握Linux系统中常用命令得作用与命令中各选项得作用、
二、实验环境
安装了fedora17系统得计算机一台
三、实验过程(实验步骤、记录、数据、分析、结果)
1.查瞧当前系统下用户Shell定义得环境变量得值。

2.定义变量AK得值为200,并将其显示在频幕上。

3.定义变量AM得值为100,并使用test命令语句比较其值就是否大于150。

4.创建一个简单得Shell程序,其功能为显示计算机主机名以及显示系统日期与时间、
5.使用for语句创建一个shell程序,其功能为1+2+3+4+5+……n、
6.使用until语句创建一个shell程序,其功能为计算1~10得平方。

按步骤依次写出命令包括运行结果(可截屏)
1。

查瞧当前系统下用户Shell定义得环境变量得值、
2. 定义变量AK得值为200,并将其显示在频幕上、
3、定义变量AM得值为100,并使用test命令语句比较其值就是否大于150、
4。

创建一个简单得Shell程序,其功能为显示计算机主机名以及显示系统日期与时间。

5、使用for语句创建一个shell程序,其功能为1+2+3+4+5+……n、
6.ﻩ使用until语句创建一个shell程序,其功能为计算1~10得平方。

四、实验总结
(掌握了什么知识,实验中遇到得问题及解决方法)
在实验中,我掌握了创建shell程序得语法:#!/bin/bash与chmod u+x 文件名
也了解了shell定义得环境变量,并且掌握了test语句得用法,数字得比较,循环控制中得for语句、un til语句得用法。

实验4 实验名Linux常见命令。

linux系统使用实验报告

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编程 实验报告

linux编程实验报告Linux编程实验报告一、引言Linux操作系统是一种自由开源的操作系统,具有稳定性、安全性和灵活性等优点,被广泛应用于服务器、嵌入式系统和个人电脑等领域。

本实验旨在通过编程实践,探索Linux编程的基本概念和技术,并通过实验结果验证相关理论。

二、实验目的本实验的主要目的是通过编写C语言程序,理解Linux系统调用的原理和使用方法。

具体目标包括:1. 熟悉Linux系统调用的概念和基本原理;2. 掌握Linux系统调用的常用函数及其使用方法;3. 理解文件操作、进程管理和网络编程等方面的基本知识。

三、实验环境本实验使用的实验环境为Ubuntu 20.04 LTS操作系统。

在该系统上,我们可以使用gcc编译器编译C语言程序,并通过终端执行程序。

四、实验内容1. 文件操作文件操作是Linux编程中的重要内容之一。

通过使用系统调用函数,我们可以实现对文件的读写、创建和删除等操作。

在本实验中,我们编写了一个简单的文件复制程序,实现将一个文件的内容复制到另一个文件中。

2. 进程管理进程是Linux系统中的基本执行单元。

通过创建和管理进程,我们可以实现并发执行和多任务处理等功能。

在本实验中,我们编写了一个简单的多进程程序,实现同时执行多个任务的效果。

3. 网络编程网络编程是Linux编程中的一个重要领域,它涉及到网络通信、套接字编程和网络协议等内容。

在本实验中,我们编写了一个简单的客户端-服务器程序,实现了基于TCP协议的网络通信。

五、实验结果与分析通过实验,我们成功编写了文件复制程序、多进程程序和客户端-服务器程序,并在实验环境中运行和测试了这些程序。

实验结果表明,我们对Linux编程的基本概念和技术有了初步的理解和掌握。

在文件复制程序中,我们使用了open、read和write等系统调用函数,实现了将源文件的内容复制到目标文件中。

通过实验测试,我们发现该程序能够正确地复制文件,保持了源文件的内容和结构。

linux程序设计实验报告

linux程序设计实验报告

linux程序设计实验报告Linux程序设计实验报告引言在计算机科学领域,操作系统是一项至关重要的基础设施。

Linux作为一种开源的操作系统,具有广泛的应用和开发者社区。

本次实验旨在通过Linux程序设计,深入了解Linux操作系统的内部机制和编程技巧。

一、实验背景与目的Linux操作系统以其稳定性、安全性和灵活性而闻名。

本次实验的目的是通过编写Linux程序,探索Linux操作系统的核心原理和实践技巧。

通过实践操作,我们可以更好地理解Linux内核、进程管理、文件系统和网络通信等方面的工作原理。

二、实验环境与工具本次实验使用的实验环境为Ubuntu操作系统,我们将使用C语言进行程序设计。

以下是本次实验所用到的工具和软件:1. Ubuntu 18.04 LTS操作系统2. GCC编译器3. GNU Make工具4. Vim文本编辑器三、实验内容与步骤1. 进程管理在Linux操作系统中,进程是程序的执行实例。

我们将通过编写一个简单的多进程程序来理解进程的创建、调度和终止。

首先,我们需要使用fork()系统调用创建一个新的子进程。

然后,通过exec()系统调用加载一个新的程序到子进程中。

最后,使用wait()系统调用等待子进程的结束并回收资源。

2. 文件系统Linux操作系统中的文件系统是一种层次化的存储结构。

我们将通过编写一个简单的文件读写程序来理解文件系统的基本操作。

首先,我们需要使用open()系统调用打开一个文件,并指定读写权限。

然后,使用read()和write()系统调用读取和写入文件的内容。

最后,使用close()系统调用关闭文件。

3. 网络通信Linux操作系统提供了丰富的网络通信功能。

我们将通过编写一个简单的网络通信程序来理解网络套接字的使用。

首先,我们需要使用socket()系统调用创建一个套接字,并指定通信协议。

然后,使用bind()系统调用将套接字绑定到指定的IP地址和端口号。

Linux网络操作系统课程实验报告4

Linux网络操作系统课程实验报告4
2)find命令的使用:
在/var目录下查找所有文件其所有者是root用户的文件
$ find /var –user ‘root’-name‘*’
查找所有文件其所有者不是root,bin和student用户并用长格式显示
$find /! –user root ! –user bin ! –user student –exec ls –l {} \;
使用gzip压缩前面的两个文档。然后报告文件的大小:
$ cd /tmp
$ gzip –v *.tar
$ ls –l *tar*
backup.tar.gz文件大小为______3072KB
backup.tar.gz文件的压缩百分比____82.8%
confbackup.tar.gz文件大小为_____94304KB
7.利用ls命令列出文件和目录,确认test目录创建成功。
8.进入test目录,查看当前目录的命令为(cd test),其结果为([root@localhost test]#)。
9.利用cp命令复制系统文件/etc/profile到当前目录下,其命令为(cp /etc/profile .)。
10.复制文件profile到一个新文件profile.bak,作为备份,其命令为(cp profile profile.bak)。
11.用长格形式列出当前目录下的所有文件,命令为(ls–a-;),注意比较每个文件的长度和创建时间的不同。
12.用less命令分屏查看文件profile的内容,命令为(less profile)。
13.用grep命令在profile文件中对关键字then进行查询,其命令为( #grep –n “then” profile )。
3)tar命令的使用:

Linux实验报告(实验四)shell编程实验

Linux实验报告(实验四)shell编程实验

Linux实验报告(实验四)shell编程实验实验四 shell编程实验(二)班级:姓名:学号:上机时间:年月日任课教师:实验教师:实验成绩:一、实验目的综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程。

二、实验注意事项实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。

要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。

以后所有工作都要在自己的目录内进行。

建议以后的实验都在同台计算机上做,这样可以保持连续性。

三、实验内容1. 编写一个脚本,求斐波那契数列的前10项及总和。

num1=1num2=1echo -n “$num1+$num2”sum=2for((i=1;i<=8;i++))dotmp=$(expr $num1 + $num2)echo -n “+$tmp”((num1=num2))((num2=tmp))sum=$(expr $sum + $tmp)doneecho “=$sum”2.编写一个脚本,求一个数的逆序。

echo -n please input num:read numecho -n The num iswhile [ $num -gt 0 ]dosd=$(($num % 10))echo -n "$sd"num=$(($num/10))doneecho3.设计一个Shell程序,在用户主目录下建立一个userdata目录,在此目录下再建立5个目录,即user1~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。

(注意:最后删除自己所建立的目录,恢复原样,以便后面同学做此实验)mkdir -m 754 /home/userdatai=1temp=/home/userdata/userwhile[ $i -le 5 ]domkdir -m 754 $temp$ilet”i=i+1”#done4.用Shell编程,判断一文件是不是普通文件,如果是将其拷贝到/home/student/test 目录下,用命令查看test目录内容,最后再删除test目录。

操作系统 实验4:文件管理实验报告

操作系统 实验4:文件管理实验报告

一、实验题目:文件管理实验--Linux下的文件管理二、实验目的和要求:实验目的:(1)加深对文件、目录、文件系统等概念的理解。

(2)掌握 Linux 文件系统的目录结构。

(3)掌握有关 Linux 文件系统操作的常用命令。

(4)了解有关文件安全性方面的知识。

实验要求:(1)正确使用文件管理命令,能熟练地对文件进行浏览、拷贝、移动和删除。

(2)能熟练地确定和更改工作目录,查看内容和文件属性,创建和删除目录。

(3)正确地理解文件的权限,并能进行相应更改。

(4)理解文件的类型及其表示形式。

(5)理解文件名的表示形式,在模式匹配中能正确使用通配符。

三、实验内容:(1)使用pwd,cd,ls等命令浏览文件系统。

(2)使用cat,cp,mv,head,tail,rm等命令查看你的文件。

(3)使用ln命令进行文件的硬连接和符号连接。

软中断通信(4)使用find,grep命令进行文件查找和模式匹配。

(5)使用chmod命令修改文件的权限。

四、实验步骤:(说明:对本实验涉及的教材中的相关内容进行归纳总结,只需简要说明即可。

)1、用root账号登录到终端,使用pwd命令查看当前目录2、用cd命令将当前目录切换到“/”目录下3、使用ls明令查看Linux的目录结构,了解各目录存放与系统相关的文件14、使用 cat、more、head、tail等命令显示 /etc/inittab文件内容5、使用grep 命令在/etc/inittab 文件中查询“initdefault”字符串26、使用find 命令查找 /目录下所有以main 开头的文件7、使用 cp 命令将/etc目录下的inittab文件拷贝到/root目录下8、使用 sort 和uniq 命令对 /root目录下的inittab文件排序后输出其结果39、统计inittab文件的字节数、行数、字数10、用mkdir命令在/root目录下创建一个test目录11、用cp命令将/etc目录及其下所有内容复制到test目录下12、使用cd和ls查看/root/test/etc 下的内容413、将test目录改名为test214、删除test2五、实验总结:通过本次实验,让我懂得了怎样创建文件以及文件管理命令的使用,对Linux的掌握和了解进一步加深。

linux操作系统实验报告

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.加深对文件,目录,文件系统等概念的理解。

2.掌握Linux文件系统的目录结构。

3.掌握有关Linux文件系统操作的常用命令。

4.了解有关文件安全方面的知识。

5.掌握LINUX文件系统的基本原理,结构和实现的方法6.掌握LINUX文件系统中文件的建立,打开,读写,执行,属性等系统调用的使用.二、实验内容1.浏览文件系统2.查看文件3.文件操作4.文件存取权限5.仔细阅读提供的源代码6.理解LINUX文件系统的基本原理7.调试提供的源代码三、实验步骤一、Linux常用文件命令1、浏览文件系统1.1运行pwd命令,确定你当前的工作目录。

1.2利用以下命令显示当前工作目录的内容:ls –l1.3运行以下命令:ls –ai1.4使用mkdir命令建立一个子目录subdir。

1.5使用带-d选项的ls命令,你只能看到有关子目录的信息。

cd /1.7使用ls命令列出根目录的内容,再分别列出各子目录的内容。

1.8使用ls -l命令列出/dev的内容1.9使用不带参数的命令cd,然后用pwd命令确定你当前的工作目录是什么。

1.10使用命令cd .. /..,你将工作目录移到什么地方。

注意“/”前有无空格的区别。

2、查看文件2.1利用cd命令,将工作目录改到你的主目录上。

2.2将工作目录改到你的子目录subdir,然后运行命令:date > file1将当前日期和时间存放到新建文件file1中。

2.3使用cat命令查看file1文件的内容。

2.4利用man命令显示date命令的用法2.6利用cat命令显示文件file1的内容。

2.7利用ls -l file1命令列出文件file1的较详细的信息,注意其中第二字段(链接计数)的值。

2.8利用ln file1../fa命令进行文件链接。

然后运行ls -l file1,查看显示的第二段的值发生了什么变化。

Linux实验4-Linux文件系统-目录和文件管理

Linux实验4-Linux文件系统-目录和文件管理

实验报告课程名称: Linux操作系统实验名称:实验4、Linux文件系统-目录和文件管理学生姓名:班级学号学院(系):指导教师:实验时间:年月日实验成绩:实验四、Linux文件系统-目录和文件管理一、实验要求(1)掌握目录和文件管理的操作命令;(2)掌握文件权限的修改方法。

(3)掌握文件链接的方法。

二、实验内容和实验步骤【操作要求1】查看Linux系统常见的目录。

【操作步骤】输入命令:ls,查看Linux系统常见的目录,截图如下:【操作要求2】显示当前目录下文件类型。

【操作步骤】输入命令:ls –l|more,截图如下:说明:●“-”:表示普通文件●“d”:表示目录文件●“c”:表示字符设备文件●“b”:表示块设备文件●“l”:表示符号链接文件【操作要求3】查看当前目录下所有文件类型【操作步骤】输入命令:file *,截图如下:【操作要求4】先创建两个新目录dir1和dir2,然后将dir2目录移到dir1目录中,最后删除dir2目录。

【操作步骤】(1)以普通用户user登陆字符界面,输入命令:pwd,当前目录为用户的主目录:/home/user。

(2)输入命令:ls –l,查看当前目录中的所有文件。

(3)创建两个目录,输入命令:mkdir dir{1,2}。

(4)输入命令:ls –l,确认两个目录创建成功。

以上4个步骤截图如下:(5)输入命令:mv dir2 dir1,将dir2目录移动到dir1目录。

(6)输入命令:cd dir1,切换dir1目录,再输入:ls命令,查看到dir2目录。

截图如下:(7)删除dir2目录,输入命令:rm –rf dir2。

【操作要求5】查找profile文件。

【操作步骤】(1)切换用户为超级用户,输入命令:su -,并输入密码。

(2)输入命令:find /etc -name profile, 截图如下:(3) 使用exit命令,退出超级用户身份。

【操作要求6】将/etc/profile文件中所有包含“HOSTNAME”的行存入f4文件,并修改f4文件的权限,让所有用户都可以读写。

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告
一、实验名称:实验4 bash常用功能
二、实验目的及要求
掌握bash的基本操作方式,包括tab键、别名及历史命令的使用掌握简单的shell脚本编辑方法。

三、实验环境
硬件环境:计算机
软件环境:linux操作系统
四、实验内容及方法
bash常用功能
1 将命令”ls -l|more”的别名设为lm
2 列出目前系统中有哪些别名?
3 列出我们曾经执行过的命令。

4 列出目前最近的5条命令
5 执行第10笔命令
6 列出系统中以c为开头的命令
7 使用上下箭头调用刚才执行过的命令
8 列出当前目录下以.bash开头的所有文件
9 列出目前的shell环境下的所有环境变量与其内容
10 建内容为date的shell文件my.sh,并执行该文件
五、实验原理及实验步骤
1 将命令”ls -l|more”的别名设为lm
alias lm=’ls -l|more’
2 列出目前系统中有哪些别名?
alias
3 列出我们曾经执行过的命令。

history
4 列出目前最近的5条命令
history 5
5 执行第10笔命令
!10
6 列出系统中以c为开头的命令
c[tab][tab]
7 使用上下箭头调用刚才执行过的命令
↑↓
8 列出当前目录下以.bash开头的所有文件
ls -al .bash[tab][tab]
9 列出目前的shell环境下的所有环境变量与其内容
env
10 建内容为date的shell文件my.sh,并执行该文件
vi my.sh
输入:date
chmod 744 my.sh
./my.sh
六、实验过程及实验结果
建内容为date的shell文件my.sh,并执行该文件vi my.sh
输入:date
chmod 744 my.sh
./my.sh。

相关文档
最新文档