文件系统实验报告

合集下载

操作系统-第四次实验报告-文件系统

操作系统-第四次实验报告-文件系统
操作系统实验报告 文件系统
全部代码可执行
实验介绍
本实验要求在假设的I/O 系统之上开发一个简单的文件系统, 这样做既能让实验者对文 件系统有整体了解,又避免了涉及过多细节。用户通过create, open, read 等命令与文件系统 交互。文件系统把磁盘视为顺序编号的逻辑块序列,逻辑块的编号为0 至L-1。I/O 系统利 用内存中的数组模拟磁盘。 实际物理磁盘的结构是多维的:有柱面、磁道、扇区等概念。I/O 系统的任务是隐藏磁 盘的结构细节,把磁盘以逻辑块的面目呈现给文件系统。逻辑块顺序编号,编号取值范围为 0 至L -1,其中L 表示磁盘的存储块总数。实验中,我们可以利用字符数组ldisk[L][B] 构 建磁盘模型,其中B 表示每个存储块的长度。I/O 系统从文件系统接收命令,根据命令指定 的逻辑块号把磁盘块的内容读入命令指定的内存区域, 或者把命令指定的内存区域内容写入 磁盘块。内存区域内容写入磁盘块。
整体组织
注:我定义的文件系统中,磁盘分为两大部分:数据区和保留区。其中保留区中又包含位图区和文件 描述符区,数据区的首部是文件的目录项,也就是说,文件的目录项在文件创建时会创建相应的目录 项在数据区的文件首部;而位图区用于表征数据的占用情况,例如数据区的第 N 块被分配了,那么位 图区中也要做相应的改变。
struct filesign { int file_length; int filesign_flag; int file_block;
int file_block_ary[FILE_BLOCK_LENGTH]; }; struct contents { char filename[FILE_NAME_LENGTH];
文件的读 int read(int,int,int)

文件操作的实验报告

文件操作的实验报告

文件操作的实验报告1. 实验背景文件是计算机中存储数据的一种重要方式,在实际应用中,经常需要对文件进行读写与操作。

本实验旨在通过实际操作,掌握文件的打开、读写、复制和关闭等基本操作。

2. 实验内容本实验分为四个部分,分别是文件的打开、读写、复制和关闭操作。

2.1 文件的打开文件的打开是文件操作的第一步,通过打开文件可以获得对文件的访问权限。

在本实验中,我们使用Python语言进行文件操作。

下面是打开文件的示例代码:pythonfile = open("test.txt", "r")在上述代码中,"test.txt"是指要打开的文件名,"r"表示以只读方式打开文件。

如果需要以写入方式打开文件,可以使用"w"作为参数。

2.2 文件的读写文件的读写是文件操作的核心内容之一。

通过读取文件,可以获得文件中的内容;而通过写入文件,可以向文件中写入内容。

下面是读取文件内容和写入文件内容的示例代码:python读取文件内容content = file.read()写入文件内容file.write("Hello, World!")在上述代码中,`read()`函数用于从文件中读取所有内容,`write()`函数用于向文件中写入指定的内容。

2.3 文件的复制文件的复制是文件操作中常见的需求之一。

通过文件的复制,可以将一个文件的内容复制到另一个文件中。

下面是文件复制的示例代码:python打开源文件和目标文件source_file = open("source.txt", "r")target_file = open("target.txt", "w")读取源文件内容content = source_file.read()写入目标文件target_file.write(content)关闭文件source_file.close()target_file.close()在上述代码中,我们首先打开源文件和目标文件,然后读取源文件的内容并写入目标文件,最后关闭文件。

文件系统管理实训报告

文件系统管理实训报告

一、实训背景随着信息技术的飞速发展,文件系统作为存储和管理数据的核心,其性能、稳定性和安全性越来越受到重视。

为了提高我们对文件系统管理的理解和实践能力,我们进行了文件系统管理实训。

本次实训以Linux系统下的文件系统管理为主要内容,通过实际操作,加深对文件系统结构、命令、权限管理等方面的认识。

二、实训目标1. 掌握Linux文件系统的基本结构;2. 熟悉常用的文件系统管理命令;3. 理解文件权限和属性的概念;4. 学会文件系统备份与恢复;5. 提高文件系统的安全性和性能。

三、实训内容(一)文件系统结构Linux文件系统采用树状结构,以根目录“/”为起点,所有文件和目录都从根目录开始分层排列。

常见的文件系统结构包括:1. 根目录(/):包含系统中的所有目录和文件;2. 换行目录(/bin、/sbin、/usr):存放常用的系统命令和系统服务;3. 用户目录(/home):存放用户个人文件和目录;4. 临时目录(/tmp):存放临时文件和程序;5. 系统目录(/etc、/var、/opt):存放系统配置文件、日志文件和可选软件包。

(二)文件系统管理命令1. ls:列出目录内容;2. pwd:显示当前目录的绝对路径;3. cd:切换目录;4. mkdir:创建目录;5. rmdir:删除空目录;6. touch:创建空文件;7. rm:删除文件或目录;8. cp:复制文件或目录;9. mv:移动或重命名文件或目录;10. chmod:修改文件权限;11. chown:更改文件所有者;12. chgrp:更改文件所属组。

(三)文件权限和属性Linux文件权限分为三组:所有者、所属组和其他用户。

每组权限包括读(r)、写(w)和执行(x)三种。

通过chmod命令可以修改文件权限,例如:- chmod 755 filename:设置所有者有读、写、执行权限,所属组和其他用户有读、执行权限;- chmod u+x filename:给所有者添加执行权限;- chmod g-w filename:取消所属组的写权限。

文件服务实验报告(3篇)

文件服务实验报告(3篇)

第1篇实验名称:文件服务系统设计与实现实验目的:1. 了解文件服务的概念和基本原理。

2. 掌握文件系统的设计方法和实现技巧。

3. 熟悉文件操作的编程实践。

4. 提高团队协作和问题解决能力。

实验时间:2023年X月X日实验地点:实验室实验人员:XXX、XXX、XXX实验环境:1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse4. 文件系统:本地文件系统一、实验背景随着信息技术的飞速发展,文件服务在日常生活中扮演着越来越重要的角色。

文件服务是指通过网络将文件存储、管理和共享的服务,它为用户提供了一种方便、高效的数据存储和交换方式。

本实验旨在设计和实现一个简单的文件服务系统,实现对文件的创建、读取、写入和删除等基本操作。

二、实验内容1. 文件服务系统需求分析(1)功能需求- 文件创建:用户可以创建新的文件。

- 文件读取:用户可以读取指定文件的全部内容。

- 文件写入:用户可以写入指定文件的内容。

- 文件删除:用户可以删除指定文件。

(2)性能需求- 系统响应时间:在正常情况下,系统对用户请求的响应时间应小于2秒。

- 系统并发处理能力:系统应能够同时处理多个用户请求。

2. 文件服务系统设计(1)系统架构文件服务系统采用C/S(客户端/服务器)架构,客户端负责用户界面和与用户的交互,服务器负责文件存储和管理。

(2)模块划分- 客户端模块:实现用户界面和与用户的交互。

- 服务器模块:实现文件存储、管理和共享。

- 文件管理模块:负责文件的创建、读取、写入和删除等操作。

3. 文件服务系统实现(1)客户端实现客户端采用Java Swing框架实现,包括以下功能模块:- 登录模块:用户输入用户名和密码进行登录。

- 文件操作模块:实现文件创建、读取、写入和删除等操作。

(2)服务器实现服务器采用Java Socket编程实现,包括以下功能模块:- 连接模块:负责与客户端建立连接。

- 文件管理模块:实现文件创建、读取、写入和删除等操作。

文件系统 实验报告

文件系统 实验报告

文件系统实验报告引言文件系统是操作系统中的一部分,用于管理计算机中的文件和目录。

它提供了数据的存储、访问、组织和管理功能,是操作系统的基础之一。

本实验通过实现一个简单的文件系统来深入理解文件系统的原理和实现方式。

实验目的1. 了解文件系统的基本概念和原理;2. 学习文件系统的设计和实现方法;3. 掌握文件系统的基本操作。

实验环境本次实验使用的是Ubuntu 20.04操作系统。

实验步骤1. 文件系统的设计在开始实现文件系统之前,我们首先需要设计文件系统的结构和功能。

1.1 文件系统的结构文件系统通常由三个主要部分组成:文件控制块、目录和数据块。

文件控制块用于存储文件的属性和元数据,目录用于组织文件和子目录,数据块用于存储文件的实际内容。

1.2 文件系统的功能文件系统需要提供以下功能:- 文件的创建、读取、修改和删除;- 目录的创建、读取、修改和删除;- 文件和目录的查找;- 文件的权限管理。

2. 文件系统的实现2.1 文件系统的初始化在实现文件系统之前,我们首先需要初始化文件系统。

包括创建超级块、位图和根目录,并将它们写入磁盘。

2.2 文件和目录的操作在文件系统中,我们需要实现文件和目录的基本操作,包括创建文件、创建目录、读取文件内容、修改文件内容和删除文件。

2.3 文件系统的其他操作除了基本的文件和目录操作之外,文件系统还需要实现其他一些功能,如文件查找、权限管理等。

3. 文件系统的测试在完成文件系统的实现后,我们需要对其进行测试,以验证其功能是否正常。

3.1 创建文件和目录我们首先创建一些文件和目录,检查它们是否被正确地写入磁盘,并且能够被正确地读取。

3.2 读取和修改文件我们随机选择一些文件,读取它们的内容,并对其内容进行修改。

修改后,我们再次读取文件,确保修改成功。

3.3 删除文件和目录我们尝试删除一些文件和目录,并检查它们是否被成功地删除。

4. 结果与讨论经过测试,我们发现我们实现的文件系统功能正常,能够按照我们的预期进行文件和目录的创建、读取、修改和删除等操作。

文件实验报告

文件实验报告

文件实验报告实验目的:本实验旨在探究文件的创建、编辑、保存和删除等基本操作,并通过实际操作,掌握文件管理的方法和技能。

实验步骤:1. 创建文件首先,在计算机桌面或指定的文件夹中,右键点击空白处,选择“新建”->“文本文档”。

此时会生成一个默认名称为“新建文本文档.txt”的文件。

2. 编辑文件双击打开“新建文本文档.txt”,进入编辑模式。

在文件中输入内容,可以是文字、数字或其他字符。

实验中,我们可以输入如下内容:```这是一个文件实验报告。

文件管理是计算机操作的基本技能之一。

通过本实验,我们将学习如何创建、编辑、保存和删除文件。

```3. 保存文件在文件编辑完成后,点击菜单栏上的“文件”选项,选择“保存”或使用快捷键“Ctrl + S”来保存文件。

此时,选择好文件保存的路径,并为文件命名。

比如,我们可以将文件保存到桌面,命名为“实验报告.txt”。

4. 关闭文件保存文件后,点击菜单栏上的“文件”选项,选择“关闭”,或者直接点击右上角的关闭按钮,关闭文件。

5. 删除文件在文件所在的路径中,右键点击该文件,选择“删除”。

系统将弹出确认删除的对话框,点击确认,即可删除文件。

需要注意的是,删除后文件将无法恢复,所以在执行删除操作前,请确保没有重要文件被误删。

实验结果:经过本次实验,我们成功地进行了文件的创建、编辑、保存和删除操作。

我们可以在所选择的路径中找到保存的文件,并可以通过打开相应的应用程序来查看和编辑文件内容。

同时,我们也验证了删除文件的操作,确保了文件在删除后无法被恢复。

实验总结:通过本次实验,我们加深了对文件管理的理解和熟练掌握文件操作的方法和技巧。

文件管理是计算机基础知识中不可或缺的一部分,它使我们能够方便地存储和管理各种类型的文件。

为了提高文件管理的效率和准确性,我们应当遵循以下原则:1. 规范命名:给文件起一个简洁明确、有意义的名称,以便于快速识别和查找。

2. 分类存储:根据文件的性质和用途,将其分类存放在相应的文件夹中,便于管理和检索。

文件系统设计试验报告p

文件系统设计试验报告p
实验步骤与调试过程:
用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。主要数据结构:1.I节点2.磁盘i结点3.目录项结构4.超级块 5.用户密码6.目录7.查找i内存节点的hash表8.系统打开表9.用户打开表
cc-c dir.c
open.o:open.c filesys.h
cc-c open.c
rdwt.o:rdwt.c filesys.h
cc-c rdwt.c
format.o:format.c filesys.h
cc-c format.c
install.o: install.c filesys.h
cc-c install.c
实验结果:
本实验成功地创建了登陆用户dengyurui,并在下面创建了相应的二级目录,成功的完成了对文件夹的创建操作和对文件的创建、删除、打开和关闭等基本操作。实现下列几条命令:1.login用户登录2.dir 列目录3.create创建文件4.delete删除文件5.open打开文件6.Close关闭文件7.read读文件8.write写文件;
open打开文件
close关闭文件
read读文件
write写文件
(2)列目录时要列出文件名、物理地址、保护码和文Байду номын сангаас长度;
(3)源文件可以进行读写保护。
实验提示
(1)首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。
(2)用户创建的文件,可以编号存储于磁盘上。如file0,file1,file2...并以编号作为物理地址,在目录中进行登记。

文件管理实验报告答案(3篇)

文件管理实验报告答案(3篇)

第1篇一、实验目的1. 理解文件管理的概念和作用。

2. 掌握文件系统的基本操作,如创建、删除、复制、移动等。

3. 学会使用文件管理工具,提高文件管理效率。

二、实验环境1. 操作系统:Windows 102. 文件管理工具:Windows资源管理器3. 实验设备:计算机三、实验内容1. 文件系统的基本概念文件系统是操作系统用来组织和管理文件的一种机制。

它主要包括以下内容:(1)文件:数据的基本单位,可以存储信息、程序等。

(2)目录:文件系统的组织单位,用于存放文件和子目录。

(3)路径:文件在文件系统中的位置,由目录名和文件名组成。

2. 文件系统的基本操作(1)创建文件:在指定目录下创建一个新的文件。

操作步骤:1)打开Windows资源管理器;2)找到要创建文件的目录;3)右键单击空白区域,选择“新建”;4)选择文件类型,如文本文档、Word文档等;5)输入文件名,点击“确定”。

(2)删除文件:删除指定的文件。

操作步骤:1)打开Windows资源管理器;2)找到要删除的文件;3)右键单击文件,选择“删除”;4)在弹出的确认对话框中点击“是”。

(3)复制文件:将文件从一个目录复制到另一个目录。

操作步骤:1)打开Windows资源管理器;2)找到要复制的文件;3)右键单击文件,选择“复制”;4)打开目标目录,右键单击空白区域,选择“粘贴”。

(4)移动文件:将文件从一个目录移动到另一个目录。

操作步骤:1)打开Windows资源管理器;2)找到要移动的文件;3)右键单击文件,选择“剪切”;4)打开目标目录,右键单击空白区域,选择“粘贴”。

3. 文件管理工具的使用(1)文件搜索:在文件系统中快速找到所需的文件。

操作步骤:1)打开Windows资源管理器;2)在地址栏输入文件名或部分内容;3)按Enter键或点击搜索按钮。

(2)文件预览:查看文件内容,如图片、文档等。

操作步骤:1)打开Windows资源管理器;2)找到要预览的文件;3)双击文件,系统会自动打开相应的应用程序进行预览。

最新文件管理实验报告

最新文件管理实验报告

最新文件管理实验报告
在本次实验中,我们对最新的文件管理系统进行了一系列的测试和评估。

实验的主要目的是验证该系统在处理大量文件时的效率、安全性以及用户体验。

以下是实验的主要发现和结论。

一、系统性能测试
1. 读写速度:通过对比不同大小文件的读写时间,我们发现该系统采用了优化的读写算法,显著提高了文件操作的速度。

2. 多任务处理能力:实验中模拟了多用户同时进行文件操作的场景,系统展现出良好的并发处理能力,无明显延迟现象。

二、安全性评估
1. 加密机制:系统内置了先进的加密算法,对存储的文件进行实时加密,有效防止了数据泄露。

2. 权限管理:通过设置不同的用户权限,系统能够精确控制文件的访问和操作权限,确保了数据的安全性。

三、用户体验分析
1. 界面设计:系统提供了直观的用户界面,使得文件管理变得简单易行,即使是非专业用户也能快速上手。

2. 搜索效率:系统具备强大的搜索功能,支持关键词、文件类型等多种搜索方式,大大提升了查找文件的效率。

四、问题与改进建议
1. 在处理超大型文件时,系统偶尔会出现性能下降的情况,建议进一步优化文件处理算法。

2. 尽管系统提供了基本的备份功能,但缺乏自动化和云同步的选项,建议增加这些功能以提高数据的可靠性。

综上所述,最新的文件管理系统在性能、安全性和用户体验方面均表现出色,但仍有改进空间。

我们期待开发团队能够根据这些反馈继续优化产品,以满足更广泛的用户需求。

文件的应用实验报告(3篇)

文件的应用实验报告(3篇)

第1篇一、实验目的1. 熟悉文件的基本操作,包括创建、打开、保存、关闭等。

2. 掌握文件的编辑、格式设置、排版等基本技能。

3. 学习使用文件进行数据管理和信息整理。

4. 提高实际操作能力,为以后的工作和学习打下基础。

二、实验环境1. 操作系统:Windows 102. 文字处理软件:Microsoft Word 20163. 硬件设备:电脑、显示器、鼠标、键盘等三、实验内容1. 文件的基本操作2. 文本的编辑和格式设置3. 文档的排版和打印4. 文件夹的管理四、实验步骤1. 文件的基本操作(1)创建新文件:打开Microsoft Word,点击“空白文档”或选择合适的模板创建新文件。

(2)打开文件:点击“文件”菜单,选择“打开”,在弹出的对话框中选择要打开的文件。

(3)保存文件:点击“文件”菜单,选择“保存”,在弹出的对话框中设置文件名、保存路径和文件格式,然后点击“保存”。

(4)关闭文件:点击“文件”菜单,选择“关闭”,或者直接点击窗口右上角的关闭按钮。

2. 文本的编辑和格式设置(1)输入文本:将光标定位在文档中,使用键盘输入文本内容。

(2)选择文本:将鼠标指针移动到文本的开始位置,按住鼠标左键拖动至文本的结束位置,即可选中文本。

(3)设置字体:选中文本,点击“开始”选项卡中的“字体”下拉菜单,选择合适的字体、字号、颜色等。

(4)设置段落格式:选中文本,点击“开始”选项卡中的“段落”下拉菜单,设置段落间距、缩进、对齐方式等。

3. 文档的排版和打印(1)插入表格:点击“插入”选项卡中的“表格”,在弹出的对话框中设置表格的行列数,然后点击“确定”。

(2)插入图片:点击“插入”选项卡中的“图片”,在弹出的对话框中选择要插入的图片,然后点击“插入”。

(3)设置页眉和页脚:点击“插入”选项卡中的“页眉和页脚”,在弹出的对话框中设置页眉和页脚的内容、格式等。

(4)打印文档:点击“文件”菜单,选择“打印”,在弹出的对话框中设置打印范围、打印份数、打印设置等,然后点击“打印”。

文件操作实例实验报告(3篇)

文件操作实例实验报告(3篇)

第1篇一、实验目的1. 熟悉文件的基本概念和操作方法。

2. 掌握文件的创建、打开、读取、写入、关闭等基本操作。

3. 学会使用文件流进行文件操作。

4. 提高实际应用中处理文件的能力。

二、实验环境1. 操作系统:Windows 102. 开发环境:Visual Studio 20193. 编程语言:C++三、实验内容本次实验主要涉及以下文件操作:1. 文件的创建2. 文件的打开3. 文件的读取4. 文件的写入5. 文件的关闭四、实验步骤1. 创建一个名为“test.txt”的文本文件。

```cppinclude <iostream>include <fstream>int main() {std::ofstream file("test.txt");if (file.is_open()) {std::cout << "文件创建成功!" << std::endl; } else {std::cout << "文件创建失败!" << std::endl; }file.close();return 0;}```2. 打开“test.txt”文件。

```cppinclude <iostream>include <fstream>int main() {std::ifstream file("test.txt");if (file.is_open()) {std::cout << "文件打开成功!" << std::endl; } else {std::cout << "文件打开失败!" << std::endl; }file.close();return 0;}```3. 读取“test.txt”文件内容。

操作系统实验-文件系统扩展实验报告

操作系统实验-文件系统扩展实验报告

实验报告要求1.实验名称:文件系统扩展实验2.实验要求:对【程序5_9】进行扩展,要求参数为目录名,且其下至少有三层目录,分别用深度遍历及广度遍历两种方法对此目录进行遍历,输出此目录下所有文件的大小及修改时间。

3.实验目的:(在实验过程中应用的操作系统理论知识)1.熟悉和应用深度优先和广度优先遍历算法2.熟练掌握linux 系统下关于文件系统的API3.掌握有关数据结构和指针的应用4.掌握使用gdb 调试的方法5.掌握实际运用中堆栈的内存分配4.实验内容:(为完成实验,如何进行程序设计)DFS:整体思路: 从所给的目录进入,按照reddir打开指针的顺序开始逐个遍历,遇到文件就按照规定格式输出信息。

遇到目录就对该目录进行DFS,之后返回上一级继续遍历。

当当前目录没有文件时返回流程图:重点部分: 重点是DFS 对退出循环和回溯时间点的把握。

这里退出循环的时间点是当前目录没有可读文件或者目录。

回溯时间点是当读到的文件为目录时,进入下一层DFS BFS:整体思路:利用队列,参考二叉树的层次遍历。

先将根目录入队,循环出队列。

进入目录后,当读取到文件时,输出信息;当读取到目录时,将目录入队,继续读取下一个文件;当当前目录的文件遍历完成时,退出此目录循环,从队列中弹出一个目录,再进入循环。

当队列为空时,退出。

流程图:重点部分: 1. 队列的建立,队列使用链表连接,存放字符串数据,要注意内存的分配和释放2.入队出队的时机;先将根目录入队,退出循环的条件为队列为空。

入队的条件为当前文件为目录。

出队的条件为一个目录遍历完毕。

5.程序:(较之已有程序有修改的、新增的程序段加下划线)#include<unistd.h>#include<stdio.h>#include<stdlib.h>#include<errno.h>#include<sys/types.h>#include<sys/stat.h>#include<dirent.h>#include<time.h>#include<string.h>#include<ctype.h>/*辅助函数输出文件的大小和最后修改时间*/static int get_file_size_time(const char *filename){struct stat statbuf;if(stat(filename,&statbuf)==-1) //取filename 的状态{printf("Get stat on %s Error:%s\n",filename,strerror(errno));return(-1);}if(S_ISDIR(statbuf.st_mode))return(1); //判断是否是目录文件if(S_ISREG(statbuf.st_mode)) //判断是否是普通文件printf("\t size:%ld bytes\t modifiedate: %s\n",statbuf.st_size,ctime(&statbuf.st _mtime)); //输出文件的大小和最后修改时间return(0);}/******************************** BFS 利用队列********************************************/// 在strcpy 指针前要先申请空间struct node {char* data;struct node* next;// struct node* pre;} *head,*tail,*tmp; // 头节点,尾节点,临时节点count++; }6.运行结果:(进行反白处理后截图)DFS:BFS7.实验总结:编程、调试过程中遇到的问题及解决办法。

实验四文件系统实验

实验四文件系统实验

实验四文件系统实验一. 目的要求1、用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。

从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。

2、要求设计一个n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。

二. 例题:1、设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。

2、程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。

另外,为打开文件设置了运行文件目录(AFD)。

3、为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。

4、算法与框图:①因系统小,文件目录的检索使用了简单的线性搜索。

②文件保护简单使用了三位保护码:允许读写执行、对应位为1,对应位为0,则表示不允许读写、执行。

③程序中使用的主要设计结构如下:主文件目录和用户文件目录(MFD、UFD)打开文件目录(AFD)(即运行文件目录)文件目录指针文件名··文件系统算法的流程图如下:三. 实验题:1、增加2~3个文件操作命令,并加以实现。

(如移动读写指针,改变文件属性,更换文件名,改变文件保护级别)。

代码如下://1、增加2~3个文件操作命令,并加以实现。

(如移动读写指针,改变文件属性,更换文件名,改变文件保护级别)。

#include<iostream>#include<string>#include<conio.h>using namespace std;struct TYPE_UFD{string File_Name;bool Read;bool Write;bool Execute;int Length_File;};struct TYPE_MFD{string User_Name;TYPE_UFD *Pointer;};struct TYPE_AFD{int File_ID;bool Read;bool Write;bool Execute;int Pointer;};class TYPE_FILE_SYSTEM{public:void Initial( void );void Start( void );private:int _Number_Users;int _Number_Files;int _MaxNumber_Open_Files;TYPE_MFD *_MFD;TYPE_UFD *_UFD;TYPE_AFD *_AFD;};void TYPE_FILE_SYSTEM::Initial( void ){_Number_Users = 10;_Number_Files = 10;_MaxNumber_Open_Files = 5;_UFD = new TYPE_UFD [_Number_Users*_Number_Files];_MFD = new TYPE_MFD [_Number_Users];int i=0;for( i=0 ; i<_Number_Users ; i++ ){_MFD[i].Pointer = &(_UFD[i*_Number_Files]);}_AFD = new TYPE_AFD [_MaxNumber_Open_Files];_MFD[0].User_Name = "zaq";_UFD[0].File_Name = "file1.txt";_UFD[0].Length_File = 10;_UFD[0].Read = true;_UFD[0].Write = false;_UFD[0].Execute = true;_UFD[1].File_Name = "file2.txt";_UFD[1].Length_File = 20;_UFD[1].Read = true;_UFD[1].Write = false;_UFD[1].Execute = false;for( i=2 ; i<_Number_Files ; i++ ){_UFD[i].File_Name = "";_UFD[i].Length_File = -1;_UFD[i].Read = false;_UFD[i].Write = false;_UFD[i].Execute = false;}}void TYPE_FILE_SYSTEM::Start( void ){int User_ID;int i,temp_int;string temp;char choice;int Number_Open_Files;string User_Name;string Command;TYPE_UFD *UFD;do{do{cout << "已创建用户名为zaq\n指令有:create delete open dir diropen write read logout shutdown \n\n";cout << "请输入用户名:";cin >> User_Name;for( User_ID=0 ; User_ID<_Number_Users ; User_ID++ ){if( _MFD[User_ID].User_Name == User_Name )break;}if( User_ID == _Number_Users )cout << "用户名错误,请再次输入." << endl;}while( User_ID == _Number_Users );cout << "欢迎登录, " << User_Name << " !" << endl;UFD = _MFD[User_ID].Pointer;for( i=0 ; i<_MaxNumber_Open_Files ; i++ ){_AFD[i].File_ID = -1;}Number_Open_Files = 0;do{cout << "C:\\" << User_Name << ">" ;cin >> Command;if( Command == "dir" ){cout << endl;cout << "打开用户" << User_Name <<"的文件" << endl;cout << "\t" << "State\t" << "Length\t" << "File name" << endl;for( i=0 ; i<_Number_Files ; i++ ){if( UFD[i].Length_File != -1 ){cout << "\t" ;if( UFD[i].Read == true )cout << "R";elsecout << "-";if( UFD[i].Write == true )cout << "W";elsecout << "-";if( UFD[i].Execute == true )cout << "E";elsecout << "-";cout << "\t";cout << UFD[i].Length_File;cout << "\t";cout << UFD[i].File_Name << endl;}}cout << endl;}else if( Command == "diropen" ){cout << endl;cout << "打开用户" << User_Name << "的文件"<<endl;cout << "\t" << "State\t" << "Open File name" << endl;for( i=0 ; i<_MaxNumber_Open_Files ; i++ ){if( _AFD[i].File_ID != -1 ){cout << "\t" ;if( _AFD[i].Read == true )cout << "R";elsecout << "-";if( _AFD[i].Write == true )cout << "W";elsecout << "-";if( _AFD[i].Execute == true )cout << "E";elsecout << "-";cout << "\t";cout << UFD[_AFD[i].File_ID].File_Name << endl;}}cout << endl;}else if( Command == "create" ){for( i=0 ; i<_Number_Files ; i++ )if( UFD[i].Length_File == -1 )break;if( i == _Number_Files )cout << "Error: 已有名为" << _Number_Files << " 的文件." << endl;else{cout << "请输入新文件信息:" << endl;cout << "文件名: ";cin >> temp;UFD[i].File_Name = temp;cout << "文件权限: ";cout << "Read (y/n):";do{choice = getch();}while( choice!='y' && choice!='n' );if( choice == 'y' )UFD[i].Read = true;elseUFD[i].Read = false;cout << endl;cout << "Write (y/n):";do{choice = getch();}while( choice!='y' && choice!='n' );if( choice == 'y' )UFD[i].Write = true;elseUFD[i].Write = false;cout << endl;cout << "Execute (y/n):";do{choice = getch();}while( choice!='y' && choice!='n' );if( choice == 'y' )UFD[i].Execute = true;elseUFD[i].Execute = false;cout << endl;cout << "Length :";cin >> temp_int;if( temp_int > 0 )UFD[i].Length_File = temp_int;cout << "新文件" << UFD[i].File_Name << " 已建立!" << endl;}}else if( Command == "delete" ){cout << "请输入文件名:";cin >> temp;for( i=0 ; i<_Number_Files ; i++ )if( (UFD[i].Length_File!=-1)&&(UFD[i].File_Name==temp) )break;if( i == _Number_Files )cout << "文件名错误,请再次输入." << endl;else{UFD[i].Length_File = -1;cout << "文件" << UFD[i].File_Name << " 已删除." << endl;}}else if( Command == "open" ){if( Number_Open_Files == _MaxNumber_Open_Files )cout << "Error: 你已经打开了" <<Number_Open_Files << " 文件." << endl;else{cout << "请输入文件名:";cin >> temp;for( i=0 ; i<_Number_Files ; i++ )if( (UFD[i].Length_File!=-1)&&(UFD[i].File_Name==temp) )break;if( i == _Number_Files )cout << "文件名错误,请再次输入." << endl;else{Number_Open_Files++;for( temp_int=0 ;temp_int<_MaxNumber_Open_Files ; temp_int++ )if( _AFD[temp_int].File_ID == -1 )break;_AFD[temp_int].File_ID = i;_AFD[temp_int].Pointer = 0;cout << "请定义打开方式:" << endl;if( UFD[i].Read == true ){cout << "Read (y/n):";do{choice = getch();}while( choice!='y' && choice!='n' );if( choice == 'y' )_AFD[temp_int].Read = true;else_AFD[temp_int].Read = false;cout << endl;}else_AFD[temp_int].Read = false;if( UFD[i].Write == true ){cout << "Write (y/n):";do{choice = getch();}while( choice!='y' && choice!='n' );if( choice == 'y' )_AFD[temp_int].Write = true;else_AFD[temp_int].Write = false;cout << endl;}else_AFD[temp_int].Write = false;if( UFD[i].Execute == true ){cout << "Execute (y/n):";do{choice = getch();}while( choice!='y' && choice!='n' );if( choice == 'y' )_AFD[temp_int].Execute = true;else_AFD[temp_int].Execute = false;cout << endl;}else_AFD[temp_int].Execute;cout << "文件" << temp << " 已打开." << endl;}}}else if( Command == "logout" ){cout << "再见, " << User_Name << " !" << endl;break;}else if( Command == "close" ){cout << "请输入文件名:";cin >> temp;for( i=0 ; i<_Number_Files ; i++ )if( (UFD[i].Length_File!=-1)&&(UFD[i].File_Name==temp) )break;if( i == _Number_Files )cout << "文件名错误,请再次输入." << endl;else{for( temp_int=0 ;temp_int<_MaxNumber_Open_Files ; temp_int++ )if( _AFD[temp_int].File_ID == i )break;if( temp_int == _MaxNumber_Open_Files )cout << "文件" << temp << " 未打开." << endl;else{_AFD[temp_int].File_ID = -1;Number_Open_Files--;cout << "文件" << temp << " 已关闭." << endl;}}}else if( Command == "read" ){cout << "请输入文件名:";cin >> temp;for( i=0 ; i<_Number_Files ; i++ )if( (UFD[i].Length_File!=-1)&&(UFD[i].File_Name==temp) )break;if( i == _Number_Files )cout << "文件名错误,请再次输入." << endl;else{for( temp_int=0 ;temp_int<_MaxNumber_Open_Files ; temp_int++ )if( _AFD[temp_int].File_ID == i )break;if( temp_int == _MaxNumber_Open_Files )cout << "文件" << temp << " 未打开." << endl;else{if( _AFD[temp_int].Read == true )cout << "文件" << temp << " 成功读取." << endl;elsecout << "Error: 文件打开模式错误." << endl;}}}else if( Command == "write" ){cout << "请输入文件名:";cin >> temp;for( i=0 ; i<_Number_Files ; i++ )if( (UFD[i].Length_File!=-1)&&(UFD[i].File_Name==temp) )break;if( i == _Number_Files )cout << "文件名错误,请再次输入." << endl;else{for( temp_int=0 ;temp_int<_MaxNumber_Open_Files ; temp_int++ )if( _AFD[temp_int].File_ID == i )break;if( temp_int == _MaxNumber_Open_Files )cout << "文件" << temp << " 未打开." << endl;else{if( _AFD[temp_int].Write == true )cout << "文件" << temp << " 成功写入." << endl;elsecout << "Error: 文件打开模式错误." << endl;}}}else if( Command == "shutdown" ){cout << "正在注销........" << endl;cout << "再见, " << User_Name << " !" << endl;cout << "正在关机.........." << endl;break;}else{cout << "指令错误,请再次输入." << endl;}}while( Command != "logout" && Command != "shutdown" );}while( Command != "shutdown" );}int main(){TYPE_FILE_SYSTEM FS;FS.Initial();FS.Start();return 0;}2、编一个通过屏幕选择命令的文件管理系统,每屏要为用户提供足够的选择信息,不需要打入冗长的命令。

2023年最新的操作系统文件管理实验报告三篇

2023年最新的操作系统文件管理实验报告三篇

2023年最新的操作系统文件管理实验报告三篇操作系统文件管理实验报告一篇一、实训主要内容Word排版,表格制作与编辑。

Powerpoint的制作,初步认识计算机办公应用OFFICE。

二、实训过程第一天:初步熟悉计算机的性能和认识Word;第二天:练习Word题;第三天:认识Powerpoint并对昨天的Word练习予以测试;Excel实训作业第四天:将Word表格与Powerpoint的制作熟悉巩固;第五天:老师再次对我们Word与Powerpoint测验以及教我们一些有用的技能与方法,初步认识计算机办公应用。

OFFICE。

三、实训心得体会很快的,一个假期又过来了,面对本学期最后一次的校园生活实训,想着刚刚过去的最后一个周,紧张沉默之后更多的是感慨,印在脑海里的每一个足迹都是那么的深,真的说不出是什么感觉,伴着时间,就像是在和自己的影子赛跑,不可能从真实的两面去看清它,只是经意不经意的感受着有种东西在过去,也许更适合的只有那句话:时不待我,怎可驻足一周,短短的一周,我学到了很多不知道的东西,实在是感受颇深。

当今企业竞争范围的伴随社会市场经济的发展以及信息化程度的不断提高而日益扩大,这样就要求企业在各个方面加强管理,要求企业有更高的信息化集成来实现对企业的整体资源进行集成管理。

现代企业都意识到,企业之间的竞争是综合实力的竞争,要求企业有更强的资金实力,具备强有力的管理能力和更快的市场响应速度。

因此,引入计算机系统的意义是非常重大的。

在社会主义市场经济高速发展的今天,如果计算机的各项管理运做仍然停滞在以纸、笔为主要工具的阶段,就会因为信息量的快速增长而无法迅速、准确的运用计算机完成各项工作,这样,必将成为企业各方面发展的一个瓶颈。

而在当代这个以信息时代为主题的社会里,计算机技术高速发展,将信息技术应用于对现代企业的管理日益普及。

计算机技术不但可以提高信息的处理速度和提高信息处理的准确性,更重要的是,可以进一步的解放劳动力,将他们分配到更需要人力资源的岗位上去,从而加快社会工作的现代化、综合化的发展步伐。

文件全资料系统实验资料报告材料29368

文件全资料系统实验资料报告材料29368

实验二文件系统实验报告一.实验简介本实验要求在假设的I/O 系统之上开发一个简单的文件系统,这样做既能让实验者对文件系统有整体了解,又避免了涉及过多细节。

用户通过create, open, read 等命令与文件系统交互。

文件系统把磁盘视为顺序编号的逻辑块序列,逻辑块的编号为0 至L-1。

I/O 系统利用存中的数组模拟磁盘。

实际物理磁盘的结构是多维的:有柱面、磁道、扇区等概念。

I/O 系统的任务是隐藏磁盘的结构细节,把磁盘以逻辑块的面目呈现给文件系统。

逻辑块顺序编号,编号取值围为0 至L .. 1,其中L 表示磁盘的存储块总数。

实验中,我们可以利用字符数组ldisk[L][B] 构建磁盘模型,其中B 表示每个存储块的长度。

I/O 系统从文件系统接收命令,根据命令指定的逻辑块号把磁盘块的容读入命令指定的存区域,或者把命令指定的存区域容写入磁盘块。

我设计的文件系统拥有三个用户。

二.具体说明1.文件系统的组织:磁盘的前k 个块是保留区,其中包含如下信息:位图和文件描述符。

位图用来描述磁盘块的分配情况。

位图中的每一位对应一个逻辑块。

创建或者删除文件,以及文件的长度发生变化时,文件系统都需要进行位图操作。

前k 个块的剩余部分包含一组文件描述符。

每个文件描述符包含如下信息:•文件长度,单位字节•文件分配到的磁盘块号数组。

该数组的长度是一个系统参数。

在实验中我们可以把它设置为一个比较小的数,例如3。

2.目录:我们的文件系统中仅设置一个目录,该目录包含文件系统中的所有文件。

除了不需要显示地创建和删除之外,目录在很多方面和普通文件相像。

目录对应0 号文件描述符。

初始状态下,目录中没有文件,所有,目录对应的描述符中记录的长度应为0,而且也没有分配磁盘块。

每创建一个文件,目录文件的长度便增加一分。

目录文件的容由一系列的目录项组成,其中每个目录项由如下容组成:•文件名•文件描述符序号3.对文件的操作:文件系统需提供如下函数;create, destroy, open, read, write。

管理文件的实验报告

管理文件的实验报告

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

2. 掌握文件系统的基本操作,如创建、删除、复制、移动等。

3. 学习文件系统的安全性和权限管理。

4. 提高文件管理的效率,确保文件的安全性和可靠性。

二、实验环境1. 操作系统:Windows 102. 文件系统:NTFS3. 实验软件:Microsoft Windows Explorer三、实验内容1. 文件系统的基本概念和原理2. 文件系统的基本操作3. 文件系统的安全性和权限管理4. 文件系统的备份与恢复四、实验步骤1. 文件系统的基本概念和原理(1)打开Windows Explorer,观察文件系统的结构,了解文件和文件夹的层次关系。

(2)分析文件系统的目录结构,了解目录、文件和路径的概念。

(3)学习文件系统的存储方式,了解文件系统的存储单元和数据组织。

2. 文件系统的基本操作(1)创建文件夹:在Windows Explorer中,右键单击目标位置,选择“新建”->“文件夹”,输入文件夹名称,按Enter键。

(2)删除文件:选中要删除的文件,右键单击,选择“删除”,确认删除。

(3)复制文件:选中要复制的文件,右键单击,选择“复制”,在目标位置右键单击,选择“粘贴”。

(4)移动文件:选中要移动的文件,右键单击,选择“剪切”,在目标位置右键单击,选择“粘贴”。

3. 文件系统的安全性和权限管理(1)设置文件夹权限:选中要设置权限的文件夹,右键单击,选择“属性”,在“安全”选项卡中,添加用户或组,设置权限。

(2)设置文件属性:选中要设置属性的文件,右键单击,选择“属性”,在“常规”选项卡中,设置只读、隐藏等属性。

4. 文件系统的备份与恢复(1)创建备份:在Windows Explorer中,右键单击要备份的文件夹,选择“发送到”->“压缩(zipped)文件夹”,将备份文件保存在指定位置。

(2)恢复备份:将备份文件解压,将解压后的文件夹内容复制到原位置。

操作系统文件管理实验

操作系统文件管理实验

操作系统实验三:文件管理一.实验目的1.加深对文件,目录,文件系统等概念的理解。

2.掌握UNIX文件系统的目录结构。

3.掌握有关UNIX文件系统操作的常用命令。

4.了解有关文件安全方面的知识。

二.实验内容1.使用pwd,cd,ls等命令浏览文件系统。

2.使用cat,cp,mv,head,tail,rm等命令查看你的文件。

3.使用ln命令进行文件的硬连接和符号连接。

4.使用find,grep命令进行文件查找和模式匹配。

5.使用chmod命令修改文件的权限。

三.实验步骤启动LINUX系统,首先以超级用户ROOT身份登录注册后(占用第一用户平台),然后以普通用户Mengqc(或其他用户名)身份登录注册后,在第二用户平台(<alt>+F2)练习文件管理有关命令.一般在[mengqc @ localhost mengqc]$提示符下键入有关命令。

1.浏览文件系统〈1〉运行pwd命令,确定你当前的工作目录(为/ home/mengqc)。

〈2〉利用以下命令显示当前工作目录的内容:(理解各字段意义。

)ls –l〈3〉运行以下命令:(反馈信息中.代表本身目录,..代表其父目录;选项a可以显示隐藏文件;选项i可以显示文件的I节点号)ls –ai〈4〉使用mkdir命令建立一个子目录subdir,并用ls查看当前目录。

下附本实验文件目录结构。

Mkdir subdir/根目录Ls –lBin dev home rootMengqc mlwjsubdirfa(file1)〈5〉使用带-d选项的ls命令,你只能看到有关子目录的信息(.表示本身目录)。

Ls -d〈6〉使用cd命令,将工作目录改到根目录(/)上。

①用相对路径将工作目录改到根目录。

Pwd 显示当前目录为 /home/mengqcCd .. 相对路径,返回上一级。

Pwd 反馈显示当前目录为 /homeCd .. 相对路径,再返回上一级。

Pwd 反馈显示当前目录为 /Cd /home/mengqc 恢复本身目录(也可以cd↙ ).Pwd 反馈显示当前目录为 /home/mengqc②用绝对路径将工作目录改到根目录。

文件系统安全实验(共五则范文)

文件系统安全实验(共五则范文)

文件系统安全实验(共五则范文)第一篇:文件系统安全实验拷贝/etc/passwd到/student(acl)setfacl getfacl要求该文件拥有者是root,拥有组是studentgroupadd studentchown root:student /student/passwd其它人没有执行权限kevin能读写该文件setfacl-m u:kevin:wr passwdtodd 只能读setfacl-m u:todd:r passwd创建/student/test目录,要求Mkdir /student/teststudent组的用户对此目录有完全权限setfacl-m g:student:rwx /student/testkevin对此目录有r-x权限setfacl-m u:kevin:rx /student/test在此目录中创建的文件,只有本人和root可以删除(sticky)o+t chgrp student /student/test chmod o+t /student/test/4在此目录中创建的文件,拥有组一定是student(SGID)g+s chmod g+s /student/test/第二篇:实验6 系统安全管理(推荐)实验6 系统安全管理一、实验目的与要求ν理解SQL Server中的安全管理机制。

ν理解账户、用户、服务器角色和数据库角色的含义。

ν熟练掌握Windows NT登录账户和SQL Server登录账户的建立与删除。

ν熟练掌握添加与删除服务器角色成员。

ν熟练掌握添加和删除一个登录账户为某个数据库的用户。

ν熟练掌握添加和删除数据库角色。

ν熟练掌握添加和删除数据库角色成员。

ν熟练掌握用户、角色的授权、收回权限和拒绝权限。

二、实验内容和步骤1、创建SQL Server登录账户用企业管理器和查询分析器两种方式在SQL Server中添加一个账户名为“自己名字”,密码为“123456”,默认数据库为“你新建的数据库名字”的SQL Server登录账户。

操作系统实验5文件系统:Linux文件管理

操作系统实验5文件系统:Linux文件管理

实验5 文件系统: Linux文件管理1. 实验目的〔1〕掌握Linux提供的文件系统调用的使用方法;〔2〕熟悉文件和目录操作的系统调用用户接口;〔3〕了解操作系统文件系统的工作原理和工作方式。

2. 实验内容〔1〕利用Linux有关系统调用函数编写一个文件工具filetools, 要求具有下列功能:***********0.退出1.创建新文件2.写文件3.读文件4.复制文件5.修改文件权限6.查看文件权限7.创建子目录8.删除子目录9.改变当前目录到指定目录10.操作***********代码:#include<stdio.h>#include<sys/types.h>#include<unistd.h>#include<fcntl.h>#include<sys/stat.h>#include<syslog.h>#include<string.h>#include<stdlib.h>void menu(void);void openfile(void);void writefile(void);void readfile(void);void copyfile(void);void chmd(void);void ckqx(void);void cjml(void);void scml(void);void ggml(void);void ylj(void);int main(){int choose;int suliangjin=1;menu();scanf("%d",&choose);while(choose!=0){switch(choose){case 1:openfile();break;case 2:writefile();break;case 3:readfile();break;case 4:copyfile();break;case 5:chmd();break;case 6:ckqx();break;case 7:cjml();break;case 8:scml();break;case 9:ggml();break;case 10:ylj();break;}menu();scanf("%d",&choose);}return 0;}void menu(void){printf("文件系统\n");printf("1.创建新文件\n");printf("2.写文件\n");printf("3.读文件\n");printf("4.复制文件\n");printf("5.修改文件权限\n");printf("6.查看文件权限\n");printf("7.创建子目录\n");printf("8.删除子目录\n");printf("9.改变目前目录到指定目录\n");printf("10.操作\n");printf("0.退出\n");printf("请输入您的选择...\n");}void openfile(void){int fd;if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");elseprintf("open file:hileo.c %d\n",fd);if(close(fd)<0)perror("close");elseprintf("Close hello.c\n");}void writefile(void){int fd,size,len;char *buf="Hello!I'm writing to this file!";len=strlen(buf);if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");elseprintf("open file:hileo.c %d\n",fd);if((size=write(fd,buf,len))<0)perror("write");elseprintf("Write:%s\n",buf);if(close(fd)<0)perror("close");elseprintf("Close hello.c \n");}void readfile(void){int fd,size;char b[10];if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");elseprintf("open file:hileo.c %d\n",fd);lseek(fd,0,SEEK_SET);if((size=read(fd,b,10))<0)perror("read");elseprintf("read from file:%s\n",b);if(close(fd)<0)perror("close");elseprintf("Close hello.c\n");}void copyfile(void){if(fork()==0)execlp("/bin/cp","cp","/tmp/hello.c","/tmp/he.c",NULL);elsewait(0);printf("将hello.c复制he.c");}void chmd(void){int a;printf("1.文件主可读可写可执行\n");printf("2.文件主可读\n");printf("3.文件主可写\n");printf("4.文件主可执行\n");printf("请输入您的选项\n");scanf("%d",&a);switch(a){case 1:chmod("/tmp/hello.c",S_IRWXU);printf("ok!\n");break;case 2:chmod("/tmp/hello.c",S_IRUSR);printf("ok!\n");break;case 3:chmod("/tmp/hello.c",S_IWUSR);printf("ok!\n");break;case 4:chmod("/tmp/hello.c",S_IXUSR);printf("ok!\n");break;default:printf("您选择有误\n");}}void ckqx(void){char *path="/bin/ls";char *argv[4]={"ls","-l",NULL};if(fork()==0)execv(path,argv);elsewait(0);}void cjml(void){if(mkdir("/tmp/a",S_IRWXU)<0)perror("Mkdir");elseprintf("创建成功\n");}void scml(void){if(rmdir("/tmp/a")<0)perror("Rmdir");elseprintf("删除成功\n");}void ggml(void){if(chdir("/tmp/bc")<0)perror("chdir");elseprintf("更改目录成功\n"); }void ylj(void){if(link("hello.c","h.c")<0)perror("Link");elseprintf("建立硬连接\n"); }打开文件:写文件:读文件:复制文件: 修改权限: 查看权限:创建目录:删除目录:更改目录:硬连接:1.问题解决方案:在复制文件时用execlp函数, 虽然有复制成功但是他就跳出整个程序, 这就是一个缺陷。

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