Linu程序设计实验报告大作业
- 格式:docx
- 大小:1.17 MB
- 文档页数:38
Linux程序设计实验报告1——操作系统基本命令使用一、实验目的1.通过对Emacs、vi、vim、gedit文本编辑器的使用,掌握在Linux环境下文本文件的编辑方法;2.通过对常用命令mkdir、cp、cd、ls、mv、chmod、rm等文件命令的操作,掌握Linux操作系统中文件命令的用法。
二、实验任务与要求1.emacs的使用,要求能新建、编辑、保存一个文本文件2.vi或vim的使用,要求能新建、编辑、保存一个文本文件3.gedit的使用,要求能新建、编辑、保存一个文本文件4.掌握mkdir、cd命令的操作,要求能建立目录、进入与退出目录5.掌握cp、ls、mv、chmod、rm命令的操作,要求能拷贝文件、新建文件、查看文件、文件重命名、删除文件等操作。
三、实验工具与准备计算机PC机,Linux Redhat Fedora Core6操作系统四、实验步骤与操作指导任务1.学习emacs的使用,要求能新建、编辑、保存一个文本文件(1)启动emacs(2)输入以下C程序(3)保存文件为kk.c(4)用emacs打开文件kk.c(5)修改程序(6)另存为文件aa.txt并退出。
任务2.vi或vim的使用,要求能新建、编辑、保存一个文本文件(1)点击”应用程序”→ “附件”→“终端”,打开终端,在终端输入命令:[root@localhost root]#vi kk.c按i键,进入插入状态。
(2)输入以下C程序#include<stdio.h>int main( ){printf(“Hello world!\n”);return 0;}此时可以用Backspace、→、←、↑、↓键编辑文本。
(3)保存文件为kk.c按Esc键,进入最后行状态,在最后行状态输入:wq保存文件,退出vi。
(4)用vi打开文件kk.c,输入命令:[root@localhost root]#vi kk.c(5)修改程序为:#include<stdio.h>int main( ){printf(" Hello world!\n");printf("*****************\n");return 0;}(6)按Esc键,进入最后行状态,在最后行状态输入:wq aa.txt保存文件,如图1所示,另存为文件aa.txt并退出vi。
linux实验报告实验目的:通过对Linux操作系统的实践,掌握基本的Linux命令和操作方法,了解Linux操作系统的特点和优势。
实验一:Linux环境搭建在实验一中,我们首先需要搭建Linux操作系统的环境。
根据实验指导书的要求,我们选择了Ubuntu作为实验平台。
通过下载Ubuntu镜像文件,并利用虚拟机软件创建一个虚拟机,将镜像文件安装到虚拟机中。
在安装过程中,我们需要选择合适的分区和网络配置等,并设置root用户的密码。
实验二:基本命令的使用在实验二中,我们主要学习了Linux的基本命令的使用方法。
首先,我们了解了Linux文件系统的结构,包括根目录、用户目录、系统目录等。
然后,通过命令行终端进行一系列的实践操作,比如查看文件内容、创建目录、复制文件等。
这些命令的使用不仅提高了我们的工作效率,同时也增强了对Linux操作系统的理解。
实验三:软件安装与卸载实验三主要涉及到Linux的软件安装与卸载。
我们首先学习了使用APT工具进行软件包管理,通过安装命令行界面的方式安装了一些常用的软件,比如文本编辑器、终端工具等。
此外,我们还学习了如何卸载已安装的软件包,清理不需要的文件,以保持系统的整洁性。
实验四:权限管理在实验四中,我们学习了Linux的权限管理机制。
Linux操作系统采用了基于用户和组的权限模型,通过设置文件和目录的权限,实现对文件的读、写、执行的控制。
我们通过实际操作,创建了新的用户和组,并为不同的用户和组设置了不同的权限。
这样,可以有效地保护系统的文件和数据的安全性。
实验五:网络配置与服务搭建在实验五中,我们主要学习了Linux的网络配置和服务搭建。
通过设置网络接口、IP地址和网关等参数,实现了网络的正常连接。
同时,我们还学习了一些常用的网络命令,比如ping、ssh等。
此外,我们尝试搭建了一个简单的Web服务器,通过浏览器访问,可以查看服务器上的网页。
实验六:系统监控和故障恢复在实验六中,我们学习了Linux的系统监控和故障恢复方法。
linux编程实验报告篇一:Linux程序设计实验报告《Linux程序设计》实验报告安徽工业大学计算机学院XX年6月1实验一 Linux基本命令的使用1、实验目的学习和掌握Linux的基本命令。
2、实验内容和步骤步骤1:以user_login用户身份并使用telnet登录Linux服务器,按照提示创建自己的账户和口令。
步骤 2:使用新创建的用户账户和口令登录Linux系统,察看登录后的界面。
步骤3:使用pwd命令察看当前的工作目录,然后用ls 命令查看当前目录下的内容,尝试使用-a,-l,-F,-A,-lF等不同选项并比较不同之处。
步骤4:在当前目录下建立一个名为test的新目录,然后将工作目录切换到test下,尝试将/etc目录下的文件passwd拷贝到该目录下(cp 源文件目的目录)。
察看当前目录下的passwd文件的属主和文件权限。
2步骤5:尝试向当前目录下的passwd文件和/etc/passwd 文件分别写入一些新内容(可使用echo “字符串” >>文件的命令),看看操作能否成功,如果不能成功,请说明原因。
用cat命令浏览文件password的内容,用more命令进行浏览翻页操作,再用less命令浏览文件的内容。
比较这几个命令的不同之处步骤6:用ls命令查看test下文件的权限,用mv命令更改文件password的文件名为test.txt,尝试用chown和chgrp更改文件的属主为root、组为root,看看能否成功,不成功,请说明原因。
尝试用chomd将文件权限为“-rw-------”。
看看能否成功,不成功,请说明原因。
3步骤7:用rm命令删除test目录下的所有文件,再用rmdir命令删除test目录。
(想一想有没有一条命令将目录及目录下的所有文件删除,写出这条命令)步骤8:使用ps命令查看当前系统内的进程,并利用man命令获取ps命令的参数,写出获取当前终端进程执行情况的ps命令。
Linux程序的设计实验报告《Linux程序设计》实验指导书实验类别:课实验实验课程名称:Linux程序设计实验室名称:软件⼯程专业实验室实验课程编号: N03140112总学时:32 学分: 2适⽤专业:软件⼯程先修课程:Linux操作系统、C程序设计实验在教学培养计划中地位、作⽤:通过讲授Linux的操作使⽤、系统结构和Linux环境下的程序设计,使学⽣对Linux 操作系统获得⼀个全⾯的认识和掌握。
⼀⽅⾯,学⽣通过学习系统程序设计,能够复习操作系统中的基本概念,对⽂件管理、进程控制有更深⼊的理解;另⼀⽅⾯,学⽣学会在Linux 环境下⼯作,进⼀步熟悉C语⾔程序设计和数据结构的知识,编写进⾏系统维护的脚本⽂件和实⽤化的⼤型应⽤程序,如⽹络应⽤程序。
同时,本课程为学⽣进⼀步学习其它后续课程(如⾼级操作系统、Linux核源代码分析、嵌⼊式系统等)打下基础。
《Linux程序设计》实验⼤纲Linux Program Design课程类别:学科专业教育课程课程名称:Linux程序设计开课单位:软件学院课程编号:N03140112总学时:32 学分:2适⽤专业:软件⼯程先修课程:程序设计基础⼀、实验教学⽬标熟练掌握shell编程、熟练使⽤linux系统、掌握进程控制和进程间通信,学会编写⽹络程序,学会在linux环境中编写web程序。
养成⼀种良好的程序设计风格。
⼆、实验环境Linux三、实验教材及参考书:[1] 实验指导书(⾃编讲义)[2]《Linux环境C程序设计》徐诚⾼莹婷等清华⼤学2010.1[3]《linux⼊门到精通》忆智清华⼤学2010.1四、实验成绩评定⽅式根据学⽣在实验过程中的认真程度、上机结果验收情况以及实验报告撰写质量,进⾏综合评定。
五、实验项⽬及学时分配六、实验容及要求实验⼀ Linux基本命令的使⽤1、实验⽬的(1)学习和掌握Linux的基本命令(2)增强学⽣对Linux的学习兴趣2、实验容(1)linux的登录操作(2)常⽤基本命令的使⽤实验⼆ Shell程序设计1、实验⽬的(1).Shell程序设计中变量的使⽤;(2).理解通道的概念并初步掌握它的使⽤⽅法;(3).掌握算术操作、字符串操作、逻辑操作、⽂件操作;(4).掌握if then fi、if then elif fi、case、while、for等控制语句;(5).在shell脚本中使⽤函数;2、实验容(1).通过对shell程序的调试,理解变量$#,$0,$1,$2,$3,$@的含义;(2).Shell顺序程序设计;(3).Shell分⽀程序与多分⽀程序设计;(4).Shell循环程序设计。
linux程序设计大作业在计算机科学与技术领域,Linux操作系统一直以其稳定性、安全性和开放性而受到广泛关注和应用。
作为一名计算机专业的学生,我有幸参与了一门名为“Linux程序设计”的课程,并完成了这门课程的大作业。
这门课程的大作业要求我们设计并实现一个基于Linux操作系统的应用程序。
我们可以自由选择应用程序的功能和领域,但需要保证程序的稳定性和可扩展性。
经过深思熟虑,我决定设计一个名为“Linux 文件管理器”的应用程序。
Linux文件管理器是一个用于管理文件和目录的工具,它可以帮助用户方便地浏览、复制、移动、删除和重命名文件和目录。
在设计这个应用程序时,我考虑到了用户的使用习惯和需求,力求提供简洁、直观和高效的操作界面。
首先,我使用C语言编写了程序的核心功能。
通过调用Linux系统提供的文件操作函数,我实现了文件和目录的创建、打开、读写、关闭等基本操作。
同时,我还实现了文件和目录的复制、移动、删除和重命名功能,以及文件和目录的属性查看和修改功能。
这些功能的实现基于Linux系统的文件系统结构和权限管理机制,保证了程序的安全性和可靠性。
其次,我设计了一个简洁而直观的用户界面。
通过使用Linux系统提供的图形界面库GTK+,我创建了一个包含菜单栏、工具栏和文件列表的主窗口。
用户可以通过菜单栏和工具栏选择不同的操作,而文件列表则显示当前目录下的文件和目录。
用户可以通过鼠标点击和键盘操作来选择文件和目录,并进行相应的操作。
同时,我还为用户提供了快捷键和上下文菜单等功能,以提高操作的效率和便捷性。
最后,我进行了大量的测试和优化工作,确保程序的稳定性和性能。
我编写了各种测试用例,模拟了不同的使用场景和操作方式,以验证程序的正确性和健壮性。
同时,我还对程序进行了性能优化,减少了不必要的系统调用和资源占用,提高了程序的运行效率和响应速度。
通过这个大作业的设计与实现,我不仅深入理解了Linux操作系统的原理和机制,还提高了自己的编程能力和问题解决能力。
linux实验报告1《Linux 实验报告 1》一、实验目的本次 Linux 实验的主要目的是让我们熟悉 Linux 操作系统的基本操作和常用命令,了解其文件系统结构,并能够在终端环境下进行一些简单的任务处理。
二、实验环境本次实验使用的是虚拟机软件 VirtualBox 中安装的 Ubuntu 2004LTS 操作系统。
三、实验内容及步骤(一)用户登录与系统信息查看1、打开虚拟机,进入 Ubuntu 系统登录界面,输入用户名和密码登录。
2、在终端中输入命令“uname a”查看系统内核信息,包括操作系统类型、内核版本等。
3、输入“lsb_release a”命令查看系统的发行版信息,如发行版名称、版本号等。
(二)文件和目录操作1、使用“cd”命令切换到不同的目录,如“cd /home”切换到用户主目录,“cd /etc”切换到系统配置目录等。
2、使用“ls”命令列出当前目录下的文件和子目录,结合“l”选项查看详细信息,包括文件权限、所有者、大小、修改时间等。
3、创建新目录,使用“mkdir testdir”命令在当前目录下创建一个名为“testdir”的目录。
4、在新创建的目录中创建一个文本文件,使用“touch testfiletxt”命令创建一个空的文本文件。
5、使用“cat”命令查看文本文件的内容,由于文件为空,此时没有输出。
6、使用“vi”或“nano”编辑器编辑文本文件,输入一些内容后保存退出。
7、使用“cp”命令复制文件,如“cp testfiletxt testfile_copytxt”复制文件并命名为“testfile_copytxt”。
8、使用“mv”命令移动文件,将“testfile_copytxt”移动到其他目录。
9、使用“rm”命令删除文件和目录,注意删除目录时需要使用“r”选项,如“rm r testdir”删除“testdir”目录及其包含的所有文件。
(三)文件权限管理1、使用“ls l”命令查看文件的权限信息,了解权限的表示方式,如“rwrr”等。
linux实验系统实验报告Linux实验系统实验报告一、引言Linux实验系统是一个基于Linux操作系统的实验平台,旨在提供一个实践学习的环境,帮助学生深入了解Linux操作系统的原理和应用。
本实验报告旨在总结和分析我在使用Linux实验系统进行实验时的经验和收获。
二、实验环境1. 硬件环境:我使用的是一台配备Intel Core i5处理器和8GB内存的个人电脑。
2. 软件环境:我下载并安装了Linux实验系统的最新版本,该版本基于Ubuntu操作系统,并预装了一系列常用的开发工具和软件包。
三、实验内容1. 实验一:Linux基础命令的使用在这个实验中,我通过终端窗口使用了一些常用的Linux命令,如ls、cd、mkdir、rm等。
通过实际操作,我熟悉了Linux文件系统的结构和基本操作,掌握了如何在Linux中创建、删除和移动文件夹,以及如何查看文件和文件夹的属性。
2. 实验二:Shell脚本编程这个实验要求我们使用Shell脚本编写一个简单的程序,实现对指定文件夹中所有文件进行备份的功能。
通过这个实验,我学会了如何使用Shell编程语言,掌握了一些基本的语法和命令,比如if语句、for循环和cp命令。
我还学会了如何将Shell脚本保存为可执行文件,并在终端中运行。
3. 实验三:网络配置与管理这个实验主要涉及Linux系统的网络配置和管理。
我学会了如何配置网络接口,包括设置IP地址、子网掩码和网关。
我还学会了如何使用ping命令测试网络连接,以及如何使用ifconfig命令查看和管理网络接口的状态。
通过这个实验,我对Linux系统的网络配置有了更深入的了解。
四、实验收获通过使用Linux实验系统进行实验,我获得了以下收获:1. 对Linux操作系统有了更深入的了解:通过实际操作,我对Linux操作系统的基本原理和文件系统有了更深入的了解。
我学会了如何在Linux中进行文件和文件夹的管理,以及如何使用命令行界面进行各种操作。
【关键字】设计linux程序设计实验报告6篇一:Linux上Shell程序设计实验报告深圳大学实验报告课程名称:学院:计算机与软件学院实验时间:实验报告提交时间:教务处制一、实验目标:1. 熟悉vi编辑器的使用2. 掌握简单的Shell编程2.1. 掌握Shell变量的使用2.2. 掌握Shell表达式的使用2.3. 掌握Shell流程控制语句的使用3. 熟悉Shell程序的执行和跟踪二、实验环境与工件湖边Linux实验室Fedora 13三、实验内容与步骤1. 下面哪个命令会实现将变量VAR1和VAR2相加,并且值存入变量VAR3的功能?( D )(5分)[ $VAR3 = $VAR1 + $VAR2 ]$VAR3 = [ $VAR1 + $VAR2 ]$VAR3 = (( VAR1 + VAR2 ))(( VAR3 = VAR1 + VAR2 ))2. 以下程序的输出是?(D )(5分)#!/usr/bin/shA=1while [ $A -lt 10 ]doB=1while [ $B -lt 10 ]dobreak 2echo "Inner loop"doneecho "Outer loop"doneA. “Inner loop” 将被打印10次B. “Outer loop” 将被打印10次.C. “Outer loop” 将被打印10次.D. 什么都没有被打印.3. 请在vi中逐一编辑,修正(如果有误)并执行以下10个shell脚本程序,然后结合所学知识和程序的输出理解各程序中各语句的含义,对各小题附上结果截图。
(每小题5分)3.1. 编写一个简单的回显用户名的shell程序。
#!/bin/bash#filename:dateecho "Mr.$USER,Today is:"echo 'date'echo Whish you a lucky day!3.2.使用if-then语句创建简单的shell程序。
linux下c程序的编写实验报告实验主题:在Linux下编写C程序的实验报告一、引言(150-200字)Linux是一种广泛应用的操作系统,具有高度开放性和灵活性,也是许多程序员首选的开发环境。
在Linux中,通过编写C程序可以实现各种应用和功能。
本实验旨在通过一步一步的说明和回答,介绍在Linux下编写C 程序的基本步骤和方法。
二、实验步骤(400-500字)1. 设置编程环境在Linux中编写C程序,首先需要安装相关的开发工具和编译器。
常用的编译器有gcc和clang,可以通过包管理器进行安装。
同时,也需要一个文本编辑器来编写C代码,比如vim或者emacs。
2. 编写Hello World程序Hello World程序是C语言学习的经典入门程序,它可以在屏幕上输出"Hello World"。
在文本编辑器中新建一个文件,命名为hello.c,然后在文件中输入以下代码:#include <stdio.h>int main() {printf("Hello World\n");return 0;}保存文件后,使用gcc编译器将该文件编译成可执行文件。
在终端中执行以下命令:gcc -o hello hello.c此时会生成一个名为hello的可执行文件。
通过执行该文件,可以在终端中看到输出结果"Hello World"。
3. 命令行参数和用户输入C程序可以接受命令行参数和用户输入,从而实现更复杂的功能。
在上一步编写的程序的基础上,我们尝试接收用户输入的姓名,并输出相应的问候语。
在hello.c文件中添加以下代码段:#include <stdio.h>int main(int argc, char *argv[]) {char name[100];printf("Please enter your name: ");scanf("s", name);printf("Hello, s!\n", name);return 0;}重新编译程序并执行,可以看到在终端中会提示用户输入姓名,并输出相应的问候语。
Linux期末大作业程序设计报告实验名称:用GCC编译生成一个计算阶乘的程序。
实验内容:有 main.c 和 factorial.c 两个源文件,用GCC编译生成一个计算阶乘的程序。
实验设备:装有VMware Workstation软件的电脑一台实验目的:结合上课所学知识,能够独立完成预定程序实验代码:-----------------------源文件factorial.c-----------------------#include <stdio.h>#include <stdlib.h>int factorial (int n){if (n <= 1)return 1;elsereturn factorial (n - 1) * n;}-----------------------源文件main.c-----------------------#include <stdio.h>#include <stdlib.h>int n;if (argc < 2) {printf ("Usage: %s n\n", argv [0]); // argv[0] 指向程序运行的全路径名return -1;}else {n = atoi (argv[1]); // argv[1] 指向在DOS命令行中执行程序名后的第一个字符串printf ("Factorial of %d is %d.\n", n, factorial (n));}return 0;}-----------------------利用如下的命令可编译生成可执行文件,并执行程序:$ gcc -o factorial main.c factorial.c$ ./factorial 5Factorial of 5 is 120.实验过程截图:输入:wq保存并退出编译,运行并检查结果实验结果:。
linux程序设计实验报告《Linux程序设计实验报告》在计算机科学领域,Linux操作系统一直是一个备受关注的话题。
作为一个开源的操作系统,Linux拥有强大的稳定性和灵活性,因此在各种领域都得到了广泛的应用。
本次实验报告将介绍我在Linux程序设计实验中的一些经验和收获。
实验一:环境搭建在实验的第一部分,我们需要搭建Linux操作系统的开发环境。
我选择了Ubuntu作为我的开发平台,并安装了gcc编译器和其他必要的工具。
在这个过程中,我学会了如何在Linux系统中安装软件包,配置环境变量以及使用命令行工具进行开发。
实验二:基本程序设计在这一部分,我们需要编写一些简单的程序来熟悉Linux系统的编程环境。
我选择了C语言作为主要的开发语言,因为在Linux系统中C语言是最常用的编程语言之一。
通过编写一些简单的程序,我学会了如何在Linux系统中进行编译、链接和调试。
实验三:文件操作在Linux系统中,文件操作是一个非常重要的部分。
在这个实验中,我们需要编写一些程序来进行文件的读写操作。
我学会了如何使用系统调用来打开、读取和写入文件,以及如何处理文件操作中可能出现的错误。
实验四:进程管理Linux系统是一个多进程的操作系统,因此进程管理是一个非常重要的主题。
在这个实验中,我学会了如何创建新进程、进行进程间通信以及处理进程的状态变化。
通过编写一些简单的多进程程序,我加深了对Linux系统进程管理的理解。
总结通过这次实验,我对Linux系统的程序设计有了更深入的了解。
我学会了如何搭建开发环境、进行基本的程序设计、进行文件操作以及进行进程管理。
这些知识不仅对我未来的学习和工作有着重要的意义,也为我进一步深入学习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操作系统实验报告书(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程序设计实验报告6篇一:Linux上Shell程序设计实验报告深圳大学实验报告课程名称:学院:计算机与软件学院实验时间:实验报告提交时间:教务处制一、实验目标:1. 熟悉vi编辑器的使用2. 掌握简单的Shell编程2.1. 掌握Shell变量的使用2.2. 掌握Shell表达式的使用2.3. 掌握Shell流程控制语句的使用3. 熟悉Shell程序的执行和跟踪二、实验环境与工件湖边Linux实验室Fedora 13三、实验内容与步骤1. 下面哪个命令会实现将变量VAR1和VAR2相加,并且值存入变量VAR3的功能?( D )(5分)[ $VAR3 = $VAR1 + $VAR2 ]$VAR3 = [ $VAR1 + $VAR2 ]$VAR3 = (( VAR1 + VAR2 ))(( VAR3 = VAR1 + VAR2 ))2. 以下程序的输出是?(D )(5分)#!/usr/bin/shA=1while [ $A -lt 10 ]doB=1while [ $B -lt 10 ]dobreak 2echo "Inner loop"doneecho "Outer loop"doneA. “Inner loop”将被打印10次B. “Outer loop”将被打印10次.C. “Outer loop”将被打印10次.D. 什么都没有被打印.3. 请在vi中逐一编辑,修正(如果有误)并执行以下10个shell脚本程序,然后结合所学知识和程序的输出理解各程序中各语句的含义,对各小题附上结果截图。
(每小题5分)3.1. 编写一个简单的回显用户名的shell程序。
#!/bin/bash#filename:dateecho "Mr.$USER,Today is:"echo 'date'echo Whish you a lucky day!3.2.使用if-then语句创建简单的shell程序。
实验报告课程名称:Linux程序设计学院:信息科学与工程学院专业:13计算机班级:2013-1 姓名:学号:2016年 6 月28 日山东科技大学教务处制实验报告1.登录和退出Linux系统用户登录系统时为了使系统能够识别自己必须输入用户名和密码经系统验证无后方能进入系统。
用户登录分两步进行,第一步输入用户的登录名,系统根据该登录名来识别用户,第二步输入用户的口令,该口令是用户自己选择的一个字符串对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字。
必须输入用户的账号,分为1)root——系统管理员账号,该账号可以进行任意操作。
2)普通用户——拥有一定的权限2.其他命令三、实验容常用操作命令。
1、在Linux系统中打开终端,利用快捷键ctrl+alt+T,打开,结果如下:2、退出:实验报告echo `date`echo Wish you a lucky day!#chmod +x dat#./dat2. 使用if-then语句创建简单的shell程序#vi bbbb#!/bin/bash#filename:bbbbecho -n "Do you want to continue: Y or N" read ANSWERif [ $ANSWER = N -o $ANSWER = n ] thenecho "your answer is quit! "fi#chmod +x bbbb#./bbbb3. 使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序#vi ak#!/bin/bash#filename:akecho -n "please input a score:"read SCOREecho "You input Score is $SCORE"if [ $SCORE -ge 60 ];thenecho -n "Congratulation!You Pass the examination."elseecho -n "Sorry!You Fail the examination!"fiecho -n "press any key to continue!"read $GOOUT#chmod +x ak4. 使用for语句创建简单的shell程序#vi mm#!/bin/bash#filename:mmfor ab in 1 2 3 4doecho $abdone#chmod +x mm#./mm5. 使用while语句创建一个计算1-5的平方的shell程序#!/bin/bash#filename:zxint=1while [ $int -le 5 ]dosq=`expr $int \* $int`echo $sqint=`expr $int + 1`doneecho "Job completed"#chmod +x zx#./zx四、实验体会通过这次实验,我懂得了定义SHELL程序设计中的变量,掌握了SHELL程序中实验报告四、实验容1.浏览文件系统(1)运行pwd命令,确定你当前的工作目录。
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程序设计
学院:计算机学院
专业:软件工程班级: 14-3 姓名:张正锟学号: 201401061038
2017年 1月1日
山东科技大学教务处制
实验报告
一、实验目的
熟悉并掌握Linux操作系统基本命令
二、常用的普通命令
1.了解系统的uname,date,w命令
2.了解文件的ls和file命令
3.cat,less,head,tail,nl,wc等命令的使用
4.文本内容查找grep 命令
5.文件权限的修改chmod,chown,umask
6.文件夹操作:mkdir,rmdir
三、用户和组的管理管理
1.探究用户配置文件/etc/passwd, /etc/shadow
/etc/passwd是用户数据库,其中的域给出了用户名、加密口令和用户的其他信息. /etc/shadow是在安装了影子(shadow)口令软件的系统上的影子口令文件。
影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对超级用户( r o o t )可读。
这使破译口令更困难,以此增加系统的安全性。
2.探究组配置文件组的配置文件/etc/group, /etc/gshadow
3.id, who, whoami,groups等命令
四、文件打包与压缩
1.tar压缩和解压
五、软件包管理
1.安装软件tree
2.卸载软件tree
六、进程管理
1.top命令动态显示进程状态
2.ps命令显示瞬时进程状态
3.Kill命令终止一个进程
用gedit打开一个文件a.cpp并在后台运行,显示的进程号为17271,然后用kill命令杀死这个进程,观察到gedit关闭
七、实验总结
通过本次实验,熟悉了好多Linux下面的基本命令,可以看出Linux的命令基本上都有好多参数可选,这样就可以用一条命令完成好多任务,大大提高效率。
另外还学会了当命令不会使用的时候,可以调用man来查看命令的使用方法。
实验报告
一、实验目的
➢掌握Shell命行的运行
➢掌握编写和执行Shell程序的步骤
➢掌握在Shell中使用参数和使用变量的方法
➢掌握表达式比较,循环结构语句和条件结构语句的写法➢掌握在shell脚本中使用函数的方法
二、简单bash脚本
1.编写bash脚本
2.添加执行权限
3.运行结果
三、计算器:变量读入和输出
1.编辑程序
2.添加可执行权限
3.运行程序
四、比较两个数字是否相等
1.编写程序
2.添加可执行权限
五、循环计算累加和
1.编写程序
2.添加可执行权限
3.运行程序
六、利用shell函数计算两数之和
1.编写程序
2.添加可执行权限
七、计算数组累乘
1.编写程序
2.添加可执行权限
3.运行程序
八、实验总结
通过本次实验,我学会了shell中的各种写法,包括流程控制,循环,数组,函数等等,了解到shell在Linux是一种强大的神器,可以批量完成各种操作。
实验报告
一、实验目标
1.熟悉cd、date、pwd、cal、who、echo、clear、passwd等常用命令。
2.掌握在用户主目录下对文件进行的操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等。
3.学会对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。
二、文件操作:修改文件权限
设计一个程序,要求把系统中“/etc”目录下的passwd文件权限,设置成文件所有者可读可写,所有其他用户为只读权限。
1.编写C语言程序
2.编译执行
3.查看结果
三、从终端读写数据
文件的打开可以用open函数,即使原来的文件不存在,也可以用open函数创建文件。
在打开或者创建文件时,可以指定文件的属性及用户的权限等参数。
关闭一个打开的文件,用close函数。
当一个进程终止时,它所有已打开的文件都由内核自动关闭。
1.编写C语言程序
2.查看运行结果
四、文件上锁和锁的释放
1. 题目要求
设计一个程序,要求在“/root”下打开一个名为“5-11file”的文件,如果该文件不存在,则创建此文件。
打开后对其加上强制性的写入锁F_WRLCK,按回车后解锁F_UNLCK,然后加上读出锁F_RDLCK,按回车后再解锁F_UNLCK。
程序在终端1运行后会显示程序的进程号,再打开终端2,会提示此文件处于锁定状态,此时在终端2可以多按回车,观察程序的运行结果。
然后在终端1按回车,等待终端1解锁后,在终端2才可锁定此文件,你可观察到强制性锁是独占状态,当在终端2解锁后,在终端1或2可加读出锁,在读出锁状态终端1或2的运行不需要等待,因为读出锁是处于共享状态,请编写程序并测试程序运行的结果。
2.分析
主程序先用open函数打开文件“5-11file”,如果该文件不存在,则创建此文件;接着调用自定义函数lock_set:先传递参数“F_WRLCK”给文件“5-11file”加锁,并打印输出给文件加锁进程的进程号,然后先传递参数“F_UNLCK”给文件“5-11file”解锁,并打印输出给文件解锁进程的进程号;在自定义函数lock_set给文件上锁语句前,加上判断文件是否上锁的语句,如果文件已经被上锁,打印输出给文件上锁进程的进程号。
3.编写C语言程序
4.执行程序
终端1:
加上写入锁的是: 5403
释放强制性锁: 5403
文件已加上写入锁,其进程号是: 5404
文件已加上写入锁,其进程号是: 5404
文件已加上写入锁,其进程号是: 5404
加上读取锁的是: 5403
释放强制性锁: 5403
终端2:
文件已加上写入锁,其进程号是: 5403
文件已加上写入锁,其进程号是: 5403
文件已加上写入锁,其进程号是: 5403
加上写入锁的是: 5404
释放强制性锁: 5404
加上读取锁的是: 5404
释放强制性锁: 5404
五、流文件的打开和关闭
带缓存的流文件I/O操作,是基于输入/输出(I/O)流机制的文件操作,又做文件流(File Stream)的操作。
下面具体说明文件流的关闭与打开。
1.题目要求
设计一个程序,要求用流文件I/O操作打开文件“5-12file”,如果该文件不存在,则创建此文件。
2.题目分析
带缓存的基于输入/输出(I/O)流机制的文件操作时,打开文件用fopen函数,关闭文件用fclose函数。
3.程序编写
4.运行结果
可以看到程序运行后创建了”5-12file”文件
六、实验总结
通过本次实验,我掌握了Linux下用C语言读写文件的方法,包括带缓存和不带缓存的方法。
另外也学会了用C语言修改文件权限等知识点。
可以看出Linux和C 语言是浑然一体地,可以用C语言无缝地操作Linux系统。
实验报告
在Linux中进程标识有进程号(PID)和它的父进程号(PPID)。
其中,PID唯一地标识一个进程。
PID和PPID都是非零的正整数。
在Linux中获得当前进程的PID 和PPID的系统调用为getpid和getppid函数。
1.程序编写
2.编译运行
可看到,每次运行的pid都是不同的。
四、子进程的创建
进程调用fork函数创建一个新进程,由fork创建的新进程被称为子进程(child process)。
该函数被调用一次,但返回两次,两次返回的区别是子进程的返回值是0,而父进程的返回值则是新子进程的进程PID。
子进程和父进程继续执行fork之后的指令。
子进程是父进程的复制品。
例如,子进程获得父进程数据空间、堆和栈的复制品。
注意,这是子进程所拥有的拷贝。
父、子进程并不共享这些存储空间部分,通常父、子进程共享代码段
1.编写C语言程序
2.运行程序
五、进程的退出
1.题目要求
设计一个程序,要求子进程和父进程都在显示输出一些文字后分别用exit和_exit函数终止进程。
2.题目分析
由于printf函数使用的是缓冲I/O方式,遇到”\n”时自动将数据从缓冲区读出。
可以看出,调用exit函数时,缓冲区中的记录能正常输出;而调用_exit时,缓冲区中的记录无法输出。
Linux标准函数库中,有一种操作称为“缓冲I/O”,每次读写文件时,都是在缓冲区里读取、写入。
写入文件时,等满足一定条件才将缓冲区的内容一次性写入文件。
但是,有时没有满足选定的条件,数据只存在缓冲区内,如果这时调用_exit函数直接关闭进程,缓冲区中的数据就会丢失。
3.程序编写
4.程序执行
可以看到,程序只在父进程进行了输出。
这是因为子进程调用了_exit()函数,没有进行缓冲区IO的刷新。
六、实验总结
通过本次试验,我了解了Linux的进程机制,学会了基本的进程创建,进程终止,学会了在Linux下用C语言操作进程。
了解到了Linux是一个多任务操作系统,允许我们使用计算机系统,多个进程并发执行。
实验报告
3.程序执行
实验报告。