来自广东工业大学 UNIX 网络操作系统 实验 报告
一、 实验目的
1. 掌握UNIX系统的目录和文件管理命令。
2. 掌握shell的输入输出重定向操作符。
3. 编写shell脚本文件,并调试、执行它。
二、 实验要求
1. 要求每人能独立完成实验。能独立搭建UNIX操作系统,掌握OpenSolaris的安装、运行和使用。
2. 使用自己的账号登录UNIX 系统, 用户名为:学号和姓名汉语拼音全拼。在用户主目录下,新建子目录,子目录名为:专业和班级(可以是拼音)。
3. 在新建的子目录下完成全部练习,所有的操作练习均要截图显示。
4. 所有的实验内容必须在命令行方式下进行操作。
5. 纸制版的封面单面打印,其他页面必须双面打印。全班刻一张光盘。
### 实验知识点总结
#### 一、实验目的与要求
**实验目的:**
1. **目录和文件管理命令:** 掌握基本的文件管理命令,如`cd`(切换目录)、`ls`(列出目录内容)、`mkdir`(创建目录)、`rm`(删除文件或目录)等。
2. **输入输出重定向操作符:** 学会使用`>`(覆盖写入文件)、`>>`(追加写入文件)以及管道`|`(将一个命令的输出作为另一个命令的输入)等操作符。
3. **Shell脚本编写:** 编写简单的Shell脚本文件,包括如何定义变量、条件判断、循环结构等。
**实验要求:**
1. **独立完成实验:** 要求每位学生能够独立搭建并使用UNIX操作系统,特别是OpenSolaris的操作与使用。
2. **账号设置:** 使用个人学号和姓名汉语拼音全拼作为用户名登录系统,在主目录下创建子目录,子目录名应为个人的专业和班级(拼音)。
3. **操作记录:** 所有的操作练习都需要通过截图来记录。
4. **命令行操作:** 所有的实验内容都必须在命令行界面下完成。
5. **文档格式:** 纸质版的封面单面打印,其他页面双面打印;实验报告以光盘形式提交,全班共用一张光盘。
#### 二、实验内容分析
**1. 显示操作系统版本:**
- 使用`uname -a`命令来显示当前UNIX系统的版本信息。
**2. 显示用户主目录:**
- 使用`pwd`命令显示当前工作目录的完整路径。
**3. 查看当前日期和时间:**
- 使用`date`命令来获取系统当前的日期和时间,了解不同的日期格式输出(如%H与%r,%y与%D的区别)。
**4. 查看当前登录用户列表:**
- 使用`who`命令查看当前登录在系统中的用户列表,并结合选项查看系统启动时间和当前用户总数。
- 比较`whoami`和`who`命令的不同之处。
**5. 使用vi编辑器:**
- 创建一个名为`notes`的文本文件,用于编写会议通知,并完成文件的编辑操作,如统计文件大小、修改文件内容等。
**6. 使用find命令:**
- 学习使用`find`命令来搜索特定的文件或目录,如查找名为`passwd`的文件、查找一天前创建的文件等。
- 需要先创建一些测试用的文件和文件夹。
**7. Shell脚本编写与运行:**
- 编写一个名为`flower`的脚本文件,实现以下功能:
- 显示当前用户名。
- 显示当前主机名。
- 计算水仙花数。
- 使用重定向符将脚本的输出保存到文件中。
**8. C语言程序编写与运行:**
- 编写一个C程序,实现从十六进制转换为十进制的功能。
- 安装GCC编译器来编译并运行程序。
**9. Java程序编写与运行:**
- 编写一个Java程序,实现将一个字符串按字符从大到小排序的功能。
- 安装JDK并使用`javac`命令编译程序。
#### 三、结论与体会
1. **命令操作题:** 前面涉及的基本命令操作较为简单,可通过参考书籍《UNIX初级教程》逐步学习。
2. **Shell脚本编制:** 相对复杂的语法需要通过查阅教程和网络资源来学习。
3. **编程题:** C与Java编程题虽然功能简单,但配置开发环境是主要挑战之一,需要安装相应的编译器和工具。
通过本次实验的学习,加深了对UNIX系统及其衍生系统的理解和应用能力,掌握了基本的文件管理和Shell脚本编写技巧,同时也提升了编程能力。
1