linux程序设计实验报告大作业.pdf
《linux程序设计实验报告大作业.pdf》由会员分享,可在线阅读,更多相关《linux程序设计实验报告大作业.pdf(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实 验 报 告课程名称:LINUX 程序设计学院:计算机学院专 业:软件工程班 级:14-3姓 名:张正锟学 号:10382017 年 1 月 1 日山 东 科 技 大 学 教 务 处 制实 验 报 告组别实验项目名称教师评语实验成绩姓名张正锟同组实验者实验日期第 11 周周四9,10 节实验一 熟悉 Linux 命令指导教师一、一、实验目的实验目的熟悉并掌握 Linux 操作系统基本命令二、二、常用的普通命令常用的普通命令1.1.了解系统的了解系统的 uname,date,wuname,date,w 命令命令2.2.了解文件的了解文件的 lsls 和和 filefile 命令命令3.3.ca
2、t,less,head,tail,nl,wccat,less,head,tail,nl,wc 等命令的使用等命令的使用4.4.文本内容查找文本内容查找 grepgrep 命令命令5.5.文件权限的修改文件权限的修改 chmod,chown,umaskchmod,chown,umask6.6.文件夹操作:文件夹操作:mkdir,rmdirmkdir,rmdir三、三、用户和组的管理管理用户和组的管理管理1.1.探究用户配置文件探究用户配置文件/etc/passwd,/etc/shadow/etc/passwd,/etc/shadow/etc/passwd 是用户数据库,其中的域给出了用户名、加密
3、口令和用户的其他信息./etc/shadow 是在安装了影子(shadow)口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow 中,而后者只对超级用户(r o o t)可读。这使破译口令更困难,以此增加系统的安全性。2.2.探究组配置文件组的配置文件探究组配置文件组的配置文件/etc/group,/etc/gshadow/etc/group,/etc/gshadow3.3.id,who,whoami,groupsid,who,whoami,groups 等命令等命令四、四、文件打包与压缩文件打包与压缩1.1.tartar 压缩和解
4、压压缩和解压五、五、软件包管理软件包管理1.1.安装软件安装软件 treetree2.2.卸载软件卸载软件 treetree六、六、进程管理进程管理1.1.toptop 命令动态显示进程状态命令动态显示进程状态2.2.psps 命令显示瞬时进程状态命令显示瞬时进程状态3.3.KillKill 命令终止一个进程命令终止一个进程用 gedit 打开一个文件并在后台运行,显示的进程号为17271,然后用kill 命令杀死这个进程,观察到 gedit 关闭七、七、实验总结实验总结通过本次实验,熟悉了好多 Linux 下面的基本命令,可以看出 Linux 的命令基本上都有好多参数可选,这样就可以用一条命
5、令完成好多任务,大大提高效率。另外还学会了当命令不会使用的时候,可以调用 man 来查看命令的使用方法。实 验 报 告组别实验项目名称教师评语实验成绩姓名张正锟同组实验者实验日期第 12 周周四9,10 节实验二 Shell 编程指导教师一、一、实实验目的验目的掌握 Shell 命行的运行掌握编写和执行 Shell 程序的步骤掌握在 Shell 中使用参数和使用变量的方法掌握表达式比较,循环结构语句和条件结构语句的写法掌握在 shell 脚本中使用函数的方法二、二、简简单单 bashbash 脚本脚本1.1.编写编写 bashbash 脚本脚本2.2.添加执行权限添加执行权限3.3.运行结果运
6、行结果三、三、计计算器:变量读入和输出算器:变量读入和输出1.1.编辑程序编辑程序2.2.添加可执行权限添加可执行权限3.3.运行程序运行程序四、四、比比较两个数字是否相等较两个数字是否相等1.1.编写程序编写程序2.2.添加可执行权限添加可执行权限3.3.运行程序运行程序五、五、循循环计算累加和环计算累加和1.1.编写程序编写程序2.2.添加可执行权限添加可执行权限3.3.运行程序运行程序六、利用六、利用 shellshell 函数计算两数之和函数计算两数之和1.1.编写程序编写程序2.2.添加可执行权限添加可执行权限3.3.运行程序运行程序七、计算数组累乘七、计算数组累乘1.1.编写程序编
7、写程序2.2.添加可执行权限添加可执行权限3.3.运行程序运行程序八、八、实验总结实验总结通过本次实验,我学会了 shell 中的各种写法,包括流程控制,循环,数组,函数等等,了解到 shell 在 Linux 是一种强大的神器,可以批量完成各种操作。实 验 报 告组别实验项目名称姓名张正锟同组实验者实验日期第 13 周周四9,10 节实验三文件操作教师评语实验成绩指导教师一、一、实实验目标验目标1熟悉 cd、date、pwd、cal、who、echo、clear、passwd 等常用命令。?2掌握在用户主目录下对文件进行的操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删
8、除等。?3学会对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。?二、二、文件操作:修改文件权限文件操作:修改文件权限设计一个程序,要求把系统中“/etc”目录下的 passwd 文件权限,设置成文件所有者可读可写,所有其他用户为只读权限。1.1.编写编写 C C 语言程序语言程序2.2.编译执行编译执行3.3.查看结果查看结果三、三、从终端读写数据从终端读写数据文件的打开可以用 open 函数,即使原来的文件不存在,也可以用 open 函数创建文件。在打开或者创建文件时,可以指定文件的属性及用户的权限等参数。关闭一个打开的文件,用 close 函数。当一个
9、进程终止时,它所有已打开的文件都由内核自动关闭。1.1.编写编写 C C 语言程序语言程序2.2.查看运行结果查看运行结果四、文件上锁和锁的释放四、文件上锁和锁的释放1.1.题目要求题目要求设计一个程序,要求在“/root”下打开一个名为“5-11file”的文件,如果该文件不存在,则创建此文件。打开后对其加上强制性的写入锁 F_WRLCK,按回车后解锁 F_UNLCK,然后加上读出锁 F_RDLCK,按回车后再解锁 F_UNLCK。程序在终端 1 运行后会显示程序的进程号,再打开终端 2,会提示此文件处于锁定状态,此时在终端2 可以多按回车,观察程序的运行结果。然后在终端 1 按回车,等待终
10、端 1 解锁后,在终端 2 才可锁定此文件,你可观察到强制性锁是独占状态,当在终端 2 解锁后,在终端 1 或 2 可加读出锁,在读出锁状态终端 1 或 2 的运行不需要等待,因为读出锁是处于共享状态,请编写程序并测试程序运行的结果。2.2.分析分析主程序先用 open 函数打开文件“5-11file”,如果该文件不存在,则创建此文件;接着调用自定义函数lock_set:先传递参数“F_WRLCK”给文件“5-11file”加锁,并打印输出给文件加锁进程的进程号,然后先传递参数“F_UNLCK”给文件“5-11file”解锁,并打印输出给文件解锁进程的进程号;在自定义函数 lock_set给文
11、件上锁语句前,加上判断文件是否上锁的语句,如果文件已经被上锁,打印输出给文件上锁进程的进程号。3.3.编写编写 C C 语言程序语言程序4.4.执行程序执行程序终端终端 1 1:加上写入锁的是:5403释放强制性锁:5403文件已加上写入锁,其进程号是:5404文件已加上写入锁,其进程号是:5404文件已加上写入锁,其进程号是:5404加上读取锁的是:5403释放强制性锁:5403终端终端 2 2:文件已加上写入锁,其进程号是:5403文件已加上写入锁,其进程号是:5403文件已加上写入锁,其进程号是:5403加上写入锁的是:5404释放强制性锁:5404加上读取锁的是:5404释放强制性锁:
12、5404五、五、流文件的打开和关闭流文件的打开和关闭带缓存的流文件 I/O 操作,是基于输入/输出(I/O)流机制的文件操作,又做文件流(File Stream)的操作。下面具体说明文件流的关闭与打开。1.1.题目要求题目要求设计一个程序,要求用流文件 I/O 操作打开文件“5-12file”,如果该文件不存在,则创建此文件。2.2.题目分析题目分析带缓存的基于输入/输出(I/O)流机制的文件操作时,打开文件用fopen 函数,关闭文件用 fclose 函数。3.3.程序编写程序编写4.4.运行结果运行结果可以看到程序运行后创建了”5-12file”文件六、实验总结六、实验总结通过本次实验,我
13、掌握了 Linux 下用 C 语言读写文件的方法,包括带缓存和不带缓存的方法。另外也学会了用 C 语言修改文件权限等知识点。可以看出 Linux 和 C语言是浑然一体地,可以用 C 语言无缝地操作 Linux 系统。实 验 报 告组别实验项目名称姓名张正锟同组实验者实验日期第 14 周周四9,10 节实验四进程控制教师评语实验成绩指导教师一、一、实验目标实验目标1.理解进程的基本概念及进程的结构2.学会 Linux 环境下进程的相关函数的应用3.掌握守护进程的概念、启动和建立4.掌握进程操作程序的编写二、二、进程简介进程简介进程是正在执行中的程序。当我们在终端执行命令时,Linux 就会建立一
14、个进程,而当我们的程序执行完成时,这个进程就被终止了。Linux 是一个多任务操作系统,允许多个用户使用计算机系统,多个进程并发执行。Linux 环境下启动进程有两种主要途径:手工启动和调度启动。三、三、程序显示进程号和父进程号程序显示进程号和父进程号在 Linux 环境下进程创建时,系统会分配一个唯一的数值给每个进程,这个数值就称为进程标识符(PID)。在 Linux 中进程标识有进程号(PID)和它的父进程号(PPID)。其中,PID 唯一地标识一个进程。PID 和 PPID 都是非零的正整数。在 Linux 中获得当前进程的 PID和 PPID 的系统调用为 getpid 和 getpp
15、id 函数。1.1.程序编写程序编写2.2.编译运行编译运行可看到,每次运行的 pid 都是不同的。四、子进程的创建四、子进程的创建进程调用 fork 函数创建一个新进程,由 fork 创建的新进程被称为子进程(childprocess)。该函数被调用一次,但返回两次,两次返回的区别是子进程的返回值是 0,而父进程的返回值则是新子进程的进程 PID。子进程和父进程继续执行 fork 之后的指令。子进程是父进程的复制品。例如,子进程获得父进程数据空间、堆和栈的复制品。注意,这是子进程所拥有的拷贝。父、子进程并不共享这些存储空间部分,通常父、子进程共享代码段1.1.编写编写 C C 语言程序语言程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 程序设计 实验 报告 作业
限制150内