操作系统实验(七)文件管理

合集下载

操作系统文件管理实验报告

操作系统文件管理实验报告

操作系统文件管理实验报告操作系统文件管理实验报告一、实验目的操作系统是计算机系统中的核心软件之一,负责管理计算机硬件资源和提供用户与计算机硬件之间的接口。

文件管理是操作系统的重要功能之一,它涉及到文件的创建、读取、写入、删除等操作。

本次实验旨在通过编写简单的文件管理程序,加深对操作系统文件管理机制的理解。

二、实验环境本次实验使用C语言编写,运行在Linux操作系统上。

实验过程中使用了gcc 编译器和Linux系统提供的文件管理函数。

三、实验内容1. 文件的创建在操作系统中,文件是存储在存储介质上的数据集合。

文件的创建是指在存储介质上分配一块空间,并为其分配一个唯一的文件名。

在本次实验中,我们使用了Linux系统提供的open函数来创建文件。

open函数接受两个参数,第一个参数是文件名,第二个参数是文件的打开模式。

通过调用open函数,我们可以在指定的路径下创建一个文件。

2. 文件的读取和写入文件的读取和写入是文件管理的核心操作。

在本次实验中,我们使用了Linux 系统提供的read和write函数来实现文件的读取和写入。

read函数接受三个参数,第一个参数是文件描述符,第二个参数是存储读取数据的缓冲区,第三个参数是要读取的数据的长度。

write函数也接受三个参数,第一个参数是文件描述符,第二个参数是要写入的数据的缓冲区,第三个参数是要写入的数据的长度。

通过调用read和write函数,我们可以实现对文件的读取和写入操作。

3. 文件的删除文件的删除是指在存储介质上释放文件占用的空间,并删除文件的相关信息。

在本次实验中,我们使用了Linux系统提供的unlink函数来删除文件。

unlink函数接受一个参数,即要删除的文件名。

通过调用unlink函数,我们可以删除指定的文件。

四、实验步骤1. 创建文件首先,我们使用open函数创建一个文件。

在调用open函数时,需要指定文件的路径和文件的打开模式。

文件的路径可以是绝对路径或相对路径,文件的打开模式可以是只读、只写、读写等。

操作系统文件管理实验报告

操作系统文件管理实验报告

操作系统文件管理实验报告电大教师评语教师签字日期成绩学生姓名学号实验名称操作系统文件管理实验实验报告一、实验目的1、加深对文件、目录、文件系统等概念的理角2、掌握 Llnu_ 文件系统的目录结构3、掌握有关 Llnu_ 文件系统操作的常用命令4、了解有关文件案例性方面的知识二、实验要求:1、正确使用文件管理命令,能熟练地对文件进行浏览、拷贝、移动和删除。

2、能熟练地确定和更改工作目录,查看内容和文件属性,创建和删除目录。

3、正确地理解文件的权限,并能进行相应更改。

4、理解文件的类型及其表示形式。

5、理解文件名的表示形式,在模式匹配中能正确使用通配符。

三、实验步骤( 一) 浏览文件系统 1、运行 pwd 命令。

确定当前的工作目录。

2、文件列表。

使用 ls 命令显示当前工作目录的内容。

使用 ls-l 命令显示文件列表,对照屏幕上的显示信息,理解各字段的含义。

使用 ls-ai 命令显示文件列表,观察显示的信息。

注意列出的前两项,它们分别表示当前目录和父目录。

看一下,是否还有其他隐藏的文件? 运行不带-a 选项的 ls 命令。

注意,文件的 I 节点号不再出现。

运行不带-i 选项的 ls 命令,注意,怎么不再显示隐藏文件了。

3、目录操作。

使用 mkdir 命令建立一个子目录。

执行带 ls-d 命令,观察有关子目录的信息。

执行 cd/命令,将工作目录改到根目录(/)上。

使用绝对路径和相对路径两种方式,并执行 pwd 命令确认当前工作目录。

执行 ls/命令列出根目录的内容,再分别列出各子目录的内容。

体会各子目录的作用以及访问权限。

执行 ls-l /dev 命令列出/dev 的内容,注意各行第一个字符 b 和c 的含义以及规定的访问权限。

执行不带参数的命令 cd,然后用 pwd 命令确认当前的工作目录是什么。

执行命令 cd../...工作目录移到什么地方了? ( 二) 查看文件执行 cd 命令,将工作目录改到主目录上。

文件管理实验报告

文件管理实验报告

文件管理实验报告一、实验目的本次文件管理实验旨在深入了解和掌握文件管理的基本原理和操作方法,提高对文件系统的认识和运用能力,培养良好的文件管理习惯,以提高工作和学习的效率。

二、实验环境操作系统:Windows 10应用软件:资源管理器三、实验内容及步骤(一)文件的创建与命名1、打开资源管理器,选择合适的存储位置(如桌面、D 盘等)。

2、右键单击空白处,选择“新建”,然后根据需要创建文本文档、Word 文档、Excel 表格等不同类型的文件。

3、为创建的文件进行合理的命名,遵循简洁、清晰、有意义的原则,避免使用模糊、无意义或过长的文件名。

(二)文件的复制、移动与删除1、复制文件选中要复制的文件,按下Ctrl +C 组合键或右键单击选择“复制”。

导航到目标位置,按下 Ctrl + V 组合键或右键单击选择“粘贴”。

2、移动文件选中要移动的文件,按下Ctrl +X 组合键或右键单击选择“剪切”。

导航到目标位置,按下 Ctrl + V 组合键或右键单击选择“粘贴”。

3、删除文件选中要删除的文件,按下 Delete 键或右键单击选择“删除”。

在弹出的确认对话框中,选择“是”确认删除。

(三)文件的搜索与查找1、利用资源管理器的搜索功能,在搜索框中输入文件名、关键词或文件类型等信息,快速找到所需文件。

2、学会使用高级搜索选项,如指定搜索范围、修改时间、文件大小等条件,进一步精确搜索结果。

(四)文件的分类与整理1、根据文件的类型(如文档、图片、音频、视频等)、用途(工作、学习、娱乐等)或项目等进行分类。

2、创建不同的文件夹来存放各类文件,并为文件夹进行清晰的命名。

3、将相关文件移动到对应的文件夹中,保持文件系统的整洁和有序。

(五)文件的备份与恢复1、选择重要的文件或文件夹,将其复制到外部存储设备(如 U 盘、移动硬盘)或云存储服务(如百度网盘、OneDrive)中进行备份。

2、模拟文件丢失或损坏的情况,从备份中恢复文件,验证备份的有效性。

操作系统文件管理系统模拟实验

操作系统文件管理系统模拟实验

操作系统文件管理系统模拟实验在计算机科学中,操作系统是一种系统软件,负责管理计算机硬件和软件资源,并为用户和应用程序提供接口。

文件管理系统是操作系统的一个重要组成部分,它负责管理计算机系统中的文件和目录,以及提供对它们的访问和操作。

本次实验旨在模拟操作系统中文件管理系统的基本功能和操作。

我们将使用一个虚拟的文件系统,通过命令行界面来模拟用户与文件系统的交互。

以下是实验的具体内容和步骤:1. 创建虚拟文件系统首先,我们需要创建一个虚拟的文件系统。

文件系统由文件和目录组成,可以通过树状结构来表示。

我们可以使用一个数据结构来模拟文件系统的存储和管理。

2. 初始化文件系统在开始操作文件系统之前,我们需要初始化文件系统。

这包括创建根目录和设置当前目录为根目录。

3. 文件和目录的创建与删除文件和目录是文件系统的基本单位。

我们可以通过命令来创建和删除文件和目录。

例如,使用"mkdir"命令创建一个目录,使用"touch"命令创建一个空文件,使用"rm"命令删除文件或目录。

4. 文件和目录的访问权限文件和目录可以设置不同的访问权限,以保护文件系统的安全性。

我们可以使用"chmod"命令来修改文件或目录的权限。

权限通常包括读、写和执行权限。

5. 文件和目录的重命名和移动我们可以使用"mv"命令来重命名文件或目录,使用"cp"命令来复制文件或目录,使用"mv"命令来移动文件或目录。

6. 文件和目录的查找和显示我们可以使用"ls"命令来显示当前目录下的文件和目录,使用"cd"命令来切换当前目录,使用"pwd"命令来显示当前目录的路径。

此外,我们还可以使用"find"命令来查找文件或目录。

7. 文件和目录的读写操作文件可以被读取和写入。

操作系统文件管理系统模拟实验

操作系统文件管理系统模拟实验

操作系统文件管理系统模拟实验操作系统文件管理系统模拟实验一、实验目的本实验旨在通过模拟操作系统的文件管理系统,加深对操作系统文件管理的理解,锻炼操作系统的应用能力。

二、实验环境1、操作系统:Windows/Linux/MacOS2、编程语言:C/C++/Java/Python等三、实验内容1、初始化文件管理系统1.1 创建根目录,并初始化空文件目录1.2 初始化用户目录和权限设置2、文件操作2.1 创建文件2.1.1 检查文件名合法性2.1.2 检查文件是否已存在2.1.3 为新文件分配磁盘空间2.1.4 添加文件元数据信息2.2 打开文件2.2.1 检查文件是否存在2.2.2 检查用户权限2.3 读取文件内容2.3.1 读取文件权限检查2.3.2 读取文件内容2.4 写入文件内容2.4.1 写入文件权限检查2.4.2 写入文件内容2.5 删除文件2.5.1 检查文件是否存在2.5.2 检查用户权限2.5.3 释放文件占用的磁盘空间2.5.4 删除文件元数据信息3、目录操作3.1 创建子目录3.1.1 检查目录名合法性3.1.2 检查目录是否已存在3.1.3 添加目录元数据信息3.2 打开目录3.2.1 检查目录是否存在3.2.2 检查用户权限3.3 列出目录内容3.3.1 列出目录权限检查3.3.2 列出目录内容3.4 删除目录3.4.1 检查目录是否存在3.4.2 检查用户权限3.4.3 递归删除目录下所有文件和子目录3.4.4 删除目录元数据信息四、实验步骤1、根据实验环境的要求配置操作系统和编程语言环境。

2、初始化文件管理系统,创建根目录,并初始化用户目录和权限设置。

3、进行文件操作和目录操作。

五、实验结果分析根据实验步骤进行文件操作和目录操作,观察系统的运行情况并记录相关实验结果。

六、实验结论通过本实验,深入了解了操作系统中文件管理系统的相关原理和实现方式,并且通过实验操作进一步巩固了相应的应用能力。

操作系统实验7_文件结构管理

操作系统实验7_文件结构管理

实验五文件结构一、实验内容把文件的逻辑结构转换成存储结构,设计便于顺序存取和直接存取的文件存储结构。

二、实验目的文件的结构是指文件中信息的构造方式,通常分成逻辑结构和存储结构两种。

文件的逻辑结构是从用户的观点出发,研究用户概念中的信息组织方式,这时,把文件看成是若干个逻辑记录的集合。

文件的存储结构是指文件中的信息在物理存储介质上的存放方法和组织关系,这时,把文件看成是相关物理块的有序集合。

用户是按逻辑结构来生成和使用文件的,而文件系统必须按照存储设备的物理特性和用户对文件信息的存取方式来管理文件。

所以,文件系统一个主要任务就是要在文件的逻辑结构和存储结构之间建立一个映射。

本实验要求学生模拟设计文件的存储结构,通过实验理解文件的逻辑结构、存储结构、存取方式之间的联系。

三、实验题目第一题:模拟设计MS-DOS操作系统中磁盘文件的存储结构。

[提示]:(1) 当用户对记录式文件采用顺序存以方式时,用户总是依次地访问一个个逻辑记录,即当访问了第I个记录后,下次总是访问第i+1个记录。

所以,当用户采用顺序存取方式访问文件时,只要给出访问要求(读或写)而无需再指出要访问的记录号。

为了适应顺序存取,文件的存储结构可采用顺序文件或链接文件。

由于顺序文件必须占用连续的存储空间,为了提高存储空间的利用率,在用户按逻辑记录顺序访问文件的情况下,一般采用链接文件的结构。

链接文件可以存放在不连续的物理块中,使用链接字(又称指针)来指出文件中各个物理块之间的关联。

在一般情况下,链接文件的第一个物理块号登记在文件目录中,每一块中设置一个链接字,指出链接文件的下一个物理块号,最后一块中的链接字内容为“0”,表示文件结束。

链接文件结构如图7-1。

图7-1 链接文件结构(2) 采用上述的链接文件结构,只有读出一个物理块信息后才能从链接字中得知下一个物理块号。

所以,当用户要在文件中插入一些信息时,文件系统必须多次地请求启动磁盘读出信息才能做插入工作。

文件管理实验报告

文件管理实验报告

一、实验目的1. 理解文件管理的概念和基本原理。

2. 掌握文件系统的结构及其组成。

3. 学会使用文件管理系统进行文件操作。

4. 了解文件系统的性能优化方法。

二、实验环境1. 操作系统:Windows 102. 文件管理系统:Windows Explorer3. 实验工具:文本编辑器(如Notepad)三、实验内容1. 文件系统的基本概念2. 文件系统的结构3. 文件操作4. 文件系统性能优化四、实验步骤1. 文件系统的基本概念(1)打开Windows Explorer,观察文件系统的组织结构。

(2)分析文件系统的组成,包括文件、目录、驱动器等。

(3)了解文件名、扩展名、路径等基本概念。

2. 文件系统的结构(1)创建一个新文件夹,命名为“实验文件夹”。

(2)在“实验文件夹”中创建一个文本文件,命名为“实验报告.txt”。

(3)观察文件系统的树状结构,理解目录与文件之间的关系。

3. 文件操作(1)打开“实验报告.txt”,使用文本编辑器进行编辑。

(2)保存并关闭编辑器。

(3)将“实验报告.txt”复制到“实验文件夹”的子目录中。

(4)删除“实验文件夹”中的“实验报告.txt”。

(5)重命名“实验文件夹”中的子目录。

4. 文件系统性能优化(1)查看磁盘属性,了解磁盘空间占用情况。

(2)对磁盘进行碎片整理。

(3)使用磁盘清理工具清理磁盘中的临时文件。

五、实验结果与分析1. 文件系统的基本概念通过实验,我们了解了文件系统的基本概念,包括文件、目录、驱动器等。

文件系统是操作系统管理文件的一种数据结构,用于存储、检索、更新和删除文件。

2. 文件系统的结构实验中,我们创建了文件夹和文件,并观察了文件系统的树状结构。

文件系统采用分层结构,目录与文件之间通过路径连接。

3. 文件操作实验中,我们进行了文件操作,包括创建、编辑、复制、删除和重命名。

这些操作是文件管理的基本技能。

4. 文件系统性能优化通过磁盘碎片整理和清理磁盘中的临时文件,我们提高了文件系统的性能。

操作系统实验报告文件管理

操作系统实验报告文件管理

操作系统实验报告文件管理文件管理是操作系统的重要功能之一,它负责对计算机系统中的文件进行组织、存储和访问。

文件管理系统的设计和实现对操作系统的性能和可靠性起着重要作用。

本文将介绍文件管理的基本概念、文件系统的组织方式和文件的操作方法。

一、文件管理的概念文件是计算机系统中存储和管理数据的基本单位,它可以是文本、图像、音频、视频等各种类型的数据。

文件管理的目标是实现对文件的有效组织和高效访问,使得用户和应用程序可以方便地读取、写入和删除文件。

文件管理系统主要包括以下几个方面:1.文件组织方式:文件可以按照不同的方式进行组织,包括顺序文件、索引文件、哈希文件等。

不同的组织方式有不同的优势和适用场景,可以根据实际需要选择合适的组织方式。

2.文件存储管理:文件在存储设备上的存储方式包括连续存储、链式存储和索引存储等。

不同的存储方式对文件的读写性能和空间利用率有影响,需要根据实际情况进行选择。

3.文件访问控制:对文件的访问需要进行权限控制,保证只有合法的用户或应用程序可以读取和写入文件。

文件访问控制主要通过访问权限和文件属性来实现。

二、文件系统的组织方式1.单级目录结构:这是最简单的文件系统组织方式,所有文件都位于同一个目录下。

由于没有目录的嵌套结构,文件的查找和管理比较简单,但是对于大量文件的管理不够灵活。

2.层次目录结构:该方式通过目录的嵌套结构来组织文件,可以形成一棵树状结构。

目录可以包含子目录和文件,用户可以通过目录路径来访问文件。

这种组织方式可以更好地组织大量的文件,提高文件的查找效率。

3.索引目录结构:该方式使用一个索引表来记录文件的位置和属性信息,用户通过索引表中的索引来访问文件。

索引表可以根据文件名、文件类型等信息快速定位到文件的位置,提高访问效率。

此外,索引表还可以支持对文件的动态增删改查操作。

三、文件的操作方法1.创建文件:文件的创建是指在文件系统中创建一个新文件,并为其分配存储空间。

创建文件时需要指定文件名和文件类型,并根据需要为文件设置访问权限和属性。

操作系统文件管理实验报告.

操作系统文件管理实验报告.

操作系统文件管理实验报告.
操作系统文件管理实验报告是操作系统实验课程中常见的实验报告,是对学生在实验过程中所掌握的知识和技能的总结。

实验报告的主要内容包括:实验目的、实验原理、实验步骤、实验结果及分析、实验总结、实验心得体会。

实验目的:通过本次实验,学习操作系统文件管理的知识,了解文件系统的概念,并掌握文件管理的基本操作,如新建文件、复制文件、删除文件等;
实验原理:操作系统文件管理是操作系统中一项重要技术,它具有支持用户对文件进行存储、分类、保护和索引等功能。

它的核心功能是通过提供文件系统的结构和管理方法,使用户能够方便地管理文件;
实验步骤:根据实验要求,完成操作系统文件管理实验,并记录实验步骤、实验结果及分析;
实验结果及分析:根据实验结果,对操作系统文件管理实验进行分析,总结出实验中遇到的问题及解决方案;
实验总结:总结本次实验的主要内容,概括出实验的学习结果;
实验心得体会:对本次实验的学习进行反思,总结出实验的感受和收获的经验教训。

【电大本科操作系统实验报告】文件管理

【电大本科操作系统实验报告】文件管理

实验步骤:
用ls,ls-a命令显示目录和文件名内容Tree命令显示“树”
建立四个目录,用tree表示
Ps到abc目录下
用cp命令复制ps.txt到ps1.txt 连同目录一起复制到ABC目录
用mv命令改名
用mv命令移动文件
用rm命令删除文件删除目录
用cd命令到etc文件夹下创建几个文档
用ls命令查看
编译,创建文档
编译,查看文档
创建text.txt文档
三、实验成果提交
如上述各图所示
四、实验中遇到的难点及解决办法
使用系统调用对文件进行操作,编程实现对文件的创建、打开、关闭、读和写
五、实验体会
由于试验时间的紧迫,通过这次试验使我只是初步的学会了, Linux系统的文件管理,通过本学期的学习操作系统的过程,感觉学习的内容不足以能让我较好地使用Linux系统,感觉对他的了解还是那么少,会在以后的时间内多学习一些关于Linux系统方面的内容,努力做好和学习好Linux系统。

计算机操作系统实验-文件管理

计算机操作系统实验-文件管理

Input filename>kkk
Success!
Gaminerie>ls
Name
Property
kkk
rwe
2.txt
---
2 file(s) in total
Gaminerie>create
Input filename and property>3.txt rw-
Success!
Gaminerie>ls
1.程序流程图
2.逻辑设计 使用线性表表示 UFD,每个元素包括用户 ID、保存的文件数、 再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护 码),文件的状态等信息。 该结构需支持以下操作:在尾部插入,查找,修改,在任意位 置删除。 3、物理设计
char UserName[SizeOfUser][SizeOfUserName];//用户 ID
Name
Property
kkk
rwe
2.txt
---
3.txt
rw-
3 file(s) in total
Gaminerie>delete
Property rwe
Property rwe
---
Property rwe
---
Property rwe
---
Status Ready
Status Ready
Ready
Status Ready
Ready
Status Ready
Opened
Input filename>kkk
Success!
Gaminerie>read
Property
0 file(s) in total

操作系统文件管理系统模拟实验

操作系统文件管理系统模拟实验

操作系统文件管理系统模拟实验1. 实验目的本实验旨在通过模拟操作系统的文件管理系统,深入理解操作系统中文件的组织结构、文件的创建、读写和删除操作,以及文件系统的管理策略。

2. 实验背景操作系统是计算机系统中的核心软件,负责管理计算机的资源并提供用户与计算机硬件之间的接口。

文件管理系统是操作系统的重要组成部分,用于管理计算机中的文件和目录结构,提供文件的读写、创建和删除等操作。

3. 实验环境本实验可以在任何支持操作系统模拟的计算机上进行,如使用虚拟机软件搭建的操作系统环境或在线操作系统模拟器。

4. 实验步骤4.1 文件系统初始化在模拟实验开始之前,需要对文件系统进行初始化。

可以选择创建一个空的文件系统或使用预先定义好的文件系统。

4.2 文件的创建在文件系统中创建一个新文件。

可以指定文件的名称、大小、属性等信息。

文件创建成功后,可以在文件系统中查看该文件的相关信息。

4.3 文件的读取选择一个已经存在的文件,并从文件系统中读取该文件的内容。

可以通过指定文件的路径或名称来进行读取操作。

读取文件时,可以选择按字节、按行或按块进行读取。

4.4 文件的写入选择一个已经存在的文件,并向该文件中写入内容。

可以选择覆盖原有内容或在文件末尾追加新内容。

写入文件时,可以选择按字节、按行或按块进行写入。

4.5 文件的删除选择一个已经存在的文件,并从文件系统中删除该文件。

删除文件后,文件系统中将不再存在该文件的相关信息。

5. 实验结果分析在完成实验步骤后,可以对实验结果进行分析和总结。

可以比较不同文件的读写操作所消耗的时间和资源,评估不同文件系统管理策略的性能优劣。

6. 实验注意事项6.1 在进行文件操作时,务必注意文件的权限和保护机制,避免误操作导致数据丢失或系统崩溃。

6.2 在进行文件读写操作时,要注意文件的大小和系统资源的限制,避免因为文件过大或系统资源不足而导致操作失败。

6.3 在进行文件删除操作时,要谨慎操作,避免误删重要文件或系统关键文件,导致系统无法正常运行。

操作系统实验里模拟实现磁盘文件管理

操作系统实验里模拟实现磁盘文件管理

操作系统实验里模拟实现磁盘文件管理操作系统实验(七)磁盘文件1.实验内容使用C++模拟实现磁盘文件存储结构。

2.实验目的了解磁盘文件的存储物理结构。

3.实验题目实现磁盘文件写(必做)和插入(选做)操作。

4.程序流程图5.程序代码和结果#include <iostream>#include <string>using namespace std;typedef struct MULU{string name;int start;int length;}MULU;typedef struct FAT{int num;int next;}FAT;MULU mulu[10];int mulu_i=0;FAT fat[10];int allnum=10;int fat_i=0;void init(){for(int i=0;i<20;i++){fat[i].num=i;fat[i].next=0;}fat[0].next=-2;fat[1].next=-1;allnum-=2;}int getEmpty(){for(int i=0;i<20;i++){if(fat[i].next==0){ allnum--;return i;}}return -1;}int write(){cout<<"\n请输入文件名和记录数:"; string name; int n;int temp=0;int next=0;int s=0;cin>>name;cin>>n;if(n>allnum){cout<<"你输入的记录数过大!"<<endl;return -1;}for(int i=0;i<n*2;i++){next=getEmpty();if(next==-1){cout<<"没有空块!"<<endl;return -1;}if(i==0){s=next;}else{fat[temp].next=next;}temp=next;}fat[temp].next=-1;mulu[mulu_i].name=name;mulu[mulu_i].start=s;mulu[mulu_i].length=n;mulu_i++;cout<<"\n\t文件目录表"<<endl;for(i=0;i<mulu_i;i++)cout<<"\t"<<mulu[i].name<<"\t"<<mulu[i].start<<"\t"<< mulu[i].length<<"\t"<<endl; cout<<endl;cout<<"\tFAT表(-2表示FDF,-1表示FFF)"<<endl;for(int j=0;j<10;j++)cout<<"\t"<<fat[j].num<<"\t"<<fat[j].next<<"\t"<<endl;return 1;}int main(){init();int flag=1;while(flag<5){write();flag++;}return 0;}第二篇:实验一:磁盘与文件管理 3000字实验一:磁盘与文件管理【实训目的】1.掌握利用 NTFS 文件系统实现磁盘限额2.掌握利用 NTFS 文件系统压缩数据3.掌握利用 NTFS 文件系统中的 EFS 加密数据4.掌握共享文件夹的创建和访问5.掌握卷影副本的作用和使用方法【实验内容】1.使用 NTFS 文件系统实现磁盘限额2.使用 NTFS 文件系统压缩数据3.使用 NTFS 文件系统中的 EFS 加密数据4.练习创建、删除共享文件夹、访问共享文件夹、指定共享文件夹权限的方法5.练习使用卷影副本恢复受到损坏的共享文件夹6.验证用户的有效权限【实验环境】安装有 Windows Server 2003 操作系统的计算机【实训步骤】任务 1:NTFS 文件系统一、使用 NTFS 文件系统实现磁盘限额1.分配默认磁盘配额(1)为驱动器 c盘(必须是NTFS 分区)配置默认的限额管理设置值:磁盘空间限度:2MB;磁盘空间警告信息:1MB(2)建新用户 test,然后以 test 用户登录系统,向 data文件夹中分两次拷贝数据,1MB<第一次<2MB,第二次>2MB,哪一次拷贝成功?哪一次没成功?注:在“配额”选项卡中,若选中了“用户超出了配额限制时记录事件”和“用户超出了警告等级时记录事件” ,则可以在“事件查看器” (在“计算机管理”对话框中)中查看日志。

文件管理实验实验报告

文件管理实验实验报告

一、实验目的1. 理解文件管理的基本概念和原理。

2. 掌握文件系统的组织结构和文件操作的基本方法。

3. 培养实际操作能力,提高文件管理的效率。

二、实验环境1. 操作系统:Windows 102. 文件管理工具:Windows自带的文件管理器三、实验内容1. 文件系统的基本概念和原理2. 文件系统的组织结构3. 文件操作的基本方法4. 文件夹的创建、删除、重命名等操作5. 文件和文件夹的搜索与查找6. 文件属性的查看和修改7. 文件和文件夹的复制、移动、粘贴等操作8. 文件和文件夹的压缩与解压缩9. 文件和文件夹的权限设置四、实验步骤1. 打开文件管理器,查看当前文件夹的结构。

2. 创建一个新的文件夹,命名为“实验文件夹”。

3. 在“实验文件夹”中创建一个文本文件,命名为“实验.txt”。

4. 打开“实验.txt”,输入以下内容:实验报告:文件管理实验5. 保存并关闭“实验.txt”。

6. 将“实验.txt”复制到“实验文件夹”中。

7. 将“实验.txt”移动到桌面。

8. 重命名“实验.txt”为“实验1.txt”。

9. 删除“实验1.txt”。

10. 搜索“实验文件夹”中的文件。

11. 查看文件属性。

12. 修改文件属性。

13. 压缩“实验文件夹”。

14. 解压缩“实验文件夹”。

15. 设置文件和文件夹的权限。

五、实验结果与分析1. 文件系统的基本概念和原理:通过实验,我们了解到文件系统是计算机中用于存储和管理文件的数据结构,包括文件、文件夹、磁盘等。

文件系统负责对文件进行组织、存储、检索、更新等操作。

2. 文件系统的组织结构:实验中,我们通过文件管理器查看当前文件夹的结构,了解到文件系统采用树状结构组织文件和文件夹。

3. 文件操作的基本方法:实验中,我们学习了文件和文件夹的创建、删除、重命名、复制、移动、粘贴等操作方法。

4. 文件和文件夹的搜索与查找:实验中,我们通过文件管理器搜索功能,快速找到所需的文件和文件夹。

操作系统——文件管理

操作系统——文件管理

操作系统——文件管理在我们日常使用电脑或其他电子设备时,文件管理是一项至关重要却常常被忽视的功能。

它就像是一个幕后的管家,默默地为我们整理、存储和检索各种文件,让我们在需要的时候能够轻松找到所需的信息。

想象一下,如果没有有效的文件管理,我们的电脑桌面可能会堆满各种文件,混乱不堪,寻找一个特定的文档可能会像大海捞针一样困难。

所以,了解文件管理的工作原理和重要性对于我们更好地利用电子设备是非常有帮助的。

那么,什么是文件管理呢?简单来说,文件管理就是操作系统中负责对文件进行存储、组织、检索、命名、共享和保护的一组功能和机制。

文件在操作系统中是如何被存储的呢?这就涉及到存储介质的概念。

常见的存储介质包括硬盘、固态硬盘、U盘、存储卡等。

当我们创建一个文件并保存时,操作系统会在这些存储介质上为其分配一定的存储空间。

这个存储空间的大小取决于文件的大小和类型。

为了方便识别和管理文件,操作系统为每个文件赋予了一个唯一的标识符,通常称为文件名。

文件名不仅要唯一,还应该具有一定的描述性,以便我们能够通过文件名大致了解文件的内容。

例如,“2023 年工作总结docx”这个文件名就能够让我们清楚地知道这是一份关于2023 年工作的总结文档。

文件管理系统还会对文件进行分类和组织。

常见的组织方式有文件夹结构。

我们可以根据文件的类型、用途、时间等因素创建不同的文件夹,并将相关的文件放入其中。

比如,我们可以创建“工作”“学习”“娱乐”等文件夹,然后在“工作”文件夹下再细分出“项目文档”“会议记录”等子文件夹。

这样的分类方式可以让我们更加清晰地了解文件的归属和用途。

文件的检索也是文件管理的重要功能之一。

当我们需要查找一个文件时,操作系统提供了多种检索方式,比如通过文件名搜索、文件内容搜索、按照修改时间搜索等。

这些搜索功能可以帮助我们快速找到所需的文件,节省大量的时间。

文件的共享也是我们经常会用到的功能。

在一个团队或家庭中,我们可能需要共享一些文件给其他人。

操作系统文件管理系统模拟实验

操作系统文件管理系统模拟实验

操作系统文件管理系统模拟实验近年来,随着计算机技术的飞速发展,操作系统的重要性日益凸显。

作为计算机的核心软件之一,操作系统负责管理计算机的硬件和软件资源,提供良好的用户界面和文件管理功能。

为了更好地理解和掌握操作系统的文件管理系统,我们进行了一次模拟实验。

实验的目的是通过模拟操作系统的文件管理系统,深入了解文件的创建、读取、写入、删除等操作。

我们使用了一台虚拟机作为实验平台,并在其上安装了一个基于Linux的操作系统。

虚拟机的使用使得我们能够在一个相对封闭的环境中进行实验,不会对真实的计算机系统造成任何影响。

在实验开始之前,我们对文件管理系统的基本概念进行了学习和了解。

文件管理系统是操作系统中的一个重要模块,负责对计算机中的文件进行管理和控制。

它包括了文件的创建、读写、删除等功能,并提供了对文件进行组织和访问的接口。

了解这些基本概念对于我们后续的实验非常重要。

在实验过程中,我们首先进行了文件的创建和读写操作。

通过使用命令行界面,我们成功地创建了一个新的文件,并向其中写入了一些内容。

接着,我们使用读取命令来读取文件的内容,并验证了文件的创建和读写操作的正确性。

这一步的实验让我们更加熟悉了文件的创建和读写过程,加深了对文件管理系统的理解。

接下来,我们进行了文件的删除操作。

通过使用删除命令,我们成功地删除了之前创建的文件,并再次验证了删除操作的正确性。

文件的删除是文件管理系统中的一个重要操作,需要谨慎操作,以免误删重要文件。

通过这一实验,我们进一步加深了对文件管理系统的理解,并学会了正确地进行文件的删除操作。

除了基本的文件管理操作外,我们还进行了一些高级操作的实验。

比如,我们尝试了文件的复制和移动操作。

通过使用相应的命令,我们成功地将一个文件复制到了另一个目录,并将一个文件移动到了另一个目录。

这些高级操作的实验使我们更加熟悉了文件管理系统的各种功能和操作,提高了我们的操作技能。

通过这次模拟实验,我们对操作系统的文件管理系统有了更深入的了解和掌握。

操作系统文件管理实验报告.

操作系统文件管理实验报告.

操作系统文件管理实验报告.
本报告旨在分析本次实验的实验内容,并根据实验结果进行探究和总结。

本次实验主要涉及操作系统文件管理,主要包括文件系统管理,文件系统操作,以及
文件属性设置。

首先,我们以某操作系统为例,在该操作系统中搭建文件系统。

通过该操
作系统的api,可以快速的实现文件的创建,查看,编辑,复制,移动等文件管理操作。

同时,该操作系统还提供了对文件属性进行修改,设置和定义文件,文件夹,文件属性,
文件权限,文件结构等文件管理相关的操作。

在实验过程中,我们首先熟悉了文件系统,完成了文件管理功能的快速搭建,并对文
件系统的操作和操作步骤进行了了解和详细学习;其次,我们尝试完成了对文件的创建,
查看,编辑,复制,移动等操作;最后,我们还进行了对文件属性的设置和修改,更好的
完成了文件管理功能。

实验结果表明,通过本次实验,我们对操作系统文件管理有了较为全面的认识,对文
件系统的操作及其步骤也有了深入的了解,可以快速的搭建文件系统,实现文件管理功能。

总而言之,本次实验通过实操方式,使我们更好的理解和掌握了操作系统文件管理的
相关知识,促使我们更加熟练的操作。

最后,期待我们能在今后的实验中更多地熟悉和掌
握操作系统相关知识,不断完善和提高自己的技能。

操作系统文件管理实验报告

操作系统文件管理实验报告

操作系统文件管理实验报告这份报告被广泛使用。

根据上级部署或工作计划,任务完成后,一般要向上级写一份报告,反映工作的基本情况、工作中的经验教训、存在的问题和今后的工作思路。

以下是为大家整理的关于操作系统文件管理实验报告的文章3篇,欢迎品鉴!第一篇: 操作系统文件管理实验报告一、实验题目文件和文件夹的管理二、实验目的1.熟悉WindowsXP的文件系统。

2.掌握资源管理器的使用方法。

3.熟练掌握在WindowsXP资源管理器下,对文件(夹)的选择、新建、移动、复制、删除、重命名的操作方法。

三、实验内容1.启动资源管理器并利用资源管理器浏览文件。

2.在D盘创建文件夹3.在所创建文件夹中创建Word文件。

4.对所创建文件或文件夹执行复制、移动、重命名、删除、恢复、创建快捷方式及设置共享等操作。

1/ 10四、实验步骤(一)文件与文件夹管理1.展开与折叠文件夹。

右击开始,打开资源管理器,在左窗格中点击“+”展开,点击“—”折叠2.改变文件显示方式。

打开资源管理器/查看,选择缩略、列表,排列图标等3.建立树状目录。

在D盘空白处右击,选择新建/文件夹,输入经济贸易学院,依次在新建文件夹中建立经济类11034..创建Word并保存。

打开开始/程序/word,输入内容。

选择文件/另存为,查找D盘/经济贸易学院/1103班/王帅,单击保存5.复制、移动文件夹6.重命名、删除、恢复。

右击文件夹,选择重命名,输入新名字;选择删除,删除文件7.创建文件的快捷方式。

右击王帅文件夹,选择发送到/桌面快捷方式8.设置共享文件。

右击王帅,选择属性/共享/在网络上共享这个文件/确定9.显示扩展名。

打开资源管理器/工具/文件夹选项/查看/高级设置,撤销隐藏已知文件的扩展名2/ 10(二)控制面板的设置。

1.设置显示属性。

右击打开显示属性/桌面、屏幕保护程序2.设置鼠标。

打开控制面板/鼠标/按钮(调整滑块,感受速度)、指针3.设置键盘。

操作系统-文件管理

操作系统-文件管理

操作系统-文件管理操作系统-文件管理一、引言文件管理是操作系统中的一个重要模块,它负责对存储在计算机系统中的文件进行管理和组织。

文件是操作系统中数据的逻辑单位,对于用户和应用程序来说,文件是最基本的数据操作单位。

二、文件系统1、文件系统概述文件系统是指对存储设备中数据进行管理和组织的一套软件和数据结构。

它定义了文件的组织方式、存储分配方式、文件的读写访问方法等。

2、文件系统的组成部分- 文件管理器:负责文件的创建、删除、修改、移动等操作。

- 文件目录:记录文件的基本信息和存储位置。

- 存储管理实现:负责文件的存储分配和空间管理。

- 文件访问控制:控制文件的读、写、执行权限。

- 文件保护机制:保护文件不被非授权用户访问和修改。

3、常见文件系统类型- FAT文件系统:常见于Windows操作系统中,提供较好的兼容性。

- NTFS文件系统:是Windows操作系统中较新的文件系统,支持更高级别的权限控制和磁盘空间管理。

- Ext文件系统:常见于Linux操作系统中,提供较好的稳定性和性能。

三、文件的组织和存储1、文件的逻辑结构- 顺序文件:按顺序存储的一组记录,适合顺序访问。

- 索引文件:通过索引表存储记录的位置信息,提高访问效率。

- 索引顺序文件:在索引文件的基础上,将记录按关键字排序。

- 直接文件:直接通过地质访问记录,适合随机访问。

2、文件的物理结构- 连续分配:将文件占用的存储空间连续分配给文件。

- 分配:通过链表将文件的数据块连接起来。

- 索引分配:通过索引表管理文件的数据块的位置。

- 索引节点:存储文件的基本信息和索引表的位置。

四、文件操作1、文件的创建与删除- 创建文件:分配文件描述符和索引节点,初始化文件的属性。

- 删除文件:释放文件占用的存储空间和相关的索引节点。

2、文件的打开与关闭- 文件打开:分配一个文件描述符,并与相应的文件关联。

- 文件关闭:释放文件描述符和相应的系统资源。

3、文件的读写- 顺序读写:从文件的当前位置开始按顺序读或写一定长度的数据。

操作系统文件管理

操作系统文件管理
➢ 对对象操纵和管理的软件集合
➢是核心部分。包括: 对文件存储空间的管理、 对文件目录的管理、用于将文件的逻辑地址转 换为物理地址的机制、对文件读和写的管理, 以及对文件的共享与保护等功能。
文件和文件系统
➢文件系统的层次结构
➢ 文件系统的接口 ➢命令接口 ➢程序接口
文件和文件系统
➢文件操作
➢ 文件的创建,打开,读写,关闭和删除和设置读/ 写位置
➢文件系统概念
➢ OS中负责管理和存取文件信息的软件机构。负责 文件的建立,撤消,存入,读写,修改和复制, 还负责完成对文件的按名存取和进行存取控制。
文件和文件系统
➢文件系统的层次结构
文件和文件系统
➢文件系统的层次结构
➢ 对象及其属性 ➢文件、目录和磁盘存储空间。
文件和文件系统
➢文件系统的层次结构
ow ner= c cou nt= 2
ow ner= c cou nt= 1
链接前
建 立 链接 后
进程B链接前后的情况
拥 有 者删 除 文 件后
文件共享
利用符号链实现文件共享
在利用符号链方式实现文件共享时, 只是文件主才 拥有指向其索引结点的指针;而共享该文件的其他用户, 则只有该文件的路径名,并不拥有指向其索引结点的指 针。
指针 pt r

i
mi

索引表


R0 R1
Ri
逻辑文件
索引顺序文件
键 An Qi Bao Rong Chen Lin
逻辑 地址
姓名 An Qi An Kang
其它 属性
Bao Rong

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

实验七文件管理(磁盘中创建和删除文件夹)姓名:蒙吉学号:20072411603 指导老师:曹玉林实验目的:1)了解磁盘的物理组织。

2)掌握windows系统提供的有关对磁盘操作的函数。

3)根据输入的扇区号读/写指定扇区。

实验准备知识:需要了解已经学过的VC++工程文件的运行步骤以及它的操作界面常用的设置方法。

实验内容:在已做过的实验五、六的基础上编写一个程序,分别完成如下功能。

1)有个help帮助提示。

2)查看位示图。

3)在目录文件中创建子目录。

4)根据当前目录切换到指定目录。

5)搜索所要删除的目录是否为空目录,若是则删除。

6)在当前目录中创建文件名称。

7)搜索所要删除的文件是否存在,若是则删除。

8)列出当前目录的所有目录项,退出程序等。

实验要求:深入理解操作系统设备当作文件处理的特性。

参考源代码:// wjgl.cpp: implementation of the wjgl class. ///////////////////////////////////////////////////////////////////// ///#include "wjgl.h"/////////////////////////////////////////////////////////////////// ///// Construction/Destruction/////////////////////////////////////////////////////////////////// ///wjgl::wjgl(){hang=16;lie=16;int j,k;//cout<<"矩阵的行"<<endl;//cin>>hang;//cout<<"矩阵的列"<<endl;//cin>>lie;srand(time(NULL));for(j=0;j<lie;j++){juzhen[0][j]=1;}for(j=1;j<hang;j++){for(k=0;k<lie;k++)juzhen[j][k]=(rand()%2);}cout<<"当前没有任何目录和文件,系统为你自动进入C:,如需帮助请选择H"<<endl;ml=(mulu *)malloc(sizeof(mulu));zhizhen=(mulu *)malloc(sizeof(mulu));zhizhen=ml;strcpy(ml->name,"C");ml->awenjian=NULL;ml->top=NULL;ml->next=NULL;ml->amulu=NULL;}wjgl::~wjgl(){}int wjgl::cd(){node1 *s;node1 *r;r=(node1 *)malloc(sizeof(node1));s=(node1 *)malloc(sizeof(node1));s=ml;r=zhizhen;char mlname[20];cin>>mlname;if(!strcmp(mlname,"..")){if(zhizhen->top==NULL){cout<<"不存在该目录的根目录"<<endl;return 0;}else{zhizhen=zhizhen->top;}// showweizhi();return 0;}else{r=r->amulu;while(r!=NULL){if(!strcmp(r->name,mlname)){zhizhen=r;//showweizhi();return 0;}else{if(r->next==NULL)break;r=r->next;}}}cout<<"目录不存在"<<endl;return 0;}int wjgl::mk(){struct tm *newtime;char *tmpbuf=new char[120];time_t lt;time(&lt);newtime=localtime(&lt);strftime(tmpbuf,128,"%c",newtime);//showweizhi();node *s;s=(node *)malloc(sizeof(node));s=zhizhen->awenjian;node *s1;s1=(node *)malloc(sizeof(node));//cout<<"请输入文件的名称"<<endl;char fname[20];cin>>fname;//cout<<"请输入文件的大小"<<endl;int daxiao;cin>>daxiao;strcpy(s1->name,fname);s1->daxiao=daxiao;s1->next=NULL;if(s==NULL){zhizhen->awenjian=s1;s1->time=tmpbuf;// cout<<"文件创建成功"<<endl;//return 0;}else if(!strcmp(s->name,fname)){cout<<"文件名字重复"<<endl;return 0;}else{while(s->next!=NULL){if(!strcmp(s->next->name,fname)){cout<<"文件名字重复"<<endl;return 0;}s=s->next;}s->next=s1;}int i,j,k;k=0;int i1=-1;int j1=-1;for(i=0;i<hang;i++){for(j=0;j<lie;j++){if(juzhen[i][j]==0){if(j1==-1){s1->begin=i*lie+j+1;if(daxiao==1){juzhen[i][j]=-1;s1->time=tmpbuf;return 0;}else{i1=i;j1=j;k++;continue;}}else{if(daxiao-k==1){juzhen[i1][j1]=i*lie+j+1;juzhen[i][j]=-1;s1->time=tmpbuf;return 0;}juzhen[i1][j1]=i*lie+j+1;i1=i;j1=j;k++;}}}}s1->next=NULL;s1->time=tmpbuf;return 0;}void wjgl::showweizhi(){cout.setf(3);char dizhi[20][10];int i=0;int j;node1 *s;node1 *r;r=(node1 *)malloc(sizeof(node1));s=(node1 *)malloc(sizeof(node1));r=zhizhen;s=r->top;strcpy(dizhi[i],r->name);i++;//cout<<r->name<<"->";while(s!=NULL){strcpy(dizhi[i],s->name);//cout<<s->name<<"->";s=s->top;i++;}for(j=i;j>0;j--){cout<<dizhi[j-1];if(i==j)cout<<":\\";elsecout<<"\\";}cout<<">";}int wjgl::rd(){showweizhi();node1 *r;r=(node1 *)malloc(sizeof(node1));r=zhizhen->amulu;cout<<"输入要删除的目录的名字"<<endl;char ming[20];cin>>ming;if(r==NULL){cout<<"目录不存在"<<endl;return 0;}if(!strcmp(r->name,ming)){if(r->amulu!=NULL||r->awenjian!=NUL L){cout<<"目录不空不能删除"<<endl;return 0;}zhizhen->amulu=r->next;//cout<<"删除成功"<<endl;return 0;}while(r->next!=NULL){if(!strcmp(r->next->name,ming)){if(r->next->amulu!=NULL||r->next->awe njian!=NULL){cout<<"目录不空不能删除"<<endl;return 0;}r->next=r->next->next;//cout<<"删除成功"<<endl;return 0;}}cout<<"目录不存在"<<endl;return 0;}int wjgl::md(){struct tm *newtime;char *tmpbuf=new char[120];time_t lt;time(&lt);newtime=localtime(&lt);strftime(tmpbuf,128,"%c",newtime);//showweizhi();node1 *r;r=(node1 *)malloc(sizeof(node1));r=zhizhen->amulu;char ming[20];cin>>ming;if(r==NULL){node1 *s;s=(node1 *)malloc(sizeof(node1));s->time=tmpbuf;strcpy(s->name,ming);s->awenjian=NULL;s->amulu=NULL;s->next=NULL;s->top=zhizhen;zhizhen->amulu=s;}else if(!strcmp(r->name,ming)){cout<<"目录已经存在"<<endl;return 0;}else{while(r->next!=NULL){if(!strcmp(r->next->name,ming)){cout<<"目录已经存在"<<endl;return 0;}r=r->next;}node1 *s;s=(node1 *)malloc(sizeof(node1));s->time=tmpbuf;strcpy(s->name,ming);s->awenjian=NULL;s->amulu=NULL;s->next=NULL;s->top=zhizhen;r->next=s;}// cout<<"创建成功"<<endl;return 0;}int wjgl::del(){showweizhi();node *s;s=(node *)malloc(sizeof(node));s=zhizhen->awenjian;// cout<<"请输入文件的名称"<<endl;char ming[20];cin>>ming;int i,j;int temp;if(s==NULL){cout<<"删除不成功"<<endl;return 0;}if(!strcmp(s->name,ming)){i=(s->begin-1)/lie;j=(s->begin-1)%lie;while(juzhen[i][j]!=-1){temp=juzhen[i][j];juzhen[i][j]=0;i=(temp-1)/lie;j=(temp-1)%lie;}juzhen[i][j]=0;zhizhen->awenjian=s->next;cout<<"删除成功"<<endl;return 0;}while(s->next!=NULL){if(!strcmp(s->next->name,ming)){i=(s->begin-1)/lie;j=(s->begin-1)%lie;while(juzhen[i][j]!=-1){temp=juzhen[i][j];juzhen[i][j]=0;i=(temp-1)/lie;j=(temp-1)%lie;}juzhen[i][j]=0;s->next=s->next->next;// cout<<"删除成功"<<endl;return 0;}}cout<<"文件不存在不能删除"<<endl;return 0;}void wjgl::tree(){char c=getchar();if(c==' ')jiansuo();elseshuchu(zhizhen);}void wjgl::showweishitu(){//cout.width();int j,k;cout<<"位"<<"示图为"<<endl;for(j=0;j<hang;j++){for(k=0;k<lie;k++)cout<<setiosflags(ios_base::left)<<setw( 4)<<juzhen[j][k];cout<<endl;}}void wjgl::shuchu(mulu *sc){int i,j,k;i=0;j=0;k=0;mulu *r1;r1=(node1 *)malloc(sizeof(node1));r1=zhizhen;mulu *r;r=(node1 *)malloc(sizeof(node1));r=sc->amulu;cout<<" <dir> "<<". ";showweizhi();cout<<endl;zhizhen=zhizhen->top;if(zhizhen==NULL);else{cout<<" <dir> "<<".. ";showweizhi();cout<<endl;}zhizhen=r1;while(r!=NULL){i++;cout<<r->time<<""<<r->name<<" <dir> "<<" "<<endl;r=r->next;}node *s;s=(node *)malloc(sizeof(node));s=sc->awenjian;while(s!=NULL){j++;k=k+s->daxiao;cout<<s->time<<""<<s->name<<" 大小"<<" "<<s->daxiao<<" "<<" "<<endl;s=s->next;}cout<<"当前共有目录"<<i<<"个"<<endl;cout<<"当前共有文件"<<j<<"个总大小为:"<<k<<endl;int count=0;for(j=0;j<hang;j++){for(k=0;k<lie;k++)if(juzhen[j][k]==0)count++;}cout<<"剩余"<<count<<endl;}void wjgl::jiansuo(){int k=0;int i=0;int j=0;char name[20];// cout<<"请输入名称"<<endl;cin>>name;int temp1=strlen(name);mulu *r;r=(node1 *)malloc(sizeof(node1));r=zhizhen->amulu;node *s;s=(node *)malloc(sizeof(node));s=zhizhen->awenjian;while(r!=NULL){if(panduan(name,r->name)==1){i++;cout<<r->time<<""<<r->name<<" <dir> "<<" ";showweizhi();cout<<endl;}r=r->next;}while(s!=NULL){if(panduan(name,s->name)==1){j++;cout<<s->time<<""<<s->name<<" 大小"<<s->daxiao<<" "<<" ";k=k+s->daxiao;showweizhi();cout<<endl;}s=s->next;}cout<<"目录"<<i<<"个"<<endl;cout<<"文件"<<j<<"个总大小为"<<k<<endl;int count=0;for(j=0;j<hang;j++){for(k=0;k<lie;k++)if(juzhen[j][k]==0)count++;}cout<<"剩余"<<count<<endl;} int wjgl::panduan(char a[], char b[]){int biaoji=0;if(!strcmp(a,b))return 1;int temp=strlen(a);int temp1=strlen(b);int i,j;for(i=0,j=0;i<temp&&j<temp1;i++,j++){if(a[i]=='*'){if(i==temp-1)return 1;biaoji=1;j--;continue;}if(biaoji==1){while(a[i]!=b[j]){j++;if(i==temp||j==temp1-1)break;}}if(a[i]=='?'){if(i==temp-1){if(j==temp1-1)return 1;elsereturn 0;}}else if(a[i]==b[j])continue;elsereturn 0;}if(i==temp&&j==temp1)return 1;elsereturn 0;/*if(temp>temp1)return 0;return 1;*/}#include<iostream>#include"wjgl.h"using namespace std;void menu(){cout<<"H-----------------help"<<endl;cout<<"S ----------------查看位示图"<<endl;cout<<"MD----------------在目录文件中创建子目录"<<endl;cout<<"CD----------------根据当前目录切换到指定目录"<<endl;cout<<"RD----------------搜索所要删除的目录是否为空目录,若是则删除"<<endl;cout<<"MK----------------在当前目录中创建文件名称"<<endl;cout<<"DEL---------------搜索所要删除的文件是否存在,若是则删除"<<endl;cout<<"DIR---------------列出当前目录的所有目录项"<<endl;cout<<"E-----------------退出程序"<<endl;}int main(){wjgl awjgl;//menu();while(1){awjgl.showweizhi();//cout<<"请选择操作"<<endl;char xuanxiang[20];cin>>xuanxiang;if(!strcmp(xuanxiang,"H")||!strcmp(xuanxiang,"h")){menu();}if(!strcmp(xuanxiang,"MD")||!strcmp(xuanxiang,"md")){awjgl.md();}else if(!strcmp(xuanxiang,"CD")||!strcmp(xuanxiang,"cd")){awjgl.cd();}else if(!strcmp(xuanxiang,"RD")||!strcmp(xuanxiang,"rd")){awjgl.rd();}else if(!strcmp(xuanxiang,"MK")||!strcmp(xuanxiang,"mk")){awjgl.mk();}else if(!strcmp(xuanxiang,"DEL")||!strcmp(xuanxiang,"del")){awjgl.del();}else if(!strcmp(xuanxiang,"DIR")||!strcmp(xuanxiang,"dir")){awjgl.tree();}else if(!strcmp(xuanxiang,"s")||!strcmp(xuanxiang,"S")){awjgl.showweishitu();}else if(!strcmp(xuanxiang,"E")||!strcmp(xuanxiang,"e")){return 0;}}return 0;}实验步骤:1)两个CPP文件内容。

相关文档
最新文档