本实验为Linux Shell编程课程第四次实践环节,重点在于深入学习和掌握Shell脚本的高级应用技巧与命令行工具的综合运用。通过编写复杂脚本,增强问题解决能力及自动化操作水平。
### 实验目的
1. 掌握硬盘分区、文件系统创建、挂载及卸载的方法。
2. 掌握定时器程序的配置方法(crontab文件的编写)。
### 实验环境
Ubuntu操作系统。
### 实验说明
【Linux Shell程序设计实验四】涵盖了三个核心知识点:硬盘分区管理、文件系统的创建与挂载,以及Linux定时任务(crontab)的配置。这些技能是理解和掌握Linux系统管理和自动化运维的基础。
1. **硬盘分区**
在Linux中,通常使用`fdisk`工具进行硬盘分区操作。例如,在实验过程中添加了一个4GB的磁盘,并利用`fdisk -l`命令查看新增加的磁盘信息。接着通过输入`fdisk devsdb`进入交互模式创建了两个主分区(各1GB),一个扩展分区(2GB)以及两个逻辑分区(每部分区大小为1GB)。这些操作涉及到了MBR和GPT两种不同的分区表类型,同时也包括设置分区类型标识符的过程。
2. **文件系统创建、挂载与卸载**
在新建立的磁盘分区内使用`mkfs`命令来创建相应的文件系统。例如:执行`mkfs -t ext3 devsdb5`以生成一个ext3类型的文件系统。接下来,通过`mkdir`指令为该文件系统指定一个挂载点,并利用`mount`命令将其与目录进行关联;如示例中的操作是使用 `sudo mount devsdb5 data15`. 之后可以通过运行 `df -TH` 来确认挂载是否成功。创建完相关文件后,可以执行`umount`指令来卸载该分区,一旦卸载完成,则无法再访问到之前在该目录下存放的数据。
3. **Linux定时任务(crontab)**
`crontab`是用于调度和定期执行命令或脚本的工具。实验中编写了一个名为 `backup.sh` 的脚本来备份特定文件夹内的所有脚本,然后利用 crontab 配置每天9:40自动运行此脚本。具体操作包括使用 vi 编辑器创建并编辑该 shell 脚本,并通过命令如 `crontab -e` 来设置定时任务,例如:每日的 15 分钟后九点执行 `backup.sh`, 即为 `15 9 * * * pathtobackup.sh`. 使用 crontab 的其他功能(如 `-l`)来列出已存在的所有定时作业。
通过这项实验,学生可以深入了解 Linux 系统中的存储管理和自动化任务调度机制。这对系统管理员和开发人员来说是非常实用的技能。此外,本实验还强调了利用 `man` 命令获取帮助以及在线搜索问题解决方法的重要性,这些是自主学习与解决问题的关键能力。熟悉并掌握上述基础操作对于提高工作效率及应对实际工作中的各种挑战具有重要意义。