Linux程序设计 实验报告 大作业

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

实验报告

课程名称:LINUX程序设计

学院:计算机学院

专业:软件工程班级:14-3 姓名:张正锟学号:1038

2017年1月1日

山东科技大学教务处制

实验报告

组别姓名张正锟同组实验者

实验项目名称实验一熟悉Linux命令实验日期第11周周四9,10节

教师评语

实验成绩指导教师

实验目的

熟悉并掌握Linux操作系统基本命令

常用的普通命令

了解系统的uname,date,w命令

了解文件的ls和file命令

cat,less,head,tail,nl,wc等命令的使用

文本内容查找grep 命令

文件权限的修改chmod,chown,umask

文件夹操作:mkdir,rmdir

用户和组的管理管理

探究用户配置文件/etc/passwd, /etc/shadow

/etc/passwd是用户数据库,其中的域给出了用户名、加密口令和用户的其他信息. /etc/shadow是在安装了影子(shadow)口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对超级用户( r o o t )可读。这使破译口令更困难,以此增加系统的安全性。

探究组配置文件组的配置文件/etc/group, /etc/gshadow

id, who, whoami,groups等命令

文件打包与压缩

tar压缩和解压

软件包管理

安装软件tree

卸载软件tree

进程管理

top命令动态显示进程状态

ps命令显示瞬时进程状态

Kill命令终止一个进程

用gedit打开一个文件并在后台运行,显示的进程号为17271,然后用kill命令杀死这个进程,观察到gedit关闭

实验报告

组别姓名张正锟同组实验者

实验项目名称实验二Shell编程实验日期第12周周四9,10节

教师评语

实验成绩指导教师

实验目的

掌握Shell命行的运行

掌握编写和执行Shell程序的步骤

掌握在Shell中使用参数和使用变量的方法

掌握表达式比较,循环结构语句和条件结构语句的写法

掌握在shell脚本中使用函数的方法

简单bash脚本

编写bash脚本

添加执行权限

运行结果

计算器:变量读入和输出

编辑程序

添加可执行权限

运行程序

比较两个数字是否相等编写程序

添加可执行权限

运行程序

循环计算累加和

编写程序

添加可执行权限

运行程序

利用shell函数计算两数之和编写程序

添加可执行权限

运行程序

计算数组累乘

编写程序

添加可执行权限

运行程序

实验总结

通过本次实验,我学会了shell中的各种写法,包括流程控制,循环,数组,函数等等,了解到shell 在Linux是一种强大的神器,可以批量完成各种操作。

实验报告

组别姓名张正锟同组实验者

实验项目名称实验三文件操作实验日期第13周周四9,10节

教师评语

实验成绩指导教师

实验目标

1.熟悉cd、date、pwd、cal、who、echo、clear、passwd等常用命令。

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

3.学会对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。

二、文件操作:修改文件权限

设计一个程序,要求把系统中“/etc”目录下的passwd文件权限,设置成文件所有者可读可写,所有其他用户为只读权限。

编写C语言程序

编译执行

查看结果

从终端读写数据

文件的打开可以用open函数,即使原来的文件不存在,也可以用open函数创建文件。在打开或者创建文件时,可以指定文件的属性及用户的权限等参数。

关闭一个打开的文件,用close函数。当一个进程终止时,它所有已打开的文件都由内核自动关闭。

编写C语言程序

查看运行结果

四、文件上锁和锁的释放

1. 题目要求

设计一个程序,要求在“/root”下打开一个名为“5-11file”的文件,如果该文件不存在,则创建此文件。打开后对其加上强制性的写入锁F_WRLCK,按回车后解锁F_UNLCK,然后加上读出锁F_RDLCK,按回车后再解锁F_UNLCK。程序在终端1运行后会显示程序的进程号,再打开终端2,会提示此文件处于锁定状态,此时在终端2可以多按回车,观察程序的运行结果。然后在终端1按回车,等待终端1解锁后,在终端2才可锁定此文件,你可观察到强制性锁是独占状态,当在终端2解锁后,在终端1或2可加读出锁,在读出锁状态终端1或2的运行不需要等待,因为读出锁是处于共享状态,请编写程序并测试程序运行的结果。

分析

主程序先用open函数打开文件“5-11file”,如果该文件不存在,则创建此文件;接着调用自定义函数lock_set:先传递参数“F_WRLCK”给文件“5-11file”加锁,并打印输出给文件加锁进程的进程号,然后先传递参数“F_UNLCK”给文件“5-11file”解锁,并打印输出给文件解锁进程的进程号;在自定义函数lock_set给文件上锁语句前,加上判断文件是否上锁的语句,如果文件已经被上锁,打印输出给文件上锁进程的进程号。

编写C语言程序

相关文档
最新文档