Linux课程综合训练实验报告
- 格式:doc
- 大小:1.31 MB
- 文档页数:15
linux实训报告总结本报告旨在总结和回顾我在Linux实训中所学到的知识和经验。
通过实际操作,我深入理解了Linux操作系统的核心概念和基本原理,同时也提升了自己的技能和能力。
一、实训背景和目的Linux实训是为了帮助学员掌握Linux操作系统的安装、配置和管理,以及开发和维护Linux应用程序的能力。
通过实践项目,学员在模拟的真实环境中学习并应用所学知识,提高自己在Linux领域的实际应用能力。
二、实训内容及过程1. Linux系统安装与配置在实训开始阶段,我们首先学习了Linux操作系统的安装和基本配置。
通过下载适当版本的Linux发行版,我们按照指导完成了Linux的安装,并进行了基本设置和网络配置。
2. Linux命令行操作Linux实训的重点之一是学习命令行操作。
我们通过练习常用的命令和参数,熟练掌握了文件与目录管理、用户和权限管理、进程和服务管理等方面的技能。
我们还学习了Shell脚本编写和调试,能够自动化执行一系列操作。
3. Linux网络配置与服务在Linux实训中,我们学习了网络配置与服务管理的基本知识。
我们了解了网络协议和配置文件的概念,能够设置网络接口、IP地址、子网掩码和网关等。
同时,我们还掌握了常用的网络服务如Web服务器、FTP服务器和邮件服务器的安装和配置方法。
4. Linux安全和权限管理在Linux实训的后期,我们重点学习了Linux系统的安全和权限管理。
我们了解了用户和组的概念,学习了用户权限和文件权限的设置和管理方法。
我们还学习了防火墙和入侵检测系统的原理和配置,以提高系统的安全性。
三、实践项目在Linux实训中,我们还参与了一系列实践项目,以应用所学知识并提升实际操作能力。
项目包括但不限于:- 搭建并配置Web服务器,实现网页访问和动态内容展示。
- 创建并管理数据库服务器,实现数据存储和检索功能。
- 编写Shell脚本,实现自动化系统管理和任务处理。
- 搭建并维护邮件服务器,实现邮件的发送和接收功能。
linux系统管理实训报告《linux 系统管理实训报告》一、实训目的本次 Linux 系统管理实训的主要目的是让我们深入了解和掌握Linux 操作系统的基本原理、常用命令和系统管理的实际操作技能。
通过实际动手操作,培养我们解决实际问题的能力,为今后在工作中运用 Linux 系统打下坚实的基础。
二、实训环境在本次实训中,我们使用了虚拟机软件虚拟机软件名称来搭建Linux 系统环境。
所安装的 Linux 发行版为具体发行版名称,版本号为具体版本号。
虚拟机的配置为:详细的配置信息,如内存、硬盘大小等。
三、实训内容(一)用户和权限管理1、用户创建与删除使用`useradd` 命令创建新用户,如创建用户名为`user1` 的用户:`useradd user1` 。
通过`passwd` 命令为新用户设置密码。
使用`userdel` 命令删除用户,如删除`user1` 用户:`userdel user1` 。
2、用户组创建与管理使用`groupadd` 命令创建新用户组,如创建组名为`group1` 的用户组:`groupadd group1` 。
使用`usermod` 命令将用户添加到用户组或从用户组中删除。
3、文件权限设置通过`chmod` 命令设置文件和目录的权限。
权限分为读(r)、写(w)、执行(x)三种,分别用数字 4、2、1 表示。
例如,将文件`filetxt` 的权限设置为所有者具有读写执行权限,所属组和其他用户具有读和执行权限,可以使用命令:`chmod 755 filetxt` 。
(二)进程管理1、进程查看使用`ps` 命令查看系统中的进程信息,包括进程的 ID、CPU 使用率、内存占用等。
常用的选项有`ps ef` 可以查看系统中所有进程的详细信息,`ps aux` 可以显示系统中所有用户的进程信息。
2、进程控制使用`kill` 命令终止进程。
首先通过`ps` 命令获取要终止的进程ID,然后使用`kill 进程 ID` 命令来终止进程。
linux实训报告一、引言在IT领域中,操作系统是非常重要的一个组成部分。
而Linux作为一个开源的操作系统,近年来备受关注和使用。
本篇文章将介绍我参加的Linux实训,分享实训的内容、收获以及对未来的展望。
二、实训背景作为一名计算机专业的学生,我对Linux操作系统一直充满了好奇和兴趣。
为了更深入地了解和掌握Linux,我报名参加了学校组织的Linux实训。
这个实训旨在帮助学生掌握Linux操作系统的基本原理、常用命令和应用。
三、实训内容1. 理论学习在实训开始之前,我们首先进行了一系列的理论学习。
包括Linux的历史和发展、基本概念、文件系统等。
这部分内容的学习,为我们后续的实践提供了基础。
2. 环境搭建实训中,我们首先需要搭建Linux的操作环境。
通过虚拟机技术,我们在个人电脑上安装了一款常用的Linux发行版。
这是我们后续实验和测试的基础。
3. 基本命令学习学习Linux操作系统,离不开对各种命令的掌握和应用。
在实训中,我们学习了一些常用的Linux命令,如ls、cd、mkdir等。
通过实践练习,我们逐渐对这些命令有了更深入的了解。
4. Shell编程除了基本命令的学习,我们还进行了一定的Shell编程实践。
Shell是一个强大的脚本语言,可以用于自动化任务的处理。
通过编写Shell脚本,我们学会了如何批量操作文件、实现简单的逻辑控制等。
5. 网络配置与管理在实训中,我们还学习了Linux的网络配置和管理。
通过配置网络参数、设置路由、搭建Web服务器等实践,我们了解了Linux在网络领域的应用和优势。
6. 安全性与权限管理安全性是任何操作系统都需要重视的一个方面。
在实训中,我们学习了Linux中的安全性与权限管理。
了解了如何设置用户权限、防火墙配置等,保护系统的安全性。
四、实践收获通过参加这次Linux实训,我收获了很多。
首先,我对Linux 操作系统的原理和应用有了更深入的了解。
以前只是停留在表面认知的阶段,而现在我能够熟练地使用Linux进行日常工作和学习。
实训报告实训名称:Linux操作实训学院:计算机学院专业、班级09级计科1班学号:学生姓名:指导教师:2011 年12 月26 日实训报告内容一、实训名称Linux操作实训二、实训时间第16-17周三、实训地点K4-508四、实训目的通过本实训,熟悉Linux操作系统以及操作系统当中的部分概念,掌握Linux控制台的基本命令和使用方法,能够对Linux操作系统的一些应用进行简单的配置。
实训的实施应使学生在以下几个方面有所收获:(1)加深对操作系统原理的理解,提高综合运用所学知识的能力。
(2)培养学生自主查阅参考资料的习惯,增强独立思考和解决问题的能力。
(3)通过该实训,使学生基本掌握如何使用Linux操作系统。
五、实训理论基础知识1.什么是Linux操作系统?Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
它支持32位和64位硬件。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
它主要用于基于Intel x86系列CPU的计算机上。
这个系统是由全世界各地的成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品 ! Linux以它的高效性和灵活性著称。
Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。
Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。
Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。
它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。
实验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实训个人总结8篇篇1一、实训背景与目标本次Linux实训旨在通过实践操作加深我对Linux操作系统的理解与应用能力,提升我在Linux环境下的软件开发和系统管理能力。
在为期XX周的实训过程中,我针对Linux系统的基本配置、软件开发、系统管理等方面进行了系统学习与实践。
二、实训内容1. Linux系统基础操作在实训初期,我重点学习了Linux系统的基本操作,包括文件与目录管理、常用命令的使用、软件包的安装与管理等。
通过实践操作,我掌握了Linux系统下的基本命令和操作技巧,能够熟练进行文件的增删改查以及软件的安装与配置。
2. 软件开发环境的搭建与实践本次实训中,我学习了如何在Linux环境下搭建软件开发环境,包括编译器的安装与配置、代码编辑器的使用、版本控制系统的实践等。
通过搭建开发环境,我能够自主进行软件的开发与调试,提升了我的软件开发能力。
3. 系统管理与维护实践在实训过程中,我还学习了Linux系统的管理与维护知识,包括系统监控、用户管理、进程管理、磁盘管理等。
通过实践操作,我掌握了系统管理的基本技巧,能够独立完成系统的日常管理与维护工作。
三、实训收获与体会1. 深入了解Linux系统架构与运行机制通过本次实训,我深入了解了Linux系统的架构和运行机制,对Linux系统的内核、文件系统、进程管理等方面有了更加清晰的认识。
2. 提升动手实践能力与问题解决能力在实训过程中,我通过大量的实践操作,提升了动手实践能力。
同时,在遇到问题时,我学会了独立思考和解决问题的方法,增强了问题解决能力。
3. 学会团队协作与沟通在实训过程中,我与团队成员紧密合作,共同完成任务。
通过团队协作,我学会了与队友沟通的技巧,提升了团队协作能力。
四、问题与解决方案在实训过程中,我也遇到了一些问题,如软件包安装失败、系统配置出错等。
针对这些问题,我通过查阅相关资料、请教老师同学等方式,找到了解决问题的方法。
同时,我也总结了问题的原因和解决方案,避免类似问题再次发生。
linux实训报告总结在本次Linux实训中,我通过学习和实践,对Linux操作系统有了更深入的了解。
在此次报告中,我将分享我在实训过程中的收获和总结。
一、实训背景本次实训的目的是让学员熟悉并掌握Linux操作系统的基本使用和管理技能。
Linux作为一种开源操作系统,广泛应用于服务器和嵌入式设备等领域,掌握Linux操作系统的相关技术对于日后的职业发展具有重要意义。
二、实训内容和方法在实训过程中,我们主要学习了Linux的基本命令和操作、文件系统管理、用户与权限管理、Shell脚本编程等内容。
并通过实际的练习项目,加深了对Linux的理解和应用。
在实训中,我们采用了理论学习和实践操作相结合的方法。
通过老师的讲解和示范,我们了解了Linux的基本概念和原理,并通过实际操作来巩固所学知识。
在实践项目中,我们分组完成了一系列任务,包括搭建服务器、部署Web应用、配置网络等,这些实践任务锻炼了我们的实际操作能力和问题解决能力。
三、实训收获和体会通过本次实训,我获得了以下几方面收获和体会:1. 深入了解Linux操作系统:通过实际操作,我更加深入地了解了Linux操作系统的特点和优势。
与传统的闭源操作系统相比,Linux具有开放源代码、安全稳定、高度可定制等特点,这种开放性吸引了许多开发者和用户对它的关注和使用。
2. 掌握了Linux基本操作:在实训过程中,我学习了Linux的常用命令和操作方法,包括文件操作、进程管理、软件安装等。
这些基本技能对于日后的工作和学习都非常重要,让我能够更高效地使用Linux系统。
3. 熟悉了Linux系统管理:在实际操作中,我学会了如何管理Linux系统,包括用户与权限管理、文件系统管理、网络配置等。
这些系统管理技能对于服务器运维和网络管理都是必备的。
4. 提升了问题解决能力:在实训过程中,我遇到了许多困难和问题,如配置文件错误、权限设置不当等。
通过自己的探索和与同学的讨论,我学会了快速解决问题并找到合适的解决方案。
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等服务的管理工作(如启动,关闭,重启等)。
∣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作为一种优秀的开源操作系统,具有高度的稳定性和安全性,被广泛应用于企事业单位和个人用户。
因此,为了提高我们在Linux操作系统上的开发和维护能力,本次实训旨在通过系统地学习、实践和项目练习,掌握Linux操作系统的基本原理、安装配置、常用命令等知识,以及运维和应用的技巧,为我们今后的工作和学习打下坚实的基础。
二、实训内容与过程1. Linux基础知识学习通过教材、课堂授课和自主学习,我系统地学习了Linux操作系统的发展历史、特点与优势,以及与其他操作系统的对比等内容。
通过这些学习,我对Linux的定位和应用领域有了更清晰的认识。
2. Linux环境搭建与配置在实训过程中,我们首先学会了如何在虚拟机或物理机上安装Linux操作系统,并进行相应的配置。
通过多次实践,我掌握了不同Linux发行版的安装方法和注意事项,并能够根据实际需求选择合适的Linux发行版进行安装。
3. Linux常用命令学习与应用在掌握了Linux环境的安装和配置之后,我们开始学习Linux的常用命令,并通过实际操作加深理解和记忆。
我学会了基本的文件和目录操作命令、文本处理命令、网络命令以及用户和权限管理命令等,这些命令对于后续的Linux应用和运维至关重要。
4. 实验项目练习在实训的最后阶段,我们进行了一系列的实验项目练习,包括搭建Web服务器、配置网络服务、部署应用程序等。
通过这些实验项目,我深入了解了Linux操作系统在不同场景下的应用,并学会了解决实际问题的方法和技巧。
三、实训成果与收获通过本次Linux实训,我取得了一系列的成果和收获:1. 对Linux操作系统有了更深入的理解:通过实际操作和项目练习,我对Linux操作系统的结构、核心原理和基本功能有了更深入的理解,不再局限于理论知识。
linux系统实训报告I. 简介本报告是基于对Linux系统的实训经验,旨在总结和分享对Linux操作系统的学习与应用。
通过本次实训,我对Linux的基本概念、命令行操作、文件系统管理等方面有了全面的了解和实际操作经验。
II. 实训目标本次实训的主要目标是培养学员熟练掌握Linux操作系统的使用,并能灵活运用Linux命令行进行系统管理和维护。
具体实训内容包括:1. Linux系统介绍- Linux操作系统的历史和特点- Linux系统的优势和应用领域- Linux发行版的选择及安装2. 命令行操作- Linux命令行基本操作技巧- 文件和目录操作- 进程管理和任务调度- 系统监控和性能调优3. 文件系统管理- 文件系统的基本概念和组织结构- 文件权限和用户管理- 磁盘配额和磁盘分区- 文件备份和恢复III. 实训过程在这个章节中,我将重点介绍实训过程中的关键经验和实践操作的步骤。
首先,我从选择适合的Linux发行版开始。
经过调研和比较,我选择了CentOS作为实训的操作系统。
CentOS是一款稳定、安全且易于维护的Linux发行版,非常适合实验和实践。
安装完CentOS后,我开始学习Linux的基本命令行操作,包括文件和目录的创建、复制、删除等。
通过实际操作,我逐渐熟悉了Linux系统的文件系统结构和命令行操作。
在学习命令行操作之后,我进一步学习了Linux系统的进程管理和任务调度。
通过使用ps命令查看进程状态,kill命令终止进程,以及通过crontab命令设置定时任务等,我掌握了如何管理和控制系统运行的进程和任务。
此外,我还学习了如何使用系统监控工具来检查系统的性能,如top命令和vmstat命令等。
文件系统管理是Linux系统管理的重要组成部分。
在实训过程中,我了解到Linux系统是基于文件的管理模式。
通过学习chown和chmod等命令,我学会了如何配置文件的权限并实现对用户的管理。
另外,我还掌握了文件备份和恢复的技巧,如使用tar和rsync命令进行文件的打包和复制。
linux系统实训报告在这次Linux系统实训中,我们通过学习和实践,深入了解了Linux操作系统的基本原理和应用。
本报告将围绕实训过程、实践成果和经验教训三个方面展开讨论。
一、实训过程1.1 系统环境的搭建在实训开始之前,我们首先需要搭建Linux系统的运行环境。
根据实训要求,我们选择了Ubuntu作为我们的操作系统。
通过下载镜像文件并进行安装,我们成功地搭建了可供实践使用的Linux系统环境。
1.2 系统基本命令的学习在进入实际的实践操作之前,我们先学习了Linux系统中最基本的命令。
比如ls命令用于查看当前目录下的文件和文件夹,cd命令用于切换目录,mkdir命令用于创建目录等等。
通过反复练习,我们迅速掌握了这些常用命令的使用。
1.3 文件权限和用户管理在Linux系统中,文件权限和用户管理是非常重要的概念。
我们学习了chmod命令用于设置文件的权限,chown命令用于更改文件的所有者,以及添加和删除用户的方法。
通过实践,我们对文件权限和用户管理有了更深入的了解。
1.4 Shell脚本编程Shell脚本是Linux系统中常用的自动化工具。
我们学习了Shell脚本的基本语法和常用的编程技巧,掌握了如何编写脚本来完成一些特定的任务。
这使得我们能够更高效地处理一些重复性工作,提高了工作效率。
二、实践成果2.1 实现基本的系统管理通过学习Linux系统的基本命令和文件权限管理,我们可以轻松地进行系统管理工作。
比如我们可以创建和删除用户,设置用户权限,管理系统进程,监控系统性能等。
这些能力在实际工作中非常实用。
2.2 Shell脚本的应用通过学习Shell脚本编程,我们可以编写脚本来完成一些自动化的任务。
比如自动备份文件,定时运行脚本任务,批量修改文件权限等。
这不仅提高了工作效率,还减少了重复操作的失误。
2.3 熟悉Linux服务器的部署与维护在实训中,我们还学习了Linux服务器的部署和维护。
通过安装并配置各种服务器软件,我们实现了自己的Web服务器和数据库服务器。
linux系统实训报告(注:以下是一份示例报告,具体内容可以根据实际情况自行修改和补充)1. 简介本报告对Linux系统实训进行总结和分析。
Linux是一种开源操作系统,具有稳定性和可靠性,并且在云计算、服务器和嵌入式系统等领域广泛应用。
在实训过程中,我们学习了Linux系统的安装、配置和管理,掌握了Linux命令行和GUI界面的使用,并了解了Linux系统的网络配置和安全性。
2. 实训内容和目标2.1 实训内容(详细列出实训所涉及的主要内容和任务)2.2 实训目标(简洁明了地列出实训的主要目标和学习成果)3. 实训过程(描述实训的具体过程,包括学习和实践的环节)4. 实训成果4.1 实践技能通过实训,我们掌握了Linux系统的基本操作和管理技能。
我们能够使用命令行界面进行文件和目录管理,熟悉常用的Linux命令,如ls、cd、mkdir、rm等。
同时,我们也学会了使用Linux的图形用户界面(GUI)进行更直观和友好的操作。
4.2 安全性我们了解了Linux系统的安全性措施和实施方法。
通过实践,我们学会了设置用户和组的权限,控制对文件和目录的访问权限。
我们还学习了如何使用防火墙、访问控制清单(ACL)和加密等安全措施来保护系统和数据的安全。
4.3 网络配置我们学习了Linux系统的网络配置和管理。
通过实践,我们能够配置网络接口、设置IP地址和子网掩码,以建立和管理网络连接。
我们还了解了Linux的网络工具和服务,如ping、curl、ssh等。
5. 实训中遇到的问题和解决方法在实训过程中,我们可能会遇到各种技术和操作上的问题。
我们通过查阅文档、互相讨论和请教老师等方式解决了这些问题。
例如,我们可能会遇到软件安装失败、命令行操作错误等问题,通过调试和尝试,我们找到了具体的解决方法。
6. 实训心得和建议通过实训,我们深入了解了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实训旨在向我们介绍Linux操作系统的基本概念和使用方法,让我们能够熟悉Linux的命令行界面以及进行常见操作。
此外,实训还旨在培养我们的问题解决能力和团队协作意识,通过实践来加深我们对Linux系统的理解。
2. 实训内容实训内容主要包括以下几个方面:2.1 Linux基础知识:包括Linux操作系统的历史、特点和优势,以及常见的Linux发行版和核心组件等。
2.2 Linux命令行界面:学习使用常见的Linux命令,如文件和目录管理、文件权限设置、文本编辑等。
2.3 Linux系统配置与管理:了解Linux系统的基本配置文件、服务管理与优化,熟悉常见的系统维护与安全管理策略。
2.4 Linux网络应用:学习Linux系统的网络设置与管理,包括网络配置、网络服务设置与管理等。
2.5 Linux应用开发:通过实践项目,学习Linux下的编程开发环境与工具,如Shell脚本、C/C++编程等。
3. 实训成果在实训过程中,我完成了一系列的实验与项目任务,其中包括:3.1 搭建Linux虚拟机环境:通过使用虚拟机软件,我成功搭建了一个Linux操作系统的虚拟环境,实现了在Windows系统下同时运行Linux系统的目标。
3.2 Linux命令行操作:通过学习和练习常用的命令行操作,如文件管理、进程管理、软件安装等,我逐渐掌握了Linux命令行的基本使用方法,并能够独立完成一些简单的操作任务。
3.3 实践项目:在实训期间,我参与了一个小组项目,我们合作开发了一个基于Linux服务器的在线购物网站。
在项目中,我负责搭建服务器环境、配置数据库以及编写部分后端代码。
linux系统实训报告一、引言在当今信息技术飞速发展的背景下,作为一名计算机科学与技术专业的学生,掌握Linux系统的知识和技能是非常重要的。
本报告旨在对我所参与的Linux系统实训进行总结和分析,包括实训目标、实训内容、实训经验以及实训成果等方面的内容。
二、实训目标Linux系统实训的主要目标是培养学生的操作系统管理和维护能力,提高其在Linux环境下进行软件开发和运维的技能。
通过实际的操作实践,加深对Linux的理解和掌握,培养学生对开源文化的认同和热爱。
三、实训内容1.基础知识讲解在实训开始阶段,老师详细讲解了Linux系统的基础知识,包括Linux的发展历程、基本组成、常用命令以及文件系统结构等内容。
这为我们后续的实际操作提供了重要的理论基础。
2.系统安装与配置接着,我们进行了Linux系统的安装与配置实践。
我们按照老师提供的步骤,选择了适合自己的Linux发行版,并进行了相关的配置。
这一过程中,我们学会了分区、安装驱动程序、网络配置等操作,对Linux系统的整体架构和配置有了更深入的认识。
3.用户管理与权限控制在接下来的实训中,我们学习了Linux系统的用户管理和权限控制。
通过创建、删除和修改用户账号,我们了解了Linux系统中用户和组的概念,并学会了如何分配不同级别的权限。
这对于实际的服务器管理和运维工作非常重要。
4.软件安装与更新在实训的后续阶段,我们进行了Linux系统的软件安装与更新实践。
通过使用包管理工具,我们学会了如何查找、安装和卸载软件包。
同时,我们还了解了软件源和依赖关系的概念,为日后的软件开发和运维提供了实用的技能支持。
5.网络服务与配置最后,我们学习了Linux系统中的网络服务与配置。
我们搭建了Web服务器、FTP服务器以及邮件服务器等,并进行了相应的网络配置。
这使我们对Linux系统在网络环境下的应用有了更直观的认识,也为日后的网络管理和安全防护奠定了基础。
四、实训经验1.动手实践在Linux系统实训中,动手实践是非常重要的环节。
linux系统实训报告在这份Linux系统实训报告中,我将介绍我在实训课程中所学到的知识和经验。
Linux系统作为一种开源操作系统,广泛应用于各种服务器、嵌入式系统和个人计算机中。
通过实训课程的学习,我对Linux系统的使用和管理有了更进一步的了解。
一、实训目的和任务在实训开始之前,我们首先确定了实训的目的和任务。
实训目的是帮助我们熟悉Linux操作系统以及其相关的基本概念和命令。
实训任务包括安装Linux系统、配置网络、管理用户账户、配置服务等。
二、实训过程1. Linux系统安装在实践课程的第一阶段,我们进行了Linux系统的安装。
我们选择了一个适合我们需求的Linux发行版,并按照安装向导进行了步骤。
通过这个过程,我们理解了操作系统的安装过程以及对硬件的要求。
2. 基本命令的学习在系统安装完成后,我们开始学习Linux系统的基本命令。
我们学习了ls、cd、mkdir、rm等常用命令,掌握了如何切换目录、创建文件夹和删除文件等操作。
这些命令是我们后续操作的基础。
3. 系统配置在系统的基本命令学习之后,我们开始进行系统的配置。
我们学习了如何配置网络,包括配置IP地址、设置DNS等。
我们还学习了如何配置用户账户和组,以及权限管理。
4. 服务配置在系统基本配置之后,我们学习了如何配置不同的服务。
我们学习了如何配置Web服务器、数据库服务器等。
我们通过实践操作,深入了解了这些服务的配置以及相关命令的使用。
5. 故障排除和维护在实训的最后一阶段,我们学习了故障排除和系统维护的方法。
我们学习了如何查看系统日志、分析系统问题以及进行系统维护。
这些知识对于我们理解和解决实际问题非常有帮助。
三、实训成果通过这次实训,我收获了很多。
首先,我对Linux系统有了更深入的了解,学会了如何使用Linux系统进行日常操作。
其次,我学会了基本的系统配置和服务配置,能够搭建和管理简单的服务。
最重要的是,我培养了解决问题和故障排除的能力,为以后的工作奠定了基础。
linux实训报告总结在过去的一段时间里,我参与了一项关于Linux实训的项目,通过这次实训我学到了很多关于Linux操作系统的知识和技能。
下面是我对这次实训的总结和反思。
一、实训目标与背景本次Linux实训的目标是培养学生对Linux操作系统的理解和应用能力。
Linux作为一种开源的操作系统,具有稳定性高、安全性好、可定制性强等特点,在不同领域具有广泛的应用,掌握Linux操作系统的知识和技能对于我们未来的职业发展具有重要意义。
二、实训内容与方法在实训过程中,我们主要学习了Linux操作系统的基本原理与常用命令、用户管理、文件系统管理、网络配置等相关知识。
通过理论学习和实际操作相结合的方式,提高了我们对Linux操作系统的理解和应用能力。
实训采用小组合作的方式,每个小组有自己的实训环境和任务,通过集体合作和个人学习相结合,实现了知识的共享和互补。
三、收获与反思在这次实训中,我获得了以下几点收获:1. 知识储备:通过实际操作和学习,我对Linux操作系统的相关知识有了更深入的了解,掌握了许多实用的命令和技巧。
这将对我今后的学习和工作都有一定的帮助。
2. 团队合作:通过小组合作的方式,我学会了与他人合作、共同解决问题的能力。
每个小组成员根据自己的特长和兴趣承担不同的任务,相互协作,共同完成了实训项目。
3. 解决问题的能力:在实训过程中,我们遇到了许多问题,例如网络配置的失败、命令行操作的错误等。
通过自主学习和寻求帮助,我逐渐掌握了解决问题的方法和技巧,提高了自己的问题解决能力。
然而,回顾整个实训过程,我也认识到了自己的不足之处。
首先,我对于Linux操作系统的理解还不够深入,有些高级功能和技巧掌握得还不够熟练。
其次,我在团队合作中需要更好地与他人沟通和协调,发挥自己的长处,充分发挥团队的优势。
最后,我在问题解决中还需要提高自己的自主学习和思考能力,更加深入地研究问题的根本原因,从根本上解决问题。
四、展望与建议参与这次Linux实训,让我对Linux操作系统产生了浓厚的兴趣,也让我认识到自己在Linux方面还有很多需要提高的地方。
linux系统实训报告一、引言在本次实训中,我将介绍我对Linux系统的学习和实践经验。
通过参与实训项目,我不仅深入了解了Linux系统的原理和功能,还熟悉了Linux系统的常用命令和操作技巧。
本报告将对我在实训中的学习成果进行总结和归纳。
二、实训目标和计划为了更好地完成实训项目,我在开始之前制定了以下目标和计划:1. 熟悉Linux系统的基本概念和特点;2. 学习Linux系统的安装和配置方法;3. 掌握Linux系统的文件管理和权限设置;4. 熟悉Linux系统的网络配置和服务管理;5. 学习Linux系统的Shell编程和脚本编写。
三、实训内容和过程1. Linux系统的基础知识和安装在实训开始阶段,我主要了解了Linux系统的发展历程、基本特点和应用领域。
我学习了Linux系统的安装步骤和准备工作,并成功完成了系统的安装和配置。
2. Linux系统的基本操作和命令在进入实际操作环节之前,我先学习了Linux系统的基本操作和常用命令。
通过练习和实践,我熟悉了Linux系统中目录结构的组成和命令的使用方法。
3. Linux系统的文件管理和权限设置在这一部分,我学习了Linux系统中文件和目录的管理方法,如创建、复制、移动、删除等。
此外,我还深入了解了Linux系统的权限设置方法,包括用户与用户组的管理、文件权限的修改等。
4. Linux系统的网络配置和服务管理学习Linux系统的网络配置对于实际应用非常重要。
我通过实践了解了Linux系统中网络配置的各种方法,如IP地址的设置、网络接口的配置等。
另外,我还学习了Linux系统中服务的管理方法,如启动、停止、重启等。
5. Linux系统的Shell编程和脚本编写在实训的最后阶段,我开始学习了Linux系统的Shell编程和脚本编写。
通过学习Shell脚本的语法和应用,我可以编写自动化脚本来完成重复性的工作。
四、实训成果和心得体会通过参与本次实训,我取得了以下成果和心得体会:1. 对Linux系统的原理和机制有了更深入的了解;2. 掌握了Linux系统的基本操作和常用命令;3. 熟悉了Linux系统的文件管理和权限设置方法;4. 学会了Linux系统的网络配置和服务管理;5. 具备了Shell编程和脚本编写的基本技巧。
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课程综合训练实验报告姓名:***班级:软件94班学号:********一.实验目的熟练掌握Linux操作系统的使用,掌握Linux的各项系统管理功能,掌握Linux下各类网络服务的安装、配置以及使用,并能用shell脚本实现简单的管理任务。
二.实验内容(1)准备工作:利用虚拟机安装Linux操作系统,要求对/home目录单独分区,在系统中安装适当的软件包以备后续的实验需要,可关闭防火墙和SeLinux。
完成安装后将/root中的anaconda-ks.cfg 文件的内容附到报告中。
(5分)实现过程:首先安装虚拟机VMware,然后在虚拟机里新建一个虚拟机,利用老师的光盘Fedora-10-i386-DVD.iso安装Linux操作系统,因为题目要求对/home目录单独分区,所以在安装时有个分区选项,默认是不打勾的,打勾后按下一步,会有个分区,在下拉列表框中选出/home,然后设置它的大小,默认是200mb的大小,我设置为5000mb。
在安装的最后新建了一个非管理员用户gui,密码123456,用于平时的登录。
附:anaconda-ks.cfg文件的内容关闭selinux需要修改/etc/selinux/config文件中的SELINUX="" 为disabled ,然后重启。
Linux关闭防火墙用chkconfig iptables off 命令。
(2)题目1:查看Linux系统磁盘空间的使用情况(给出显示结果)(3分)在命令行新建几个用户,如tux,tom,lily等,给每个用户创建密码,测试各个用户是否创建成功。
(2分)并为/home分区创建磁盘配额,使得你所创建的每个用户的可用空间的软限制为100M,硬限制为150M,且每个用户可用的inodes的软限制为300,硬限制为400。
试编写shell测试脚本验证你的磁盘配额设置。
(10分)实现过程:首先,查看Linux系统磁盘空间的使用情况用df这个命令。
显示结果如下:其次,新建几个用户和密码,所用的命令为useradd和passwd。
比如说我们新建2个用户,一个为tux,密码为09161071;另一个为tom,密码为09161071。
说明:在为用户创建密码时本来是想使用tux123这个密码的,但在实际实现中说它基于字典单词,没有实现,后来想用123456这个最常用的密码,系统提示太简单,也无法实现,最后使用了自己的学号作为密码。
这里说明linux在创建用户和密码时有一些基本的准则。
为/home分区创建磁盘配额,分为5步,第一步,开启quota功能。
要在/etc/fstab文件中设置配置文件,重新编写一行如下:LABEL=/home /home ext3 defaults,usrquota 1 1第二步,启动这个配置,用mount -o remount /dev/sda2第三步,产生quota文件,需要产生er文件,用quotacheck -avu 命令来检查要管理的文件系统,然后建立文件。
此时在home文件夹下已经有er文件了。
第四步,设置quota,按照题目要求每个用户的可用空间的软限制为100M,硬限制为150M,且每个用户可用的inodes的软限制为300,硬限制为400。
用edquota gui进行修改,修改如下:第五步,将所有用户都设置为和gui一样的配置。
用edquota -p命令实现。
然后用repquota -a查看所有的用户配额。
如下:(3)题目2:配置网络,并进行检测,确保能够在本地网络中联网通信(给出网络接口配置文件ifcfg-eth0)。
(5分)假设本地网络中大部分客户端是windows系统,请建立Linux Samba服务器使得windows客户端能够共享Linux服务器的资源,具体要求如下:1)创建一个共享文件夹/home/Public,使得所有用户都可以匿名访问(可读写)。
(5分)2)每个用户可以访问自己的主目录,具有完全权限,采用用户验证的方式;(5分)3)为用户tux和tom创建一个共享目录/home/share,可供这两个用户进行文件的共享(可读写);(5分)测试:使用smbclient客户端程序登录Samba服务器,访问服务器中的共享资源。
注:以上用户以及文件夹需要自己创建,并使之具有适当的权限。
实验报告中需要给出配置文件及相关的运行结果。
实现过程:第一个网卡的名称为eth0,用ifconfig eth0 115.154.65.237给自己的网卡IP地址。
网络接口配置文件ifcfg-eth0如下:第一步,检测samba服务器是否安装,用命令rpm -qa|grep samba 发现并没有安装,于是cd到相应目录下进行安装,具体如下:说明:在安装的时候出现了依赖关系,无法实现安装,上网查知有一个--nodeps的命令可以取消依赖关系,这样才安装成功。
检查如下:第二步,在/home文件夹下新建/public文件夹,用于所有用户都可以匿名访问(可读写)。
再新建一个/homes文件夹,用于访问自己的主目录,再新建一个/share文件夹,用于tux和tom用户共享。
第三步,修改/etc/samba/smb.conf配置文件,具体修改如下:说明:writeable = yes表示用户可以写;browseable = yes表示可以浏览。
第四步,启动samba服务,以及添加sanba用户tux,tom,gui,密码为09161071,用smbpasswd -a tux添加。
第五步,进行实际检查,可是发现并没有实现,截图如下,因为自身知识薄弱,纠错能力有限,导致并没有成功运行。
(4)题目3:请思考如下场景并考虑解决方案:Root用户有事外出,委托tux进行必要的系统维护工作,使得tux虽然并不具备管理员权限但能进行诸如shutdown,httpd,samba 等服务的管理工作(如启动,关闭,重启等)。
以其中一个服务为例来验证你的方法并给出运行结果。
(10分)实现过程:Root用户外出,委托tux进行必要的系统维护工作,可以使用sudo指令,sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。
这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。
操作分为3步,如下:第一步:检测sudo是否安装。
显示已经安装。
第二步,配置/etc/sudoers文件,需要用visudo,用vi编辑器进去是只读文件,无法修改。
在这个题目,我们假设给tux用户能进行shutdown和reboot服务的权限,修改配置文件如下:(说明:在root后面加上NOPASSWD:可以在最后tux用户使用命令的时候不用每次输入密码了)Tux ALL=(root)NOPASSWD:/sbin/shutdown,/sbin/reboot第三步,切换至tux用户,执行shutdown操作和reboot操作。
出现的问题:在编写配置文件的时候遇到了很大问题,因为配置文件中的模版相对比较模糊,查了大量资料才基本摸清了语法结构,相信在以后的这方面会比较熟手了。
还有在写配置文件时,后面的一定要用绝对路径,这点很重要。
(5)题目4:配置Apache服务器,允许每个用户拥有自己的个人主页。
制作你的个人主页,并给出你的个人主页显示结果。
(10分)实现过程:第一步,检查是否安装httpd,来启动apache服务第二步,我要实现的gui的用户的个人主页,所以先修改/home文件下的gui文件夹的权限,是其他用户具有读和执行的权限。
第三步,创建存放个人主页的目录public_html第四步,创建个人主页空间首页的默认首页index.htmlEcho "this is gui's personal web">>index.html第五步,修改/etc/httpd/conf/httpd.conf中的配置文件,截图如下:第六步,重启httpd服务,即可访问自己的网站,用http://localhost/~gui/访问。
Service httpd restart(6)题目5:备份数据是系统应该定期执行的任务,请编写shell脚本执行数据备份的功能,并使用cron服务在每周五下午3:00对某用户主目录下的文件进行备份。
(10分)实现过程:第一步,检测是否安装cron来实现cron服务。
第二步,检查该服务是否在运行。
使用 /sbin/service crond status 命令。
第三步,在usr文件夹里建立文件backup.sh。
第四步,编辑backup.sh第五步,修改配置文件/etc/crontab,截图如下:说明:系统会在每周五下午3点发一封电子邮件给root用户,显示已经进行了备份。
(7)题目6:假设你的Linux系统作为DNS服务器使用,请根据以下要求配置成DNS主服务器。
1)所管理的域名为域,其网络为192.168.3.0,给出DNS配置文件;(5分)2)在正向解析域文件.zone中建立以下资源记录(5分)IN dns .. IN A 192.168.3.145. IN A 192.168.3.38. IN A 192.168.3.93)建立反向解析域文件3.168.192.db,实现上述地址的反向解析(5分)4)使用nslookup或dig进行测试,并给出测试结果。
(5分)实现过程:第一步,检测是否安装bind,如若没有,安装bind。
第二步,配置/etc/named.conf文件,截图如下:第三步,配置/var/named/.zone.db文件,截图如下:第四步,配置/var/named/3.168.192.db文件,截图如下:第五步,启动named服务。
Service named start出现的问题:我仔细检查了每个配置文件的书写,可是并没有发现错误。
但是在启动服务的时候显示我无法匹配到配置文件,可能这方面还有没考虑到的,最后没有实现完整的过程,错误如下:(8)题目7:在Linux环境下编写C或C++程序实现简单的计算器功能(+、-、*、/、mod、开平方、log等功能),并在Linux下进行编译和运行,要求使用Makefile文件实现程序的编译、安装和卸载。
(报告中给出源代码、Makefile文件、make运行结果以及程序运行结果)。
(10分)实现过程:三.实验体会通过这个实验报告的书写,对平时上机所学的知识有了一个系统的总结,明白了linux的基本内容。
在试验的过程中,还是遇到很大的困难。
在完成每个问题时,都查阅了大量资料,确保自己做的正确。
其实这些题上课老师都大致演示过。
不过一是因为上课没有好好听讲,二是因为动手解决问题和实际操作linux的能力比较差。