linux综合实验

合集下载

Linux操作系统实验实验报告

Linux操作系统实验实验报告

L i n u x操作系统实验实验报告Document number:NOCG-YUNOO-BUYTT-UU986-1986UT实验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,world。

实验3:进程创建【实验目的和要求】1.了解进程的概念及意义;2.了解子进程和父进程3.掌握创建进程的方法。

【实验内容】1.子进程和父进程的创建;2.编写附件中的程序实例【实验步骤】一1、打开终端,输入命令,在文件中输入中的代码;2、输入命令,回车后显示无错误;3、输入命令:./1_fork运行程序。

二、1、打开终端,输入命令,在文件中输入中的代码;2、输入命令,回车后显示无错误:3、输入命令:./2_vfork运行程序。

从上面可以看到两次的运行结果不一样。

我们知道write函数是不带缓存的。

因为在fork之前调用write,所以其数据写到标准输出一次。

Linux综合实验-实训指导书

Linux综合实验-实训指导书

Linux综合实验项目指导书学院:计算机学院专业:软件工程课程:Linux课程设计制订人: **审核人:**制订时间:2020年5月目录内容及时间安排 (2)项目一Linux文件和目录操作 (3)一、实训目标及要求 (3)二、实验设备与工具 (3)三、实验内容与要求 (3)四、实验步骤 (3)项目二Linux系统用户管理策略分析 (6)一、实训目标及要求 (6)二、实验设备与工具 (6)三、实验内容与要求 (6)1、实训内容 (6)2、设计要求 (6)3、设计思路 (6)项目三进程管理 (10)一、实训目标及要求 (10)二、实验设备与工具 (10)三、实验内容与要求 (10)1、掌握内容 (10)2、实验步骤 (11)项目四shell编程综合设计 (13)一、实训目标及要求 (13)二、实验设备与工具 (13)三、实验内容与要求 (13)附:几种素数算法....................................................................................错误!未定义书签。

项目五Apache服务器配置与个人Web站点配置 (14)一、实训目标及要求 (14)二、实验设备与工具 (14)三、实验内容与要求 (14)内容及时间安排项目一Linux文件和目录操作一、实训目标及要求1. 掌握Linux一般命令格式2. 掌握有关文件和目录操作的常用命令。

3. 熟练使用man命令。

二、实验设备与工具PC计算机,安装虚拟机Vmware workstation 10.0,在虚拟机安装了Redhat Linux 9.0,或者云桌面终端实验室,安装Centos 6.5(或7、8版本) Linux 操作系统。

三、实验内容与要求1.正确地登录和退出系统。

2.熟悉date,cal,who,echo,clear,passwd命令。

3.在用户主目录下对文件进行操作:复制一个文件,显示文件内容,查找指定内容,排序,文件比较,文件删除等。

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综合性实验

一.【实验目的】实现Unix/Linux与Windows之间的文件和资源共享二.【实验内容】1、在Windows 2003 Server上共享文件资源,然后从Unix/Linux系统访问这些共享资源。

2、在Unix/Linux机器上安装、配置Samba软件,并共享文件资源。

然后从Windows系统访问这些共享文件资源三.【实验设备】硬件:两台PC机、一台switch、两条网线软件:Windows 2003 Server,VMware workstation 7.0, Redhat Enterprise Linux 5, Samba 3.四.【实验环境】五.【实验方法】上机操作,2人一组,其中1人操作Windows系统,另1人操作Redhat Enterprise Linux,小组独立完成实验。

六.【实验步骤】1、在一台windows server 2003上配置ip地址为192.168.0.12 子网掩码为255.255.255.0在redhat系统上配置ip地址为192.168.0.8 子网掩码为255.255.255.0然后测试两台机是否能互相ping 通。

实验步骤如图:Windows server 2003上配置ip地址和子网掩码Windows server 2003上测试连通性Redhat上ip配置和测试连通性2、在redhat上下载并安装samba软件3、从Linux机器访问Windows的共享文件资源(1)在Windows上创建一个文件夹winpub,在该文件下创建一个新文件mytest.txt。

(2)在Windows上共享winpub文件夹,并设置Everyone的共享权限为“完全控制”。

(3)在Linux机器上,使用Samba客户端命令smbclient访问Windows共享文件资源。

在smbclient程序中:a、使用ls命令列出windows共享目录中的内容b、使用put命令将Linux机器上的一个文件拷贝到windows共享目录中c、使用get命令将windows共享目录中的一个文件拷贝到Linux机器上。

linux实验报告

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课程综合训练实验报告1) 实验目的:熟练掌握Linux操作系统的使用,掌握Linux的各项系统管理功能,掌握Linux下各类网络服务的安装、配置以及使用,并能用shell脚本实现简单的管理任务。

2) 实验内容:准备工作:利用虚拟机安装Linux操作系统,要求对/home目录单独分区,在系统中安装适当的软件包以备后续的实验需要,可关闭防火墙和SeLinux。

完成安装后将/root中的anaconda-ks.cfg文件的内容附到报告中。

(5分)1.查看Linux系统磁盘空间的使用情况(给出显示结果)(3分)在命令行新建几个用户,如tux,tom,lily等,给每个用户创建密码,测试各个用户是否创建成功。

(2分)并为/home分区创建磁盘配额,使得你所创建的每个用户的可用空间的软限制为100M,硬限制为150M,且每个用户可用的inodes的软限制为300,硬限制为400。

试编写shell测试脚本验证你的磁盘配额设置。

(10分)2.配置网络,并进行检测,确保能够在本地网络中联网通信(给出网络接口配置文件ifcfg-eth0)。

(5分)假设本地网络中大部分客户端是windows系统,请建立Linux Samba服务器使得windows客户端能够共享Linux服务器的资源,具体要求如下:创建一个共享文件夹/home/Public,使得所有用户都可以匿名访问(可读写)。

(5分)每个用户可以访问自己的主目录,具有完全权限,采用用户验证的方式;(5分)为用户tux和tom创建一个共享目录/home/share,可供这两个用户进行文件的共享(可读写);(5分)测试:使用smbclient客户端程序登录Samba服务器,访问服务器中的共享资源。

注:以上用户以及文件夹需要自己创建,并使之具有适当的权限。

实验报告中需要给出配置文件及相关的运行结果。

3.请思考如下场景并考虑解决方案:Root用户有事外出,委托tux进行必要的系统维护工作,使得tux虽然并不具备管理员权限但能进行诸如shutdown,httpd,samba等服务的管理工作(如启动,关闭,重启等)。

linux期末实验报告总结

linux期末实验报告总结

linux期末实验报告总结1. 实验概述本次Linux期末实验主要包括对Linux操作系统的基本操作、文件管理、进程管理、权限管理、Shell脚本编程等方面的实践,旨在加深对Linux操作系统的理解,提高实际应用能力。

2. 实验过程2.1 基本操作通过命令行操作,掌握Linux 操作系统的基本指令。

包括登录、注销、重启等命令的使用。

2.2 文件管理对文件和目录的创建、删除、复制、移动等操作进行练习,掌握文件和目录的属性设置、查看文件和目录的内容等技巧。

2.3 进程管理学习进程的基本概念和相关命令,如查看进程、杀死进程等,了解进程的状态转换、进程优先级等。

2.4 权限管理学习 Linux 文件权限的概念和设置方式,掌握用户和用户组的管理方法。

2.5 Shell脚本编程学习 Shell 脚本的编写、运行和调试方法,实现一些简单的自动化任务,如文件备份、日志分析等。

3. 实验心得通过本次实验,我对 Linux 操作系统有了更深入的认识。

在实验过程中,我遇到了以下几个问题,并通过上网查询和向同学请教解决了:3.1 命令行操作一开始对命令行操作不太熟悉,不知道如何快速切换目录、查看文件内容等。

后来学会了使用 cd 命令切换目录,使用 cat 命令查看文件内容,大大提高了工作效率。

3.2 文件管理对于文件和目录的复制、移动等操作会出现一些权限问题,需要先设置权限或者以管理员身份执行命令才能成功。

通过学习 chmod 命令设置权限,以及使用 sudo 命令以管理员身份执行命令,解决了这些问题。

3.3 进程管理在了解了进程的基本概念后,我开始试着使用 ps 命令查看进程,发现有很多参数可以选择,有时候会有困惑。

后来通过查阅ps 命令的帮助文档,了解到了不同参数对应的含义,解决了这个问题。

3.4 权限管理对于用户和用户组的管理操作,刚开始不太熟悉。

通过学习 useradd、usermod、groupadd 等命令的使用方法,成功创建了用户和用户组,并进行了相关设置。

Linux实验总结分析报告

Linux实验总结分析报告

Linux实验总结分析报告⼀、Linux系统概念模型从整体来看,Linux可以划分为⽤户空间和内核空间,我们平常编写的⽤户程序以及C库函数都位于⽤户空间,⽽内核空间⾃顶向下可分为系统调⽤、内核(进程管理、内存管理、⽂件管理、中断等)以及平台架构相关代码。

1、Linux启动分析当我们打开PC的电源,BIOS开机⾃检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开始引导Linux,Linux⾸先进⾏内核的引导,接下来执⾏init程序,init程序调⽤了rc.sysinit和rc等程序,rc.sysinit和rc当完成系统初始化和运⾏服务的任务后,返回init;init启动了mingetty后,打开了终端供⽤户登录系统,⽤户登录成功后进⼊了Shell,这样就完成了从开机到登录的整个启动过程。

2、进程管理linux内核通过task_struct(进程描述符)结构体来管理进程,多个任务的task struct组成的链表,被称为task list(任务列表)。

(1)进程创建:在Linux系统中,所有的进程都是PID为1的init进程的后代。

内核在系统启动的最后阶段启动init进程。

该进程读取系统的初始化脚本(initscript)并执⾏其他的相关程序,最终完成系统启动的整个进程。

Linux提供两个函数去处理进程的创建和执⾏:fork()和exec()。

⾸先,fork()通过拷贝当前进程创建⼀个⼦进程。

⼦进程与⽗进程的区别仅仅在于PID(每个进程唯⼀),PPID(⽗进程的PID)和某些资源和统计量(例如挂起的信号)。

exec()函数负责读取可执⾏⽂件并将其载⼊地址空间开始运⾏。

(2)进程终⽌依靠do_exit()(在kernel/exit.c⽂件中)把与进程相关联的所有资源都被释放掉(假设进程是这些资源的唯⼀使⽤者)。

⾄此,与进程相关的所有资源都被释放掉了。

进程不可运⾏(实际上也没有地址空间让它运⾏)并处于TASK_ZOMBIE状态。

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综合实验内容(一)

红帽Linux4.0上机操作综合实验(以下实验内容均使用Red Hat Linux4.0系统完成;)一、磁盘的基本管理和权限设置及磁盘配额的实现1、在PC1上挂载新的盘,要求将新硬盘划分2个主分区;在虚拟机上自行添加硬盘和其他所需设备。

新添加的一块硬盘,需对它进行分区和格式化,用fdisk –l先查看系统自动识别哪些设备,如下图所示,sda为新增的设备接下来对它进行分区和格式化,用fdisk +设备命令,如下图所示:在不熟悉该命令的用法前,先按它的提示,敲个m,然后回车,获得帮助:大意如下:新建:n 删除:d 打印分区信息:p 保存并退出:w 不保存退出:q在线代理|网页代理|代理网页|输入n回车后,提示你是要建一个扩展分区(e)还是主分区(p)输入p后回车,表示要建立一个主分区接下来,系统询问你输入分区号,当然是从1开始,然后问你从哪个柱面/扇区开始,这里采用系统默认的从第一个柱面/扇区开始,然后输入想要的大小,这里输入+6g表示6G然后回车好了,按上面同样的步骤建立第二个分区建好后输入w后回车,进行保存并退出在线代理|网页代理|代理网页|接下来就要建立文件系统了,用mkfs命令进行格式化,如下图所示:在线代理|网页代理|代理网页|在线代理|网页代理|代理网页|然后,用fdisk –l查看所得到的结果:以上所示,已有两个新增的分区了,分别是sda1和sda22、 实现PC1上新硬盘的永久挂载,挂载点对应/home/disk1、/home/disk2目录 要进行挂载,必然要建立挂载点,先进入/home 下查看有哪些目录,发现/home 下不存在disk1和disk2目录,因此我们可以创建这样两个目录(这一步是必需做的,假如原先存在disk1和disk2,这两个目录又有其有用的内容,那是要另外去建立目录了)以下是建立两个目录用来挂载好了,以下就对分区表进行设置,修改时要小心!用vi 编辑器打开后内容如下,按i 键后:插入其中(如下)两行,注意不要破坏原有的数据记录,每一记录占一行,自己理解下就应知道。

操作系统linux版实验报告

操作系统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应用实践》综合实验报告

xxx大学2019-2020学年第2学期Linux应用实践实验报告一、实验目的1、掌握gcc的编译流程、编译方法和使用;2、掌握中大型项目的需求分析、系统设计、编码、测试,以及项目的部署运行,具备复杂工程问题的解决能力;3、掌握综合应用Linux知识点进行管理和软件开发的能力;4、掌握文献检索、系统建模、文档写作等方面的能力。

二、实验内容编写程序1.要求使用C语言实现一个数独生成器,可以随机生成数独题,并调试输出2.编写一个解数独程序,并调试输出三、实验代码和过程1.数独生成程序void shiftarray(int a[9]) //左移3位{int temp[3] = { 0 };for (i = 0; i < 3; i++){temp[i] = a[i];}for (i = 0; i < 6; i++){a[i] = a[i+3];}for(i=0;i<3;i++)a[i+6] = temp[i];}void print(int array[9][9]){printf( "******数独答案*******\n");for (i = 0; i < 9; i++){for (j = 0; j < 9; j++)printf("%d " ,array[i][j] );printf("\n");}printf( "**********************\n");}void swap(int &a, int &b) //交换{int tmp;tmp = a;a = b;b = tmp;}void creatsudo(){printf("创建数独\n");srand(time(0));int m, c[9] = { 0 };int tmpi, tmpj;for (j = 0; j < 9; j++){if (j==3) { //每三次左移1位int tmp = a[0];for (i = 1; i < 9; i++)a[i - 1] = a[i];a[8] = tmp;for (i = 0; i < 9; i++)b[j][i] = a[i];shiftarray(a);}else if (j==6) {int tmp = a[0];for (i = 1; i < 9; i++)a[i - 1] = a[i];a[8] = tmp;for (i = 0; i < 9; i++)b[j][i] = a[i];shiftarray(a);else {for (i = 0; i < 9; i++)b[j][i] = a[i]; //填充行shiftarray(a);} //左移}x = 0;tmpi = rand() % 3;tmpj = rand() % 3;while(tmpj==tmpi)tmpj = rand() % 3;for (j = 0; j < 3; j++){swap(b[j][tmpi], b[j][tmpj]);swap(b[j][tmpi + 3], b[j][tmpj + 3]);swap(b[j][tmpi + 6], b[j][tmpj + 6]);//交换行}for(j=3;j<6;j++){swap(b[j][tmpi], b[j][tmpj]);swap(b[j][tmpi + 3], b[j][tmpj + 3]);swap(b[j][tmpi + 6], b[j][tmpj + 6]);//交换行}for (j = 6; j < 9; j++){swap(b[j][tmpi], b[j][tmpj]);swap(b[j][tmpi + 3], b[j][tmpj + 3]);swap(b[j][tmpi + 6], b[j][tmpj + 6]);//交换行}for (j = 0; j < 3; j++){swap(b[tmpi][j], b[tmpj][j]);//交换列swap(b[tmpi + 3][j], b[tmpj + 3][j]);//交换列swap(b[tmpi + 6][j], b[tmpj + 6][j]);//交换列}for (j = 3; j <6; j++){swap(b[tmpi][j], b[tmpj][j]);//交换列swap(b[tmpi + 3][j], b[tmpj + 3][j]);//交换列swap(b[tmpi + 6][j], b[tmpj + 6][j]);//交换列}for (j = 6; j < 9; j++)swap(b[tmpi][j], b[tmpj][j]);//交换列swap(b[tmpi + 3][j], b[tmpj + 3][j]);//交换列swap(b[tmpi + 6][j], b[tmpj + 6][j]);//交换列}for (i = 0; i < 9; i++){for (j = 0; j < 9; j++){if (b[i][j] == 1)b[i][j] = 8;else if (b[i][j] == 8)b[i][j] = 1;}}for (i = 0; i < 9; i++)for (j = 0; j < 9; j++)answer[i][j] = b[i][j]; //存放答案for (i = 0; i < 9; i++)for (j = 0; j < 4; j++){tmpi = rand() % 9;b[i][tmpi] = 0; //随机扣去几个数}for (i = 0; i < 9; i++)for (j = 0; j < 9; j++){if (b[i][j] == 0)printf( "# ");else printf("%d " ,b[i][j] );if (j == 8)printf( "\n");}printf(" 输入 # 查看答案");char p;p = getchar();if (p == '#')print(answer);else return;}2.解数独程序//从二维数组的左上角开始,向右搜索int backtrack(int s[9][9], int row, int col) {if (row == 9)return 1;//最后一个,在这之前是s[8][8];递归到最深处;成功返回if (s[row][col] != 0) {if (col == 8) {row++;col = 0;}elsecol++;return backtrack(s, row, col);}//如果 s[row][col]本来就有数据,需要跳过,分析下一个// s[row][col]是空的,则放入1~9for (int k = 1; k < 10; k++) {s[row][col] = k;if (place(s, row, col)) {//判断是否合法,如果合法就分析下一个if (col == 8) {if (backtrack(s, row + 1, 0)) {return 1;}}else {if (backtrack(s, row, col + 1)) {return 1;}}}s[row][col] = 0;//在后面的某次中发现,所有的数都有冲突,则前面的数放错了,所以需要恢复}//从1~9没有找到合适的数放入,之前的出错了return 0;}//判断整个数独是否合法int place(int s[9][9], int t, int j){for (int i = 0; i < 9; i++){if (s[t][i] == s[t][j] && i != j) {return 0;if (s[i][j] == s[t][j] && i != t) {return 0;}//判断列上没有冲突}//判断块中是否有重复的int x = t % 3;int y = j % 3;/*00 01 0210 11 1220 21 22*/if (x == 0 && y == 0) {if (justIsRepeatIN9(s, t, j, t, j)) {return 1;}else {return 0;}}if (x == 0 && y == 1) {if (justIsRepeatIN9(s, t, j - 1, t, j)) { return 1;}else {return 0;}}if (x == 0 && y == 2) {if (justIsRepeatIN9(s, t, j - 2, t, j)) { return 1;}else {return 0;}}if (x == 1 && y == 0) {if (justIsRepeatIN9(s, t - 1, j, t, j)) { return 1;}else {return 0;}if (x == 1 && y == 1) {if (justIsRepeatIN9(s, t - 1, j - 1, t, j)) { return 1;}else {return 0;}}if (x == 1 && y == 2) {if (justIsRepeatIN9(s, t - 1, j - 2, t, j)) { return 1;}else {return 0;}}if (x == 2 && y == 0) {if (justIsRepeatIN9(s, t - 2, j, t, j)) { return 1;}else {return 0;}}if (x == 2 && y == 1) {if (justIsRepeatIN9(s, t - 2, j - 1, t, j)) { return 1;}else {return 0;}}if (x == 2 && y == 2) {if (justIsRepeatIN9(s, t - 2, j - 2, t, j)) { return 1;}else {return 0;}}int justIsRepeatIN9(int s[9][9], int x, int y, int m, int n) {//判断一个九宫格中是否有重复的数//其中s是数组,x是起始的位置,y是起始是位置//因为之前的数据都是有序的,并不需要判断其他的是否合法,只要判断指定的数,只要知道特殊的//m,n是需要判断的内容for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {if (s[x + i][y + j] == s[m][n] && x + i != m && y + j != n) {return 0;}}}return 1;}//打印数独中各个格子的值void showsudo(){for (int i = 0; i < 9; i++) {for (int j = 0; j < 9; j++){printf("%d ", sudo[i][j]);/*if (j % 3 == 2){printf(" ");}*/}printf("\n");/*if (i % 3 == 2) {printf("\n");}*/}printf("\n");}int main(){j = 0;for (i = 0; i < 9; i++)a[i] = i + 1;creatsudo();for(i=0;i<9;i++){sudo[i][j] = b[i][j];}backtrack(sudo, 0, 0);showsudo();system("pause");return 0;}四、实验结果分析第一个9*9的方块为随机生成的数独题,第二个9*9的方块为数独原本的解,第三个9*9的方块为用解数独程序得到的解五、实验中遇到的问题和解决问题的方法本次实验使用c语言随机生成9*9的数独,原思路是用一维数组存放1到9,之后分别左移一位再装入二维数组,然后随机交换4列4行,但是存在一个小9宫格内有相同数字的问题。

Linux文件操作综合实验

Linux文件操作综合实验

Linux文件操作综合实验实验目的(1)掌握Linux文件操作命令和使用方法;(2)熟悉Linux操作环境.实验内容与要求练习使用Linux常用文件命令实验步骤(1)启动计算机,利用root用户登录系统,进入字符提示界面。

(2)用pwd命令查看当前所在的目录。

(3)用ls命令列出此目录下的文件和目录。

(4)用-a选项列出此目录下包括隐藏文件在内的所有文件和目录。

(5)用man命令查看ls命令的使用手册。

(6)在当前目录下,创建目录lesson。

(7)利用ls命令列出文件和目录,确认lesson目录创建成功。

(8)进入lesson目录,查看当前目录(9)利用touch命令,在当前目录创建一个新的空文件abc(10)利用cp命令复制系统文件/etc/fstab到当前目录下(11)复制文件fstab到一个新文件fstab.bak,作为备份(12)列出当前目录下的所有文件的详细信息,注意比较每个文件的长度和创建时间的不同(13)用less命令分屏查看文件fstab的内容,注意练习该命令的各个子命令,例如b,p,q等并对ext3关键词查找(14)用grep命令在文件中对关键字ext4进行查询,并与上面的结果作比较(15)用ln命令给文件fstab创建一个软链接fstab.lns和一个硬链接fstab.lnh(16)用ls -l显示文件fstab及其链接的详细信息(17)用mv命令删除用户主目录下的fstab,显示文件fstab.lns与fstab.lnh的详细信息,比较文件fstab.lnh的链接数的变化(18)用cat命令查看文件fstab.lnh的内容,看有什么结果(19)用cat命令查看文件fstab.lns的内容,看有什么结果(20)用mv命令删除以f开头且文件名中包含ln的所有文件,显示当前目录下的文件列表,回到上层目录(21)用tar命令把目录lesson打包(22)用gzip命令对打好的包进行压缩操作(23)把文件lesson.tar.gz改名为back.tar.gz(24)显示当前目录下的文件和目录列表,确认重命名成功(25)把文件backup.tar.gz移动到lesson目录下(26)显示当前目录下的文件和目录列表,确认移动成功(27)进入lesson目录,显示目录中的文件列表(28)把文件backup.tar.gz解包(29)显示当前目录下的文件和目录列表,复制lesson目录为lessonbak目录作为备份(30)查找root用户自己的主目录下的所有名为abc的文件(31)删除lesson子目录下的所有文件(32)利用rmdir命令删除空子目录lesson(33)回到上层目录,利用rm命令删除目录lesson及其下所有文件思考题(1)find命令与grep命令各用于何种场合?(2)如何把两个文件合并为一个文件?(3)理解重定向与管道命令在Linux命令操作中的角色。

linux实验报告总结

linux实验报告总结

linux实验报告总结Linux 实验报告总结在学习计算机相关知识的过程中,Linux 操作系统无疑是一个重要的领域。

通过一系列的实验操作,我对 Linux 有了更深入的理解和认识。

以下是我对这些实验的详细总结。

一、实验目的本次 Linux 实验的主要目的是熟悉 Linux 操作系统的基本命令和操作,了解其文件系统、进程管理、用户权限等核心概念,并能够运用这些知识解决实际问题。

二、实验环境我们使用了虚拟机软件(如 VMware 或 VirtualBox)来创建 Linux操作系统的实验环境。

所安装的 Linux 发行版包括 Ubuntu、CentOS 等,版本根据具体实验要求而定。

三、实验内容及步骤(一)文件和目录操作1、熟悉常用的文件操作命令,如`ls` 用于列出目录内容,`cd`用于切换目录,`mkdir` 用于创建新目录,`rmdir` 用于删除空目录,`touch` 用于创建空文件等。

2、掌握文件权限的设置,通过`chmod` 命令修改文件的读、写、执行权限,了解`u`(所有者)、`g`(所属组)、`o`(其他用户)的权限设置方式。

3、进行文件的复制、移动和删除操作,使用`cp` 命令复制文件,`mv` 命令移动文件或重命名文件,`rm` 命令删除文件或目录。

(二)进程管理1、学会使用`ps` 命令查看系统中的进程信息,包括进程的 ID、状态、占用的 CPU 和内存等。

2、掌握通过`kill` 命令终止进程的方法,根据进程 ID 发送相应的信号来结束进程的运行。

3、了解进程的调度和优先级设置,通过`nice` 命令调整进程的优先级。

(三)用户和用户组管理1、熟悉用户和用户组的创建、修改和删除操作,使用`useradd` 命令添加新用户,`usermod` 命令修改用户属性,`userdel` 命令删除用户。

2、掌握用户组的管理命令,如`groupadd` 创建用户组,`groupmod` 修改用户组属性,`groupdel` 删除用户组。

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.实验目的本实验的主要目的是通过实践的方式学习和掌握Linux操作系统的基本使用方法及常用命令,加深对Linux操作系统的理解和认识。

2.实验环境本实验在一台装有Ubuntu操作系统的虚拟机中进行,使用的Linux 版本为Ubuntu 18.04 LTS。

3.实验内容本实验主要包括以下几个部分的内容:3.1文件操作在终端中使用命令创建一个名为test的目录,并在该目录中创建一个名为test.txt的文件,并在文件中写入一段文字。

3.2权限管理在test目录下创建一个名为test2的子目录,并将其权限设置为其他用户只能读取,自己及所在组用户可读写。

3.3系统操作使用命令查看当前系统的进程信息,并使用命令杀死一个进程。

3.4网络操作使用命令查看当前系统的网络连接信息,并使用命令查看一些特定IP地址的端口连接情况。

4.实验步骤4.1文件操作首先,打开终端,使用以下命令创建一个名为test的目录:```mkdir test```然后,使用以下命令进入test目录并创建一个名为test.txt的文件:```cd testtouch test.txt```保存文件后,使用以下命令查看文件内容并确认是否写入成功:```cat test.txt```4.2权限管理在test目录下,使用以下命令创建一个名为test2的子目录,并将其权限设置为其他用户只能读取,自己及所在组用户可读写:```cd testmkdir test2chmod 750 test2```4.3系统操作使用以下命令查看当前系统的进程信息:```ps aux```可以看到当前运行的进程列表及其详细信息。

使用以下命令杀死一个进程:```kill 进程ID```其中,进程ID为要杀死的进程的ID号。

4.4网络操作使用以下命令查看当前系统的网络连接信息:```netstat -an```可以看到当前系统的网络连接情况,包括本地地址、外部地址、状态等信息。

LINUX操作系统实验报告..

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 操作系统的基本操作、命令行使用、文件系统管理以及进程管理等方面的知识和技能。

通过实际操作和实践,提高对 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>`命令移动文件或目录。

Linux 用户文件权限综合实验

Linux 用户文件权限综合实验

Linux 命令Linux 文件系统安全管理su test56 表示切换到test56用户cat /etc/shawdow 查看etc/shawdow文件chmod 4755 /bin/cat 给用户赋予查看文件权限,4755是用户具有root权限,恢复文件权限exitchmod 755 /bin/cat(755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。

Linux下su命令与su - 命令有什么区别?Su是切换用户。

但不切换环境变量,可以用export命令查看一下区别。

范例:将档案file1.txt 设为所有人皆可读取: chmod ugo+r file1.txt 将档案file1.txt 设为所有人皆可读取: chmod a+r file1.txt 将档案file1.txt 与file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入: chmod ug+w,o-w file1.txt file2.txt 将ex1.py 设定为只有该档案拥有者可以执行: chmod u+x ex1.py 将目前目录下的所有档案与子目录皆设为任何人可读取: chmod -R a+r * 此外chmod也可以用数字来表示权限如chmod 777 file 语法为:chmod abc file 其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

文章来源:/thread-151-1-1.html 来源(欢迎查看):/thread-151-1-1.html r=4,w=2,x=1若要rwx属性则4+2+1=7;若要rw-属性则4+2=6;若要r-x属性则4+1=7。

范例:chmod a=rwx file 和chmod 777 file 效果相同chmod ug=rwx,o=x file 和chmod 771 file 效果相同若用chmod 4755 filename可使此程式具有root的权限指令名称: chown 使用权限: root 文章来源:/thread-151-1-1.html 来源(欢迎查看):/thread-151-1-1.html 使用方式: chmod [-cfhvR] [--help] [--version] user[:group] file... 说明: Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。

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

华北科技学院
计算机学院综合性实验
实验报告
课程名称 Linux操作系统
实验学期 2015 至 2016 学年第二学期学生所在院部计算机学院
年级大三专业班级信管B132班
学生姓名学号
成绩评定:
1、工作量: A(),B(),C(),D(),F( )
2、难易度: A(),B(),C(),D(),F( )
3、答辩情况:
基本操作: A(),B(),C(),D(),F( )
代码理解: A(),B(),C(),D(),F( )
4、报告规范度: A(),B(),C(),D(),F( )
5、学习态度: A(),B(),C(),D(),F( )
总评成绩:
指导教师:兰芸
计算机系制
《Linux操作系统》课程综合性实验报告
开课实验室:基础七2016年6月29日
四、程序、调试步骤
1、根据实验内容建立需要的目录与文件
图1 /home/stu/abc目录
图2 x1文件的填写内容
图3 建立/home/stu/backup目录内的bak01.txt文件
图4 建立data文件
图5 显示backup目录下的内容
2、利用crontab –e编辑定时任务
图 6 编辑任务
3、shell程序
#!/bin/bash
#usage:procfile files
while true
do
echo -n "1:定时删除文件2:定时复制文件内容3:定时打包文件4:定时卸载U盘[1|2|3|4|q]:"
read choice
case $choice in
1* ) crontab /home/stu/task1.cron;;
2* ) crontab /home/stu/task2.cron;;
3* ) crontab /home/stu/task3.cron;;
4* ) crontab /home/stu/task4.cron;;
q* ) exit 0;;
* ) echo Illegal Options;;
esac
done
程序说明:crontab执行任务命令格式:crontab [-u user] file
利用while do循环语句,让用户进行选择,分为1,2,3,4执行不同的语句。

即若要执行第一个任务,则:crontab /home/stu/task1.cron,其他任务相同。

图7 shell 程序
五、指令执行前、后截图
首选使用root用户登录系统。

①task1 定时删除文件
递归显示/home/stu目录下的文件。

在/home/stu/abc下建立文件aa。

图8 建立aa
执行前:
图9 查看aa存储场所
执行后:abc内的子目录和子文件aa已被删除
图10 执行后abc目录
②task2 定时复制文件内容
执行前:x1内容
图11 X1内容
执行后:显示bak01.txt中的内容可以看到读取/home/stu /xyz目录下x1文件中每行第一个域的全部数据加入到/home/stu /backup目录下的bak01.txt 文件内
图12 bak01 内容
③task3 定时打包文件
在/home/stu/data在建立两个文件xpc1.txt,xpc2以及目录xpc3
图13 建立文件
查看root目录,/home/stu/data中文件以及文件夹已经成功压缩到了backup.tar.gz文件夹中
图14 压缩
④task4 定时卸载U盘
图15 u盘挂载脚本
执行后
图16 执行成功
六、个人感想:
本学期我们学习了Linux操作系统,我知道了Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

它能运行主要的UNIX工具软件、应用程序和网络协议。

它支持32位和64位硬件。

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

在本次试验中,仍有很多不足,但是我了解了Linux与Windows的区别,在我今后的学习过程中会起到很大的帮助。

这次实验中我掌握了编写 shell脚本程序,包括程序的编辑、安装、运行步骤,将四个基本命令进行循环自发,制作中通过不断的修改是我认识到了学习的细致性,在代码出现错误时,大部分都因为马虎的小问题反复修改,所以后期在学习上要更加认真。

相关文档
最新文档