操作系统文件管理实验报告-图文
文件系统管理实训报告
一、实训背景随着信息技术的飞速发展,文件系统作为存储和管理数据的核心,其性能、稳定性和安全性越来越受到重视。
为了提高我们对文件系统管理的理解和实践能力,我们进行了文件系统管理实训。
本次实训以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:取消所属组的写权限。
linux的文件系统、目录结构、文件管理实验报告
linux的文件系统、目录结构、文件管理实验报告Linux是一款使用广泛的操作系统,具有丰富的文件系统、目录结构、文件管理系统。
以下是Linux文件系统实验报告。
一、文件系统文件系统是指计算机操作系统用来管理文件和数据存储空间的一种机制。
Linux系统使用的是可扩展的第二代文件系统(ext2、ext3、ext4),它支持更大的文件和更大的分区,并使用了更高效的索引和更快的文件系统检查。
二、目录结构Linux目录结构是一个统一的层次结构,它将计算机的所有文件都组织到一个合理的层次结构中。
以下是Linux常见的目录结构:1. /(根目录):根目录是文件系统的根节点,所有文件和目录都以它为起点。
2. /bin:包含一些最基本的系统工具,比如ls、cp、mv等常用命令。
3. /dev:包含系统设备文件。
4. /etc:包含系统中的配置文件和脚本文件。
5. /home:用于存储用户的个人文件和数据。
6. /lib:包含了系统中使用的一些共享库文件。
7. /mnt:用于挂载外部设备,比如USB、CD-ROM等。
8. /opt:用于存放第三方软件的安装文件和数据。
9. /proc:该目录是一个虚拟目录,它不占用实际存储空间,但可以查看和修改系统的运行状态。
10. /root:超级用户的家目录。
11. /sbin:包含一些管理系统的系统管理员使用的工具。
12. /tmp:用于存放临时文件和目录。
13. /usr:用于存放非本地(不是系统)用户的应用程序和数据。
14. /var:用于存放可变的数据,比如日志文件。
三、文件管理文件管理是指对计算机文件进行操作,如创建、复制、粘贴、移动和删除等。
下面是Linux 文件管理的一些常见命令:1. ls:列出目录中的文件和子目录。
2. cd:切换目录。
3. mkdir:创建一个新目录。
4. touch:创建一个新文件。
5. cp:复制文件或目录。
6. mv:移动或重命名文件。
《操作系统》课内实验报告
《操作系统》课内实验报告一、实验目的本次《操作系统》课内实验的主要目的是通过实际操作和观察,深入理解操作系统的基本原理和功能,掌握常见操作系统命令的使用,提高对操作系统的实际应用能力和问题解决能力。
二、实验环境本次实验在计算机实验室进行,使用的操作系统为 Windows 10 和Linux(Ubuntu 发行版)。
实验所使用的计算机配置为:Intel Core i5 处理器,8GB 内存,500GB 硬盘。
三、实验内容1、进程管理在 Windows 系统中,通过任务管理器观察进程的状态、优先级、CPU 使用率等信息,并进行进程的结束和优先级调整操作。
在 Linux 系统中,使用命令行工具(如 ps、kill 等)实现相同的功能。
2、内存管理使用 Windows 系统的性能监视器和资源监视器,查看内存的使用情况,包括物理内存、虚拟内存的占用和分配情况。
在 Linux 系统中,通过命令(如 free、vmstat 等)获取类似的内存信息,并分析内存的使用效率。
3、文件系统管理在 Windows 系统中,对文件和文件夹进行创建、复制、移动、删除等操作,了解文件的属性设置和权限管理。
在 Linux 系统中,使用命令(如 mkdir、cp、mv、rm 等)完成相同的任务,并熟悉文件的所有者、所属组和权限设置。
4、设备管理在 Windows 系统中,查看设备管理器中的硬件设备信息,安装和卸载设备驱动程序。
在 Linux 系统中,使用命令(如 lspci、lsusb 等)查看硬件设备,并通过安装内核模块来支持特定设备。
四、实验步骤1、进程管理实验(1)打开 Windows 系统的任务管理器,切换到“进程”选项卡,可以看到当前系统中正在运行的进程列表。
(2)选择一个进程,右键点击可以查看其属性,包括进程 ID、CPU 使用率、内存使用情况等。
(3)通过“结束任务”按钮可以结束指定的进程,但要注意不要随意结束系统关键进程,以免导致系统不稳定。
操作系统 实验报告 文件管理
昆明理工大学信息工程与自动化学院学生实验报告( 201 —201 学年第二学期)一、实验目的用C或C++语言编写和调试一个简单的文件系统,模拟文件管理的基本功能。
从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。
二、实验原理及基本技术路线图(方框原理图)用C模拟实现文件系统的管理;要求设计一个多级目录结构的文件系统,能正确描述文件控制块,采用合理的外存分配方式,能实现基本的目录及文件的操作,包括创建、删除、重命名、复制、移动等功能,并对文件有一定的存取权限控制。
功能设计 :Help 显示命令帮助dir 显示当前目录下的文件和文件夹exit 退出系统create [文件名] 创建文本文件cdir [目录名] 创建文件夹read [文件名] 读取一个文件最多可同时读取五个close[文件名] 关闭一个文件edit [文件名] 编辑一个文件cd [目录名] 进子目录或者上级目录attr [文件名] 显示该文件的属性del [文件名] 删除文件rename [文件名] 重命名编辑功能流程图删除文件流程图创建文件流程图核心算法:bool Format(void); //格式化bool install(void); //装载虚拟硬盘的数据void login(void); /用户登陆void showMenu(void);//显示功能菜单bool onAction(void);//用户选择功能并执行void createFile(string str);//创建文件bool read(string str);//读取文件void editFile(string str);//编辑文件void Delete(string str);//删除一个文件数据结构:/*---------常变量------*/const unsigned int BLOCK_SIZE=512; //块长const unsigned int DATA_BLOCK_NUM=512; //数据块数量const unsigned int DINODE_START=4*BLOCK_SIZE; //inode起始位置const unsigned int DINODE_SIZE=512; //inode大小const unsigned int DINODE_NUM=32; //inode数量const unsigned int DATASTART=(2+DINODE_NUM)*BLOCK_SIZE; //数据区的开始地址const unsigned int ACCOUNT_NUM=10; //用户数量/*inode结构体*/struct inode{unsigned short di_tag; /*inode标识*/unsigned short di_number; /*关联文件数,当为0时表示删除文件,如一个目录至少包含两个文件:"."和".."*/unsigned short di_mode; /*存取模式:0为目录,1为文件*/unsigned short di_userID; /*当前inode所属用户 0为根目录ID,一次下去是管理员目录、用户目录*/unsigned short di_access; /*访问权限 0为不允许普通用户访问(公共目录),1为允许普通用户访问*/unsigned short di_size; /*文件大小,目录没有大小,值为0*/unsigned short di_ctime; /* 创建时间 */unsigned short di_mtime; /* 最后一次修改时间*/unsigned short di_block[DATA_BLOCK_NUM]; /* 数据块块地址编号 */ };/**超级块***/struct super_block{unsigned short s_inodes_count; /* 文件系统中inode的总数 */unsigned short s_blocks_count; /* 数据块总数 */unsigned short s_r_blocks_count; /* 保留块总数 */unsigned short s_free_blocks_count; // 空闲块总数unsigned short s_free_inodes_count; /* 空闲的inode总数 */unsigned short s_log_block_size; /* block 的大小 */ };/**账户信息**/struct user{unsigned short user_id; //用户IDunsigned short user_access; //权限string username; //用户名string password; //密码};/**文件/目录结构**/struct directory{string name; /*目录名*/unsigned short d_ino; /*目录号*/};三、所用仪器、材料(设备名称、型号、规格等)。
操作系统课程设计-文件管理实验报告
操作系统课程实验报告2013~2014年度第1学期院系:学号:姓名:任课教师:成绩评定:实验一题目:文件管理完成日期:年月日1、实验目的了解文件管理的功能和任务,理解文件系统组成和特点,熟悉文件系统的访问和操作。
实验要求用高级语言编写和调试一个简单的模拟文件管理程序。
加深理解有关盘块的分配与回收、目录管理等的具体实施策略。
2.、实验内容模拟一个资源管理器进行文件操作,包括建立和删除目录、建立和删除文件等基本文件操作。
建立相应的数据结构(如:位示图等),模拟盘块管理。
可以参照图6界面进行设计。
3、算法设计1)、定义主面板MainFrame,布局好各个控件,并初始化/** 往node节点下添加一个子节点obj;*/public void addChild(Object obj, DefaultMutableTreeNode node) {if (obj != null && node != null) {DefaultMutableTreeNode temp = new DefaultMutableTreeNode(obj);if (node.getAllowsChildren())node.add(temp);if(!((String) obj).equals("A:\\") && ((String) obj).length() <= 3)// 防止读取A软驱,会出现异常;用于初始用的;addChildren(cmd.listAll((String) obj), temp);}}/** 在node节点下添加数组children;*/public void addChildren(String[] children, DefaultMutableTreeNode node) { if (children != null && node != null) {for (int i = 0; i < children.length; i++) {addChild(children[i], node);}}}/** 对树的节点进行预提取;*/public void addPrefetchChildren(String path, DefaultMutableTreeNode node) { addChildren(cmd.listDirectory(path), node);}/** 对路径路径进行连接;(已经获得了所有的整个路径,需要量转化)*/public String toFilePath(String str) {// 先去掉头尾的[];String pa = str.substring(1, str.length() - 1);String[] temp = pa.split(", ");String path = "";for (int i = 1; i < temp.length; i++) {if (!path.endsWith("\\") && !path.equals(""))// 不为空是为去根节点;path += "\\";path += temp[i];}return path;}public String toPFilePath(String str) {// 先去掉头尾的[];String pa = str.substring(1, str.length() - 1);String[] temp = pa.split(", ");String path = "";for (int i = 1; i < temp.length - 1; i++) {if (!path.endsWith("\\") && !path.equals(""))// 不为空是为去根节点;path += "\\";path += temp[i];}return path;}public class ExpandListener implements TreeWillExpandListener {/** 树展开及收缩监听;*/private MainFrame mainFrame = null;public ExpandListener(MainFrame mainFrame) {this.mainFrame = mainFrame;}public void treeWillExpand(TreeExpansionEvent event) {// 对节点的路径进行转化String path = toFilePath(event.getPath().toString());TreePath treePath = event.getPath();DefaultMutableTreeNode node = (DefaultMutableTreeNode) treePath.getLastPathComponent();// System.out.println("所展开节点的路径:" + path);// System.out.println(treePath);if (node.getDepth() < 2) {Enumeration children = node.children();String filePath = "";while (children.hasMoreElements()) {DefaultMutableTreeNode temp = (DefaultMutableTreeNode) children.nextElement();filePath = "";filePath = path;if (!filePath.endsWith("\\"))filePath += "\\";filePath += temp.toString();// System.out.println("temp=" +filePath);mainFrame.addPrefetchChildren(filePath, temp);}}}2)、添加功能“添加文件(夹)addframe()”、“修改文件(夹)mvframe()”public void addframe() {JFrame addFrame = new JFrame();JLabel jlbl = new JLabel("请输入要添加的文件(夹)名:");addrs = new JLabel("");addrs.setBounds(180, 10, 100, 25);jlbl.setBounds(10, 10, 170, 25);addfile = new JTextField();addfile.setBounds(10, 40, 260, 25);btnaddf = new JButton("添加文件");btnaddd = new JButton("添加文件夹");btnaddf.setBounds(20, 80, 100, 25);btnaddd.setBounds(160, 80, 100, 25);btnaddf.addActionListener(this);btnaddd.addActionListener(this);addFrame.add(jlbl);addFrame.add(addrs);addFrame.add(addfile);addFrame.add(btnaddf);addFrame.add(btnaddd);addFrame.setBounds(400, 350, 300, 150);addFrame.setTitle("添加文件(夹)");addFrame.setLayout(null);addFrame.setVisible(true);}public void mvframe() {JFrame mvFrame = new JFrame();JLabel jlbl = new JLabel("请输入修改后的文件名:");mvrs = new JLabel("");mvrs.setBounds(160, 10, 140, 25);jlbl.setBounds(10, 10, 170, 25);mvfile = new JTextField();mvfile.setBounds(10, 40, 260, 25);btnmvf = new JButton("修改文件名");btnmvd = new JButton(" 修改文件夹名");btnmvf.setBounds(10, 80, 120, 25);btnmvd.setBounds(150, 80, 120, 25);btnmvf.addActionListener(this);btnmvd.addActionListener(this);mvFrame.add(jlbl);mvFrame.add(mvrs);mvFrame.add(mvfile);mvFrame.add(btnmvf);mvFrame.add(btnmvd);mvFrame.setBounds(400, 350, 300, 150);mvFrame.setTitle("修改文件(夹)名");mvFrame.setLayout(null);mvFrame.setVisible(true);}}3)显示文件* 显示系统中的所有盘符;public String[] ListDisks() {File roots[] = File.listRoots();// 根盘符;String disks[] = new String[roots.length];for (int i = 0; i < roots.length; i++) {disks[i] = roots[i].toString();}return disks;}* 获得路径path下的文件;public String[] listAll(String path) {try {File f = new File(path);String[] fileName;String tmp = null;mainFrame.fileshow.setText(null);mainFrame.filestyle.setText(null);if (f.isDirectory()) {fileName = f.list();// System.out.println("共有" + fileName.length + "个文件");for (int i = 0; i < fileName.length; i++) {mainFrame.fileshow.append(fileName[i] + '\n');tmp = path + '\\' + fileName[i];// System.out.println(tmp);if (listDirectory(tmp) != null) {mainFrame.filestyle.append("文件夹\n");} else {mainFrame.filestyle.append("文件\n");}}return fileName;} else if (f.isFile()) {System.out.println("这是一个文件");return null;} else {// System.out.println(path);return null;}} catch (Exception e) {return null;}}public String[] listDirectory(String path) {File f = new File(path);String[] fileName;if (f.isDirectory()) {fileName = f.list();return fileName;} else {// System.out.println(path + "是文件");return null;}}* 进行md操作;md <目录名> 功能: 创建新目录public void md(String directory) {if (!mainFrame.currentPath.equals("")) {String temp = mainFrame.currentPath + "\\" + directory;File newFile = new File(temp);if (!newFile.exists()) {try {if (newFile.isDirectory() == false) {newFile.mkdirs();System.out.println("文件夹创建成功!");} else {System.out.println("文件夹创建出错!");}} catch (Exception e) {System.out.println("出错信息:" + e.getMessage());}} else {System.out.println("文件夹已经存在");}}}* 进行rd操作;rd <目录名> 功能: 删除目录;public void del() {String temp = mainFrame.currentPath;File file = new File(temp);if (file.exists()) {if (file.delete()) {mainFrame.fileshow.setText("文件(夹)删除成功!");} else {mainFrame.fileshow.setText("文件(夹)删除操作出错!");}} else {mainFrame.fileshow.setText("文件(夹)不存在");}}/** 进行edit操作:edit <文件名> 功能: 新建文件*/public void edit(String file) {if (!mainFrame.currentPath.equals("")) {String temp = mainFrame.currentPath + "\\" + file;File newFile = new File(temp);if (newFile.exists()) {mainFrame.addrs.setText("文件已经存在!");System.out.println("文件已经存在!");} else {try {newFile.createNewFile();mainFrame.addrs.setText("文件创建成功!");System.out.println("文件创建成功!");} catch (Exception e) {System.out.println("文件创建失败:" + e.getMessage());}}}}public void mvf(String file){if (!mainFrame.PPath.equals("")) {String temp = mainFrame.PPath + "\\" + file;File newFile = new File(mainFrame.currentPath);if (newFile.exists()) {if(newFile.renameTo(new File(temp))==true){mainFrame.mvrs.setText("修改文件名成功!");}else{mainFrame.mvrs.setText("存在同名文件!");}}}}public void mvd(String dir){if (!mainFrame.PPath.equals("")) {String temp = mainFrame.PPath + "\\" + dir;File newFile = new File(mainFrame.currentPath);if (newFile.exists()) {if(newFile.renameTo(new File(temp))==true){mainFrame.mvrs.setText("修改文件夹名成功!");}else{mainFrame.mvrs.setText("存在同名文件夹!");}}}}}4、运行与测试运行时,弹出主界面双击文件盘C在E盘路径添加文件夹操作系统,再添加文件操作系统如果文件已存在会显示可以更改文件名称删除文件,不过有个BUG,要文件一层层删,才可以删除。
Linux 实验报告二文件和目录管理
Linux操作系统报告单专业:计算机科学与技术学号:姓名:名称:文件和目录管理任课教师:班级:完成日期:成绩:一、实验名称及目的:实验名称:文件和目录管理实验目的:1、了解linux系统的文件和目录结构2、熟悉linux系统的文件和目录管理的方式和命令3、能够熟练的使用文件和目录管理命令二、实验内容及要求:1.查看操作系统的根目录下,有哪些目录2.文件操作(1)查看文件(可以是二进制的)内容 cat执行格式:cat filename 或more filename 或cat filename|more 例: cat file1 以连续显示方式,查看文件 file1 的内容 more file1或 cat file1|more 以分页方式查看文件的内容(2)删除文件rm执行格式: rm filename 例: rm file? rm f* (3)复制文件 cp执行格式:cp [r] source dest ination 例:cp file1 file2将 file1 复制成 file2cp file1 dir1 将file1复制到目录 dir1 cp /tmp/file1 将file1复制到当前目录cp /tmp/file1 file2 将file1复制到当前目录名为 file2 cp –r dir1 dir2 (recursive copy)复制整个目录(4)移动或更改文件、目录名称 mv执行格式: mv source destination 例:mv file1 file2 将文件 file1,更名为 file2mv file1 dir1 将文件 file1,移到目录 dir1 下 mv dir1 dir2(5)比较文件(可以是二进制的)或目录的内容 diff执行格式:diff [r] name1 name2 (name1、name2 同为目录)文件或例: diff file1 file2 比较 file1 与 file2 的不同处diff –r dir1 dir2 dir1 与 dir2 的不同处(6)文件中字符串的查找 grep专业:计算机科学与技术学号:姓名:执行格式:grep string file1例:grep abc file1 查找并列出串 abc 所在的整行文字 3、系统询问与权限口令(1)查看系统中的使用者执行格式: who (2)查看 username执行格式: who am I 查看自己的 username (3)改变自己的 username 的帐号与口令 su执行格式: su username例: su username 输入账号 Password 输入密码(4)文件属性的设置 chmod执行格式:chmod [R] mode name 其中:[-R]为递归处理,将指定目录下所有文件及子目录一并处理 mode 为 3-8 位数字,是文件/目录读、写、执行允许权的缩写(r:read,数字代号为"4", w:write,数字代号为"2", x:execute,数字代号为"1")mode: rwx rwx rwx user group other 缩写:(u)(g)(o)例:chmod 755 dir1 将将目录 dir1 设定成任何人皆有读取及执行的权利,但只有拥有者可作写修改。
文件管理试验报告
理工学院实验报告
系别计算机班级学号姓名
课程名称操作系统实验日期2012.12.20
实验名称文件管理成绩
实验目的:
通过这次实验,掌握文件系统的用户管理,掌握普通文件、目录文件管理的基本原理。
实验条件:带有VS2008的计算机一台
实验原理:
使用文件系统的用户要通过用户名、密码的验证,对不同用户设置不同(自己相应)的子目录,如图(a)所示。
MFD是主文件目录,Power是存放用户名、密码的文件,简单起见此处用数组代替;UFD0,UFD1,…,UFD9是10个用户目录,用户0 的目录(UFD0)下包含文件f1.txt,…,f7.c。
图(b)是创建目录、文件以及删除目录、文件所用的存储数据结构。
(b)文件、目录组织
Un ame9 A
ff.doc
1
1
f7.c A
MFD
(a)用户目录设置
Powe冲的下标!\n");
m
请输入您的选择:
C(创建),文件名
D(删除),文件名
C f1.txt
m
请输入您的选择:
C(创建),文件名
D(删除),文件名
C f2.txt
m
请输入您的选择:
C(创建),文件名
D(删除),文件名
C f3.txt
P
liuxiaoke用户的文件有:f3.txt
f2.txt
f1.txt
m
请输入您的选择:
C(创建),文件名
D(删除),文件名
D f3.txt
P
liuxiaoke用户的文件有:f2.txt
f1.txt
u。
2023年最新的操作系统文件管理实验报告三篇
2023年最新的操作系统文件管理实验报告三篇操作系统文件管理实验报告一篇一、实训主要内容Word排版,表格制作与编辑。
Powerpoint的制作,初步认识计算机办公应用OFFICE。
二、实训过程第一天:初步熟悉计算机的性能和认识Word;第二天:练习Word题;第三天:认识Powerpoint并对昨天的Word练习予以测试;Excel实训作业第四天:将Word表格与Powerpoint的制作熟悉巩固;第五天:老师再次对我们Word与Powerpoint测验以及教我们一些有用的技能与方法,初步认识计算机办公应用。
OFFICE。
三、实训心得体会很快的,一个假期又过来了,面对本学期最后一次的校园生活实训,想着刚刚过去的最后一个周,紧张沉默之后更多的是感慨,印在脑海里的每一个足迹都是那么的深,真的说不出是什么感觉,伴着时间,就像是在和自己的影子赛跑,不可能从真实的两面去看清它,只是经意不经意的感受着有种东西在过去,也许更适合的只有那句话:时不待我,怎可驻足一周,短短的一周,我学到了很多不知道的东西,实在是感受颇深。
当今企业竞争范围的伴随社会市场经济的发展以及信息化程度的不断提高而日益扩大,这样就要求企业在各个方面加强管理,要求企业有更高的信息化集成来实现对企业的整体资源进行集成管理。
现代企业都意识到,企业之间的竞争是综合实力的竞争,要求企业有更强的资金实力,具备强有力的管理能力和更快的市场响应速度。
因此,引入计算机系统的意义是非常重大的。
在社会主义市场经济高速发展的今天,如果计算机的各项管理运做仍然停滞在以纸、笔为主要工具的阶段,就会因为信息量的快速增长而无法迅速、准确的运用计算机完成各项工作,这样,必将成为企业各方面发展的一个瓶颈。
而在当代这个以信息时代为主题的社会里,计算机技术高速发展,将信息技术应用于对现代企业的管理日益普及。
计算机技术不但可以提高信息的处理速度和提高信息处理的准确性,更重要的是,可以进一步的解放劳动力,将他们分配到更需要人力资源的岗位上去,从而加快社会工作的现代化、综合化的发展步伐。
管理文件的实验报告
一、实验目的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②用绝对路径将工作目录改到根目录。
操作系统文件管理实验
课程实验报告}//窗体加载时发生private void Form1_Load(object sender, EventArgs e){foreach (TreeNode node in treeView1.Nodes){show1(node);}}//treeview 显示图标的方法public void Tree(){treeView1.Nodes.Clear();currentPath = "";Label1.Text = currentPath;DriveInfo[] drivers = DriveInfo.GetDrives();foreach (DriveInfo driver in drivers){TreeNode tn = new TreeNode();tn.Text = ;tn.Tag = ;tn.ImageIndex = 1;treeView1.Nodes.Add(tn);Label1.Text = tn.FullPath;}}//更新结点(列出当前目录下的子目录)private void show1(TreeNode node){try{node.Nodes.Clear();DirectoryInfo dir = new DirectoryInfo(node.FullPath);DirectoryInfo[] dirs = dir.GetDirectories();foreach (DirectoryInfo d in dirs){TreeNode tn = new TreeNode();tn.Text = ;tn.ImageIndex = 2;tn.Tag = d.FullName;node.Nodes.Add(tn);Label1.Text = tn.FullPath;}catch{}}private void show2(string newpath){try{DirectoryInfo currentDir = new DirectoryInfo(newpath);DirectoryInfo[] dirs = currentDir.GetDirectories(); //获取目录FileInfo[] files = currentDir.GetFiles(); //获取文件listView1.Items.Clear();//列出文件夹foreach (DirectoryInfo dir in dirs){ListViewItem dirItem = listView1.Items.Add(, 2); = dir.FullName;dirItem.SubItems.Add("");dirItem.SubItems.Add("文件夹");dirItem.SubItems.Add(stWriteTimeUtc.ToString());}//列出文件foreach (FileInfo file in files){ListViewItem fileItem = listView1.Items.Add();if (file.Extension == ".exe" || file.Extension == "") //程序文件或无扩展名{fileItem.Text = ;fileItem.ImageIndex = 3;listView1.Items.Add(fileItem);}else//其它文件{fileItem.Text = ;fileItem.ImageIndex = 4;listView1.Items.Add(fileItem);} = file.FullName;}Label1.Text = newpath;Label2.Text = listView1.Items.Count + "个对象";catch { }}//显示右边框public void treeView1_AfterSelect(object sender, TreeViewEventArgs e){if (e.Node == null) return;string path = (string)e.Node.FullPath;//获取或设置包含树节点有关数据对象 listView1.Items.Clear();if (path == null) return;if (path != ""){try{show1(e.Node);show2(path);}catch { }}}//新建文件夹private void create(){try{string path = bine(currentPath, "新建文件夹");int i = 1;string newPath = path;while (Directory.Exists(newPath)){newPath = path + i;i++;}Directory.CreateDirectory(newPath);listView1.Items.Add(newPath, "新建文件夹" + (i - 1 == 0 ? "" : (i - 1).ToString()), 2);}catch (Exception ex){MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);}}private void文件夹ToolStripMenuItem_Click(object sender, EventArgs e) {create();}private void退出ToolStripMenuItem_Click(object sender, EventArgs e) {this.Close();}private void打开ToolStripMenuItem_Click(object sender, EventArgs e) {if (listView1.SelectedItems.Count > 0){string newPath = listView1.SelectedItems[0].Name;try{//判断是目录还是文件if (Directory.Exists(newPath)){show2(newPath);}elseSystem.Diagnostics.Process.Start(newPath); //打开文件 }catch (Exception ex){MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);}}}private void删除ToolStripMenuItem_Click(object sender, EventArgs e) {if (listView1.SelectedItems.Count == 0)return;DialogResult result = MessageBox.Show("确定要删除吗?", "提示", MessageBoxButtons.YesNo, rmation);if (result == DialogResult.No)return;try{foreach (ListViewItem item in listView1.SelectedItems)。
操作系统文件管理实验报告
操作系统实验报告实验名称:文件管理专业班级:网络工程1301学号:姓名:2015 年6 月16 日实验一文件管理一、实验目的文件管理是操作系统的一个非常重要的组成部分。
学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。
从而对各种文件操作命令的实质内容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。
二、预备知识1.VS2010的使用2.C#的学习3.文件主目录与子目录的理解三、实验内容与步骤用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。
要求设计一个10 个用户的文件系统,每次用户可保存10 个文件,一次运行用户可以打开5 个文件。
系统能够检查打入命令的正确性,出错时能显示出错原因。
对文件必须设置保护措施,例如只能执行,允许读等。
在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。
文件的操作至少有Create、delete、open、close、read、write 等命令。
所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。
前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。
另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。
程序流程图:逻辑设计:使用线性数组表表示MFD,泛型数组表示UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码),文件的状态等信息。
物理设计://主目录private FileUser[] mfd;//当前用户private FileUser currentuser;/// <summary>/// 文件/// </summary>public class FileObject {public string filename;public int size=20;public int read=0;public int write = 0;public string author;}/// <summary>/// 文件系统用户/// </summary>public class FileUser {public string username;public List<FileObject> ufd = new List<FileObject>();public int filecount=0;}步骤详述:1、主目录及用户目录机构显示:2、当前操作用户登录:3、文件管理系统菜单:4、create命令:5、open命令:6、close命令:7、delete命令:8、read命令9、write命令10、exit命令四、实验总结通过这次的课程设计使我认识到要将操作系统这门计算机专业的课学好不仅仅是要把书上的基本知识学好而且还要不断进行实践,将所学的跟实践操作结合起来才能更好地巩固所学,才能提高自己实践能力.通过这次的设计使我认识到只停留在表面理解问题是很难使问题得到很好的解决的,实践能力与理论知识同样重要。
文件管理实验报告
昆明理工大学信息工程与自动化学院学生实验报告(2012 —2013 学年第二学期)课程名称:操作系统开课实验室:年月日一、实验目的用C或C++语言编写和调试一个简单的文件系统,模拟文件管理的基本功能。
从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。
二、实验原理及基本技术路线图(方框原理图)用C模拟实现文件系统的管理;要求设计一个多级目录结构的文件系统,能正确描述文件控制块,采用合理的外存分配方式,能实现基本的目录及文件的操作,包括创建、删除、重命名、复制、移动等功能,并对文件有一定的存取权限控制。
文件通常存放在外存(如磁盘、磁带)上,可以作为一个独立单位存放和实施相应的操作(如打开、关闭、读、写等)。
为了加快对文件的检索,往往将文件控制块集中在一起进行管理。
这种文件控制块的有序集合称为文件目录。
文件控制块就是其中的目录项。
下图示例一种目录的组织形式。
模拟一个文件系统,包括目录文件,普通文件,并实现对它们的一些基本操作。
假定每个目录文件最多只能占用一个块;一个目录项包括文件名(下一级目录名),文件类型,文件长度,指向文件内容(下一级目录)的指针内容。
普通文件可以只用目录项(FCB)代表。
三、所用仪器、材料(设备名称、型号、规格等)。
计算机一台四、实验方法、步骤//利用交互式命令实现树型目录结构和文件管理,同时利用位示图表示外存的分配情况,新建文件时分配必要的空间,模拟文件分配表记录文件在外存上的存储方式。
了解系统对文件的操作。
//在文件中保存目录内容,创建文件或子目录可以用命令行命令:MD、CD、RD、MK(创建文件)、DEL(删除文件)和DIR#include<iostream>#include<stdlib.h>#include<time.h>#include <locale.h>using namespace std;#define beginsize 5#define LENGTH 3typedef struct{i nt data[LENGTH];}Indireone;typedef struct{I ndireone * first[LENGTH];}Indiretwo;typedef struct{I ndiretwo * second[LENGTH]; }Indirethree;typedef struct Node{i nt begin[beginsize];I ndireone * one;I ndiretwo * two;I ndirethree * three;}Mixtab;typedef struct NODE{c har name[50];i nt type;//是文件还是目录i nt size;//如果是文件给出大小s truct NODE *next;//兄弟结点s truct NODE * sub;//子节点s truct NODE * father;//父亲节点M ixtab * table;}FCB;//文件控制块FCB * root;FCB * present;FCB * finding;char stringname[300];int Bitmap[16][16];//位示图int leftbit=0;void Initall(){i nt i,j;s rand( time(NULL) );f or(i=0;i<16;i++){//初始化位示图for(j=0;j<16;j++){Bitmap[i][j]=rand()%2;}}r oot=(FCB *)malloc(sizeof(FCB)); s trcpy(root->name,"\\");r oot->type=0;r oot->size=0;r oot->next=NULL;r oot->father=root;r oot->sub=NULL;f or(i=0;i<16;i++){for(j=0;j<16;j++){if(Bitmap[i][j]==0){leftbit++;}}}}//判断分配外存时候是不是足够int Judgeenough(int n){i f(leftbit>=n)return 1;e lse return 0;}//添加时候用void Addpoint(FCB * f){F CB * temp;i f(present->sub==NULL){present->sub=f;}e lse{temp=present->sub;while(temp->next!=NULL){temp=temp->next;}temp->next=f;f->next=NULL;}}//删除时候用void Delpoint(FCB *f){F CB * temp=present->sub;i f(temp==f){present->sub=temp->next;delete(f);}e lse{while(temp->next!=f){temp=temp->next;}temp->next=f->next;delete(f);}}//查找是不是已经存在int Isexist(char ary[],int x){F CB * temp;i f(present->sub==NULL){return 0;}e lse{temp=present->sub;while(temp!=NULL){if((!strcmp(temp->name,ary))&&(temp->type==x)){finding=temp;return 1;}temp=temp->next;}return 0;}}void Mdlist(){c har listname[50];c in>>listname;F CB * temp;i f(Isexist(listname,0)){cout<<"子目录或文件"<<listname<<"已存在。
操作系统实验四 文件系统实验
return
scanf("%s",s); strcpy(t->fileName,s); printf("\n 请输入该文件基本信息:"); scanf("%s",s); strcpy(t->file,s); t->brother=t->child=NULL; if(p->child==NULL) {
goto label; } p=p->next; } printf("文件不存在!\n"); goto label; } else if(i==8) { show(f); goto label; } else { goto label; } } void Select() { char username[20]; int i; printf("请输入用户名:\n"); scanf("%s",username); for(i=0; i<userNum; i++) { if(!strcmp(mdf[i].userName,username)) { fp= mdf[i].p; if(fp!=NULL) {
printf("该用户已创建文件:\n"); while(fp!=NULL) {
fp=fp->next; printf("%s\n",fp->fileName); } } else { printf("该用户尚未创建任何文件!\n"); } fp= mdf[i].p; Operation(fp); }
#include <stdio.h> #include <stdlib.h> #include <string.h> #define getpch(type) (type*)malloc(sizeof(type)) int userNum=0;
Linux实验4-Linux文件系统-目录和文件管理
实验报告课程名称: Linux操作系统实验名称:实验4、Linux文件系统-目录和文件管理学生姓名:班级学号学院(系):指导教师:实验时间:年月日实验成绩:实验四、Linux文件系统-目录和文件管理一、实验要求(1)掌握目录和文件管理的操作命令;(2)掌握文件权限的修改方法。
(3)掌握文件链接的方法。
二、实验内容和实验步骤【操作要求1】查看Linux系统常见的目录。
【操作步骤】输入命令:ls,查看Linux系统常见的目录,截图如下:【操作要求2】显示当前目录下文件类型。
【操作步骤】输入命令:ls –l|more,截图如下:说明:●“-”:表示普通文件●“d”:表示目录文件●“c”:表示字符设备文件●“b”:表示块设备文件●“l”:表示符号链接文件【操作要求3】查看当前目录下所有文件类型【操作步骤】输入命令:file *,截图如下:【操作要求4】先创建两个新目录dir1和dir2,然后将dir2目录移到dir1目录中,最后删除dir2目录。
【操作步骤】(1)以普通用户user登陆字符界面,输入命令:pwd,当前目录为用户的主目录:/home/user。
(2)输入命令:ls –l,查看当前目录中的所有文件。
(3)创建两个目录,输入命令:mkdir dir{1,2}。
(4)输入命令:ls –l,确认两个目录创建成功。
以上4个步骤截图如下:(5)输入命令:mv dir2 dir1,将dir2目录移动到dir1目录。
(6)输入命令:cd dir1,切换dir1目录,再输入:ls命令,查看到dir2目录。
截图如下:(7)删除dir2目录,输入命令:rm –rf dir2。
【操作要求5】查找profile文件。
【操作步骤】(1)切换用户为超级用户,输入命令:su -,并输入密码。
(2)输入命令:find /etc -name profile, 截图如下:(3) 使用exit命令,退出超级用户身份。
【操作要求6】将/etc/profile文件中所有包含“HOSTNAME”的行存入f4文件,并修改f4文件的权限,让所有用户都可以读写。
实验5-操作系统进程与文件管理--实验报告表-
(本文档包含:实验5实验报告与第5周作业题)实验5操作系统进程与文件管理实验报告学号1404505147姓名榭雨骅班级:临床医学14(1)实验时间:最新年04月13日实验报告表51进程同步实验观察结果记录表进程1操作步数进程1状态转换情况记录1进程1申请资源A1个2操作系统返回进程1资源A1个3操作系统剩余资源A1个4阻塞队列中进程1持有资源满足进城执行需要,进入就绪列队尾部5等待运行进程2(请从进程2出现以后的步数开始记录)操作步数进程2状态转换情况记录进程2申请资源B1个操作系统返回进程2资源B1个操作系统剩余资源B0个阻塞队列中进程2持有资源满足进城执行需要,进入就绪列队尾部进程3(请从进程3出现以后的步数开始记录)操作步数进程3状态转换情况记录进程3申请资源A1个操作系统返回进程3资源A1个操作系统剩余资源A0个进程3申请资源B1个进程3持有资源不满足进城执行需要,将其转入阻塞列队尾部进程1运行进程1结束,释放资源A1个进程2执行进程4(请从进程4出现以后的步数开始记录)操作步数进程4状态转换情况记录进程4申请资源A1个操作系统返回进程4资源A1个操作系统剩余资源A0个进程4申请资源B1个进程4持有资源不满足进城执行需要,将其转入阻塞列队尾部进程2结束,释放资源B1个进程5(请从进程5出现以后的步数开始记录)操作步数进程5状态转换情况记录进程5申请资源A2个进程5申请资源B1个操作系统返回进程5资源B1个操作系统资源不足,产生死锁操作系统进程死锁的解决方法运行之前进入就绪列队等待运行的进程,释放资源。
剥夺陷于死锁的进程的资源,从而解除死锁。
实验报告表5-2实验报告表5-2基于Window系统的进程实验记录表列举“任务管理器”中进程的“用户名”类型:adminitrator,tem,networervice,ocaervice列举“任务管理器”中进程的“用户名”类型:adminitrator,tem,networervice,ocaervice列举你所知道的打开“任务管理器”的不同方法(至少两种):在桌面下面任务栏处鼠标右击,移动光标到任务管理器处单击打开任务管理器在键盘上按CtrAtDe打开任务管理器关闭一个进程进程名称:进程用户名:tem进程描述:window资源管理器关闭后的变化:桌面所有图标消失打开一个进程进程名称:打开后的变化:360浏览器360浏览器界面打开,可以进行正常的网页浏览实验报告表5-3打开文件过程演示实验记录表操作序号文件名文件路径物理首地址文件索引序列第1次操作命运交响曲D:/多媒体/音乐/命运交响39911225第2次操作朱自清一一匆匆D:戊档/朱自清——19198227第3次操作野生动物D:/多媒体/有声读物/野生动441023第4次操作fowerD:/多媒体/图片/772221实验报告表5-4创建文件过程演示实验记录表创建的文件名文件路径分配的物理首地址文件索引序列鲁迅朝花夕拾D:/文档/1313141516实验报告表5-5删除文件过程实验记录表删除的文件名是否删除文件目录项是否删除文件索引序列fower是是实验小结:在本次实验中,你有哪些收获?遇到哪些问题?这些问题是否已经解决?如果已经解决了,请说说你是如何解决的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统文件管理实验报告-图文
实验报告
课程名称计算机操作系统实验名称文件管理班级学号姓名成绩
指导教师赵安科实验日期 2021年6月18日
一.实验
题目:文件管理
二.实验内容:模拟文件存储空间的管理,采用空白文件目录法和空白块链法实施空间分配。
三.实验说明:文件存储空间管理是文件系统的重要内容。
常用的管理思想有空白文件目录法、空白块链法和位示图法。
本实验采用前两种方法进行空间分配。
(1)空白文件目录法进行空间分配时,需要建立相关的数据结构,记录目前空白区域和已使用区域,假设开始时全部区域空闲。
当有文件需要存储时,先检查空白文件目录,找到适合区域立即分配,并修改空白文件目录表和已使用区域分配表。
为此需建立两张表格,分别记录相关数据。
空白文件目录表(初始)
序号 1 首空白块号 0 空白快个数 100 物理块号
0,1,2,……,98,99 备注空白文件目录(中间)
序号 1 2 3 4 5 首空白块号 2 9 25 39 …… 空白块个数 4 3 5 2 …… 物理块号 2,3,4,5 9,10,11 25,26,27,28,29
39,40 …… 标志未分配未分配未分配未分配未分配已使用区域表(中间)
上述两张表的数据在系统运行中是发生变化的。
文件标识beta Alpha Toyota Sony Ford …… 首块号 0 6 12 30 50 …… 文件块个数 2 3 13 9 4 …… 状态占用占用
占用占用占用…… 备注文件空闲区分配和释放算法如下图所示:
图一文件空闲区分配算法
图二文件空闲区回收算法
(2)空白块链法进行空间分配时,需要建立链表数据结构,将空闲块按顺序加以组织,分配和回收时在链首完成,同时建立文件目录,记录文件占用空间情况。
文件标识beta Alpha Toyota Sony Ford …… 首块号 0 6 12 30 50 …… 备注
四.实验要求:
(1)自拟模拟数据演示运行结果(假定系统可用空闲块数为100)。
为便于检查,建立和删除文件顺序如下:
分配文件:F1,3 分配文件:F2,5 分配文件:F3,3 分配文件:F4,8 分配文件:F5,4 分配文件:F6,2 删除文件:F1 删除文件:F2 分配文件:F7,6 删除文件:F3 分配文件:F8,4 删除文件:F5 分配文件:F9,4 ……
每完成一个文件的分配和删除后,显示空白文件目录当前内容。
(2)空白文件目录法必须完成,空白块链法选做。
五.程序中所用数据结构及说明:
实验中,定义了两个结构体类型—SPACE(空白区)和OCCUPY(占用区),其结构如下:。