本课程通过模拟实验环境,深入讲解和实践Linux操作系统中的文件系统操作与管理,适合初学者掌握基础命令及概念。
在任意操作系统下创建一个大文件,并将其视为模拟的Linux磁盘,在此20MB的空间内实现一个简单的Linux文件系统。该系统的具体要求如下:
1. 磁盘块大小为1k,包含以下信息:
- 文件类型(包括正规文件、i节点、目录等):占1字节
- 物理地址(索引表),共有13个条目,每个条目2字节。
- 文件长度:4字节
- 联结计数:1字节
2. 磁盘的0号块为超级块。栈大小设定为50。空闲磁盘管理采用位示图法和成组链接方法。
3. 每创建一个目录,将分配4个物理块用于存储文件名信息(每个文件名为14字节)。
4. 目录项包含i节点号(2字节),超级块后的第一个至第20号为i节点区,第二个区域从20到30是根目录。
该管理程序需具备以下功能:
- 显示整个系统的详细信息。文件可以设置读写保护。
- 支持全路径名和相对路径名的切换,并通过“/”进行分隔。
- 更改当前工作目录,若目标不存在则提示错误。
- 展示指定或默认目录下的所有内容(包括物理地址、权限码等);使用带/s参数的dir命令可显示子目录信息。
- 在现有位置或者特定路径下创建新目录。重复名称时给出警告消息。
- 删除整个文件夹及其内含的所有项目,若非空则需确认是否继续删除操作。
- 创建指定长度的新文件,并提供其名字。
- 打开一个已存在的文件并显示其所占的磁盘区块信息。
- 移除特定或当前目录下的某项。如果该目标不存在,则提示错误。
程序流程如下:
1. 初始化系统中的所有重要数据结构;
2. 显示命令行界面,等待用户输入指令;
3. 分析接收到的命令,并执行相应的操作;若为无效命令则显示相关错误信息并返回主菜单。
4. 用户可以随时键入EXIT来结束整个程序。