华南理工大学
《操作系统》课程实验报告
实验题目:
观察 Linux 的行为、SHELL 编程
姓名:
学号:
班级: 组别:
合作者:
指导教师:
实验概述
【实验目的及要求】
实验目的:
1.了解 Linux proc 文件系统;
2.加深对 Linux 系统的理解;
3.增强 Linux 系统管理知识。
4.熟悉 linux 常用命令,为以后的实验打下良好基础;
5.熟悉 vi 编辑器的使用;
6.了解 Shell 程序的语法规则,能编写简单的 Shell 程序。
实验要求:
【实验环境】
操作系统:Windows XP
实验内容
【实验过程】
一、实验步骤:在 Linux 中,proc 文件系统提供了一套在用户态检查内核状态和
系统特征的机制。proc 文件系统将进程的地址空间、系统的硬件信息、系统相关
机制(中断、I/O)等内容全部设置为虚拟的 Linux 文件,为访问系统内核数据的
操作提供接口。
(1) 以 root 登录系统,并进入/proc 目录,键入 ls 命令,查看/proc 下的内容,同
时查看每个文件的读写权限。
(2) 根据/proc 下的信息,回答:CPU 的类型和型号、当前 Linux 版本、从启动到
当前时刻所经过的时间、当前内存状态。
(3) 使用常用的 Linux 命令,主要包括如下命令:
date, mail, write, man, ls, cat, mv, grep, tail, head, cp, wc, pwd, who 等;
说明命令的作用,提供这些命令运行结果(截图或者复制终端文本)。
(4) 使用 vi 编辑器编辑文件,熟悉 vi 编辑器的各种操作模式和常用命令。
(5) 使用 vi 编辑器编写一段 Shell 程序,取名为 mycal,实现与 Linux 中 cal 命令类
似的功能,当输入:
$mycal [月份名] 年时,屏幕输出指定的年月的月历。例如:
$mycal October 2009
屏幕输出 2009 年 10 月的月历。
注:参数可以是英文或者是数字。
二、实验数据:
(1)以 root 登录系统,并进入/proc 目录,键入 ls 命令,查看/proc 下的内容,
同时查看每个文件的读写权限。
根据/proc 下的信息,回答:CPU 的类型和型号、当前 Linux 版本、从启动到当前
时刻所经过的时间、当前内存状态。
a. 使用 cat 命令在/proc 下的 cpuinfo 中查看 CPU 的类型与型号
(2)
b. 通过查看 version 可以查看 Linux 版本
c.查看 uptime 可以看到其启动时间(以秒为单位)
d.free 命令可以看到内存状态
(3) 使用常用的 Linux 命令,主要包括如下命令:
date, mail, write, man, ls, cat, mv, grep, tail, head, cp, wc, pwd, who 等;
说明命令的作用,提供这些命令运行结果(截图或者复制终端文本)。
a. date 命令
使用 date 命令可以显示当前具体的时间、日期
b. mail 命令
使用 mail 命令发送邮件,-s 后为邮件标题,之后跟收件人
c. man 命令
man 命令提供查询的指令的详细信息
输入 man deluser 出现以下界面
d. write 命令
使用 write 命令发送信息给其他用户
e.
ls 命令
ls 命令用于显示目录内容
f. mv 命令
mv 命令用于移动文件或重命名
g.
tail 命令
tail 命令用于显示文件结束部分
h. head 命令
head 显示文件开始部分
i.
i. cp 命令
cp 即 copy,用于拷贝文件
j. wc 命令
统计指定文件中字节数,字数,行数
k. pwd 命令
pwd 命令用于显示当前目录信息
l. who 命令
查询登录用户信息
(4) 使用 vi 编辑器编辑文件,熟悉 vi 编辑器的各种操作模式和常用命令。
a
vi 的三种模式
4.2 常用命令
:q //quit 退出 vi 编辑器
:w //write 保存修改的内容
:wq //保存并退出
:q!
:w!
//强制退出,当对文本内容作了修改而不想要保存时
//强制保存,当没有文本的写权限时
:set number 或 :set nu //显示行号
:set nonumber 或 :set nonu //取消显示行号
:/内容/ 或/内容 //查找指定内容 //n 将光标移动到下一个目标 //N 上一个
:n //跳转到第 n 行
(5) 使用 vi 编辑器编写一段 Shell 程序,取名为 mycal,实现与 Linux 中 cal 命令类
似的功能,当输入:
$mycal [月份名] 年时,屏幕输出指定的年月的月历。例如:
$mycal October 2009