UNIX系统管理-第四章:文件系统布局

UNIX系统管理-第四章:文件系统布局
UNIX系统管理-第四章:文件系统布局

UNIX系统管理-第四章:文件系统布局

目标

完成这一章,你能作以下事情:

描述为什么要区分动态文件系统和静态文件系统

描述/sbin,/usr,/stand,/etc,/dev,/var(操作系统相关目录)的主要内容

描述/opt,/etc/opt,和/var/opt(应用程序相关)的主要内容

使用find,和whereis命令在文件系统中查找文件

介绍文件系统范例

许多系统管理任务都要求系统管理员知道系统和应用程序的配置文件和日志文件的位置,并能对这些文件进行操作。所以了解文件系统组织结构,可以让你能找到这些文件并进行系统管理的工作。

下面介绍标准的A T&T SVR4文件系统布局。

文件系统中的文件可以通过不同的方法分类。例如可以分为静态文件和动态文件,可执行文件和配置文件。这些分类原则组成了文件系统的逻辑结构,并且能够简化系统管理的任务。

文件系统可以分为静态和动态两个部分

文件系统中的文件和目录被分为静态和动态两类。静态文件和目录中的内容很少更改,除非是安装补丁或者安装操作系统或安装应用程序。可执行文件,库,和系统启动工具,都被认为是静态的。

动态文件和目录是经常更改的。配置文件。临时文件,和用户文件被认为是动态的。

区分动态和静态数据提供了以下的优点:

系统备份更容易

磁盘空间管理更简单

可执行文件和配置文件

配置数据和可执行代码是分别保存的。分开保存配置文件和可执行文件能够提供了如下优点:

当操作系统升级的时候,对配置数据的更改不会丢失。

可以很容易地通过网络共享可执行文件,同时每个主机自己的配置文件可以存储在本地主机上

文件系统布局

操作系统的可共享部分的数据存在于/usr,和/sbin下面。只有操作系统能够安装文件到这些目录下去。应用程序位于/opt下面。

/usr,/sbin目录和/opt下面的应用程序子目录能够在网络中的主机之间共享。因为它们不包含每个主机特定的信息。每个主机特定的信息位于文件系统的动态数据目录下。

这些目录的通常的定义为:

目录

/usr

/sbin 引导系统和安装其它文件系统的最少需要的命令

/opt

/etc

/dev

/var

/mnt

/tmp 系统临时文件

/stand内核和引导加载器。

/home 用户目录

/usr目录的更详细的内容

/usr目录包含操作系统的大部分,包括命令,库,和文档。/usr文件系统包含操作系统的文件,例如可执行文件和ASCII文档。

/usr目录下标准的子目录在如下定义;

/usr/bin操作系统的用户命令

/usr/conf

/usr/contrib 发布的软件

/usr/lbin 其它命令文件

/usr/local

/usr/newconfig默认的操作系统配置数据文件

/usr/sbin 系统管理命令

/usr/share

/usr/share/man

/usr/share/doc

/var目录的详细内容

/var目录中保存各种日志,临时文件,中间文件,和打印缓冲文件。/var目录的大小变化很大。在通常情况下,任何应用程序或者命令在运行时候创建的文件,对操作系统来说不是关键性的数据,通常都会被放在/var目录的下面。例如,/var/adm中会包含于系统管理相关的日志和其它运行时创建的文件。/var还包含有可变大小的文件例如crontabs,和打印系统和邮件系统的缓冲区。

通常/var下面的都是一些临时文件,系统管理员如果想要释放磁盘空间,可以通过搜寻/var目录,来查找那些文件可以被清除掉。

/var

/var/adm

/var/adm/crash dump文件

/var/mail 收到的邮件

/var/opt/ 应用运行时产生的文件(例如日志,临时文件)。每一个应用程序有自己的目录

/var/spool 操作系统子系统,例如lp(打印),cron等系统的缓冲文件

/var/tmp /usr目录下的命令产生的临时文件

/var/adm目录下的详细内容

这个目录被用来保存普通的管理文件,日志和数据库,例如,syslog产生的文件,cron使用的文件,内核dump 文件。

/var/adm/crash 内核崩溃dump文件会被保存在这个目录下

/var/adm/cron cron使用的日志文件,

/var/adm/sw 志文件

/var/adm/syslog syslog守护进程负责写这些日志信息。syslog守护进程的行为能够通过/etc/syslog.conf来定制。默认的日志文件名为/var/adm/syslog/syslog.log。在启动的时候,这个文件被拷贝为OLDsyslog.log,新的syslog.log文件被创建。这个文件是一个ASCII码文件。

/var/adm/sulog su命令的使用记录。sulog是一个ASCII文件。

/var/adm/wtmp ASCII文件。last命令被用来显示这个文件的信息。wtmp文件会持续增长,系统管理员应经常对这个文件进行修剪。

/var/adm/btmp ASCII文件。lastb命令可以用来显示这个文件中的信息。btmp文件会持续增长,系统管理员应经常对这个文件进行修剪。

/var/adm/utmp write,who等命令会使用这个文件,但它不是ASCII文件,所以不能被直接浏览。

应用程序的目录

每一个应用程序会在/opt,/etc/opt,/var/opt下面有自己的子目录。而应用程序的可共享的,或者静态的部分在它们自己的/opt/application目录下,这个目录的结构同操作系统文件系统的结构类似:

/opt/application/bin 用户命令

/opt/application/share/man 帮助手册

/opt/application/lib 库

/opt/application/lbin后台命令

/opt/application/newconfig 配置文件的主拷贝

应用程序的日志文件在/var/opt/application目录下,而主机特定的配置文件在/etc/opt/application目录下。

帮助你定位的命令

find 在文件系统层次结构中查找文件

whereis

which PATH中定位一个可执行文件

file 判断文件的类型

作为系统管理员,你可能需要在整个文件系统中检索文件。UNIX提供了几个查找文件和执行文件的工具,它们是:

find命令

find命令是一个功能强大的工具。它可以从你指定的点开始在文件系统中查找符合条件的文件。也可以通过名字,属主,和修改时间等等来查找文件。find同时允许你使用找到的文件作为一个参数来执行一个命令。

例子:

查找属于用户grep的所有文件

# find / -user grep

在/tmp目录下查找7天都没有存取的文件

# find /tmp -type f -atime +7

删除core文件

# find / -name core -exec rm {}\;

whereis命令

whereis 命令在你收到“没有发现”错误信息的时候十分有用。它会搜索一个预定义的目录列表。默认的情况下,whereis会去搜索源程序,二进制文件,和帮助手册。你可以使用-b选项来限制它只搜索二进制代码。

例子:

# whereis -b ls

ls: /usr/bin/ls /sbin/ls

which 命令

which命令在在判断将要使用命令的哪一个版本时有用。一些命令有多个home。你到底是执行的哪一个版本,是由你PATH变量中指定的目录的顺序决定的。

file命令

file命令对文件作一系列的测试,然后会试图对文件归类。这个命令在判断一个命令是一个shell脚本还是一个二进制的可执行文件时有用。

例子:

# file /sbin/shutdown

/sbin/shutdown : s800 shared executeable

# file /sbin/rc

/sbin/rc: ascii text

strings 命令

strings命令可以找出一个二进制文件中的可用信息,它会在屏幕上显示出文件中的任何可以打印的字符。

实验5 文件系统管理

广东技术师范学院实验报告 学院:计算机科学学 院 专业:物联网工程班级: 12物 联网 成绩: 姓名:邓文龙学号:08 组别:组员: 实验地点:工业中心204 实验日期:2014.03.26 指导教师签名: 实验5项目名称:文件系统管理 1、实验目的 理解Linux系统中的文件系统基本结构,掌握各种访问和管理文件以及文件系统的基本命令。 2、实验内容 2.1 文件系统管理的基本概念 文件系统(file system)是指操作系统中用于管理文件信息的软件机构。借用维基百科里面关于文件系统的解释(https://www.360docs.net/doc/d65357054.html,/wiki/文件系统):计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。在写入新数据之前,用户不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释放)功能由文件系统自动完成,用户只需要记住数据被写入到了哪个文件中。 文件系统既要建立在一定的物理存储设备上,但却是一个逻辑上的概念。对用户来说,关于文件的各种操作及访问都需要通过文件系统进行,文件系统成为用户和存储设备之间的一个重要界面。本实验主要讨论在Linux系统中文件以及文件系统管理的各种操作。 文件系统管理主要包括两大部分的内容,一部分是结合文件系统的基本特性,对文件系统作必要的设置,监控文件系统的基本使用状态,另一部分则是对文件的各类管理操作。这些都是从软件层面上对文件系统进行管理。部分最基本的shell命令已经之前的实验中有所介绍。 2.2文件系统 2.2.1文件系统的层次结构(补充教材6.4.1节) 文件系统表达了一种组织文件的方式。一般地,UNIX文件系统采用的都是一种所谓树状的层次结构,称为“根文件系统”。如下图所示,树根以“/”表示,

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

操作系统实验报告实验名称:文件管理 专业班级:网络工程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; ///

/// 文件 /// public class FileObject { public string filename; public int size=20; public int read=0; public int write = 0; public string author; } /// /// 文件系统用户 /// public class FileUser { public string username;

(完整版)linux文件系统管理-权限管理实验4报告

实验报告 课程Linux系统应用与开发教程实验名称linux文件系统管理-权限管理(高级设置) 一、实验目的 1、掌握Linux文件系统权限的设置 2、掌握linux用户帐号与组管理 3、掌握linux 文件共享的设置方法 4、掌握linux 文件共享的权限设置方法 二、实验内容 1、使用root帐号通过系统提供的6个虚拟控制台登陆到linux,或在x-windows开启一个终端。 2、完成以下的实验内容 (1)、假设你是系统管理员:现要在公司linux服务器系统中新增一些用户与一个用户组。 ?使用groupadd account 添加一个名为account的组 ?使用useradd -G account acc-user1,(该命令将添加一个用户名为acc-user1的用户, 同时会建立一个与用户名同名的私有组(该私有组为用户的默认组,这个组中只有一个用户名),并把该用户将加入account的标准组,同时,按同样的方法建立acc-user2、acc-user3、acc-user4。 ?建立用户后,请使用x-window中的用户与组管理工具查看用户与组建立情况,检查用户与组的归属情况。 (2)、开启多个控制台,分别使用acc-user1、acc-user2、acc-user3登陆系统(可以在控制台分别登陆,也可以在X-windows中多开几个终端程序,默认使用root登陆,然后使用su命令通过切换用户的方式登陆,其语法为“su - user-name”,提示可以在登陆成功后运行命令“id”查看当前登陆的用户属于哪些组,当前的默认组是什么?) (3)、为account组建立一个公共共享目录/home/account-share,满足以下的权限设定要求,以及设置何种的umask: ?该目录的拥有者为acc-user1,所属组为account。 ?在该目录下建立一个/home/account-share/full-share的子目录,修改该目录的权限,使得account组的成员均能在对该目录有完全控制权限,account组外的其他用户没有任何权限,即account组的成员都可以在该目录下建立文件,同时在该子目录full-share下建立的文件,只有文件建立者有权限删除,并且每个用户在该子目录full-share下建立的文件也能自动与该account组成员可读共享。 ?在/home/account-share/为每个用户建立一个与用户名同名的子目录(如/home/account-share/acc-user1为用户acc-user1的目录,其拥有者为acc-user1,所在的组为account),配置该子目录的拥有者有完全控制权限,而同组用户只能读取,同时在用户在该目录下建立的文件,可供同组用户读。 (4)、考虑完成以上的共享目录权限设置,应注意哪些设置。包括目录的权限,目录的拥有者,目录所在的组,具体文件的权限,umask设置等。 (5)、实验报告应体现出使用不同身份的用户对所配置目录的访问测试过程。 三、实验环境 安装有vmware或visual pc软件的window主机,系统中有提供turbolinux或redhat的硬盘

3.ext2ext3 文件系统管理

CentOS 丛书目录 — 系统管理 — 网络服务 — 应用部署 ext2/ext3 文件系统管理 ext2/ext3 文件系统管理工具 在 e2fsprogs 软件包中提供了 ext2/ext3 文件系统管理工具。下面列出常用工具的说明: 创建 ext2/ext3 文件系统 mke2fs 命令用于创建 ext2/ext3 文件系统。mkfs.ext2 和 mkfs.ext3 命令都是 mke2fs 的硬链接,当使用 man mkfs.ext2 和 man mkfs.ext3 命令查看手册页时都定向到 mke2fs 。 mke2fs 命令的格式如下: 格式1: mke2fs [<选项>...] <设备名> [blocks-count] 格式2: mke2fs -j [<选项>...] <设备名> [blocks-count] 说明: 格式1用于创建 ext2 文件系统;格式2用于创建 ext3 日志文件系统。 blocks-count 用于指定要创建的文件系统的块数,此值应该小于 fdisk 命令查看的此分区或逻辑卷的块数,若省略此参数将使用整个分区或逻辑卷创建文件系统。 内容提要 1.熟悉 ext2/ext3 文件系统管理工具 2.学会使用 mke2fs 创建 ext2/ext3 文件系统 3.学会使用 e2fsck 检查 ext2/ext3 文件系统 4.学会使用 tune2fs 调整 ext2/ext3 文件系统的属性 工具 说明 /sbin/fsck 文件系统检查的前端工具 /sbin/e2fsck 检查和修复 ext2 或 ext3 文件系统 /sbin/fsck.ext2 检查和修复 ext2 文件系统 /sbin/fsck.ext3 检查和修复 ext3 文件系统 /sbin/mke2fs 创建 ext2 或 ext3 文件系统 /sbin/mkfs.ext2 创建 ext2 文件系统 /sbin/mkfs.ext3 创建 ext3 文件系统 /sbin/badblocks 检查磁盘分区坏块 /sbin/tune2fs 调整 ext2/ext3 文件系统的可调属性参数 /sbin/dumpe2fs 显示 ext2/ext3 文件系统的超级块和块组信息 /sbin/debugfs ext2/ext3 文件系统调试器 /sbin/e2label 显示或者修改 ext2/ext3 文件系统的卷标 /sbin/findfs 根据 ext2/ext3 文件系统的卷标或 UUID (全局唯一标识符,Universally Unique Identifier )查找对 应的设备 /sbin/resize2fs 更改 ext2/ext3 文件系统的容量

磁盘空间管理模拟实验

目录 摘要 (2) 前言 (3) 正文 (4) 1. 实验目的 (4) 2. 设计思想 (4) 3. 实验结构图 (5) 4. 各模块的伪码算法 (5) 5. 测试分析 (10) 6. 测试结果 (11) 7. 源程序 (14) 总结 (24) 参考文献 (25) 致谢 (26)

摘要 要把文件信息存放在存储介质上,必须先找出存储介质上可供使用的空闲块。存储介质上某个文件不再需要时,又要收回它所占的存储空间作为空闲块。用户作业在执行期间经常要求建立一个新文件或撤消一个不再需要的文件,因此,文件系统必须要为它们分配存储空间或收回它所占的存储空间。如何实现存储空间的分配和收回,取决于对空闲块的管理方法,主要有两种对磁盘存储空间的分配和收回的方法:位示图法(用一张位示图(简称位图)来指示磁盘存储空间的使用情况),空闲块链接法(在UNIX操作系统中,把磁盘存储空间的空闲块成组链接)。 关键词:磁盘的分配和回收管理;位示图;成组链接。

前言 通过该题目的设计过程,掌握磁盘存储管理的原理、软件开发方法并提高解决实际问题的能力。学习使用位示图管理磁盘空间的分配与回收,了解程序运行前和回收磁盘的物理地址过程。学会用模拟UNIX系统的成组链接法实现磁盘空间的管理。了解UNIX的命令及使用格式,熟悉UNIX/LINUX的常用基本命令,练习并掌握UNIX提供的vi编辑器来编译C程序,学会利用gcc、gdb编译、调试C程序。希望通过本次设计过程可以提高自己的分析问题的能力和实际动手的能力,将学到的知识用于实践中。

正文 1. 实验目的 磁盘格式化时,系统把磁盘存储空间分成许多磁道。每个磁道又分成若干个扇区(又叫做块)。这些空间就是用来存放用户文件的。当用户的文件不再需要时,就应该删除。把一个文件存放到磁盘上时,可以组织成连续文件,链接文件,索引文件等。因此,磁盘空间的分配方法也有两种,一种是连续空间的分配;一种是不连续空间的分配(又叫动态分配)。如何充分有效的利用磁盘空间,是操作系统应解决的重要课题之一。通过本实验,使学生对磁盘空间的分配与回收有一个较深入的理解。 2. 设计思想 位示图法: 一个简单的管理方法是用一张位示图(简称位图)来指示磁盘存储空间的使用情况。一个盘组的分块确定后,根据分配的总块数决定位图由多少个字组成,位图中的每一位与盘组分块一一对应。位示图是一张可以反映磁盘空间是否被占有的模拟图,用一个二维数组表示磁盘的空间,数组内每一个元素表示磁盘内相应的分块,数组元素为“1”表示该块已被占,“0”表示该块为空。数组元素位置与磁盘分块一一对应,即可描述出磁盘空间的利用情况。 成组链接法: 首先定义磁盘分配数组并初始化,9个一维数组分别表示9个空闲块,程序运行时,先将专用块A〔0〕复制到内存中,然后进行功能选择,分配时,查MA,从中找出空闲块号,当一组的空闲块只剩第一块时,应把该块中指出的下一组的空闲块数和块号复制到专用块这,然后把该块分配给申请者,当一组的空

数据管理技术选择题

数据管理技术选择题精选 数据管理技术的基本概念 数据[date(DB)]:是对现实世界中客观事物的符号化表示,可以用数字来表示的数据是数值数据,如年龄、身高、价格等;用非数字形式来表示的数据是非数值数据如文字、图像、声音等。P4 数据类型:数字型(数量、价格)、文本型(姓名、地址)、日期型(出生日期、生产日期)、逻辑 型(是否学生)、OLE型(照片、音乐)。P32 1. (1)用一组数据“姓名:赵明,所教学科:语文,出生日期:1970-10-2”来描述教师信息,其中 “姓名D(出生日期C)”数据可设置为 (2)用一组数据“CD编号:A001,CD名称:黄河,价格(元):27,数量(片):100,唱片公司: 新力”来描述CD唱片销售信息,其中“CD编号D(价格B)”数据可设置为 (3)用一组数据"姓名:赵明,任教年级:高一,教师照片:"来描述教师信息,其中"教师 照片"数据在Access中可设置为A A. OLE对象型 B.数字型 C.日期/时间型 D.文本型 数据库(DB):按照某种模型组织起来的,可以被用户或应用程序共享的、大量且互相关联的数据集合P8 常见的数据库:Foxpro、Access、SQL、Oraclet等P12 2.下列属于数据库管理系统的是A A.SQL Server B.Windows C.旅游线路.xls D.中国邮编区号.mdb 数据库管理系统(DBMS):对数据库中的数据进行管理和控制的软件。P8 3. 4.数据库管理系统B(数据库A/数据D)的英文名称缩写是 A.DB B.DBMS C.DOC D.DATA 统一管理数据库中的数据资源要使用C A.表格管理系统 B.文件管理系统 C.数据库管理系统 D.Windows资源管理系统 数据管理技术发展的三个阶段:①人工管理阶段②文件系统阶段③数据库系统阶段P7 5. 6.数据管理技术经历了三个阶段,分别是D A.数据库系统、多媒体系统和超媒体阶段 B.文件系统、数据库系统和超媒体阶段 C.文件系统、数据库系统和多媒体系统阶段 D.人工管理、文件系统和数据库系统阶段数据管理技术的最初阶段是A A.人工管理 B.文件系统 C.超文本管理 D.数据库系统 数据库应用系统:针对某个特定目标,建立在数据库管理系统之上的计算机应用系统。P92 7.用Access编制的“校运会资料管理系统”属于A A.数据库应用系统 B.系统软件 C.数据库 D.数据库管理系统

unix文件系统UNIX系统下各文件的作用

unix文件系统:UNIX系统下各文件的作用疯狂代码 https://www.360docs.net/doc/d65357054.html,/ ?:http:/https://www.360docs.net/doc/d65357054.html,/UnixFreeBsd/Article26179.html /etc/auth:数据库文件 /etc/auth/subsystems:带保护子系统授权数据库 /etc/auth/system:整个系统范围内授权数据 /etc/conf:系统配置主目录 /etc/conf/bin:和unix核心有关命令 /etc/conf/cf.d:包含了用于连接unix核心所需配置文件和主要系统配置命令 /etc/conf/init.d:系统串口状态描述文件 /etc/conf/mfsys.d:unix系统上几个文件系统描述信息文件 /etc/conf/node.d:设备节点描述文件 /etc/conf/pack.d:核心目标模块 /etc/conf/pack.d/Sdsk:SCSI硬盘驱动 /etc/conf/pack.d/Srom:SCSI CD-ROM驱动 /etc/conf/pack.d/Stp:SCSI磁带接口卡驱动 /etc/conf/pack.d/ad:ADAPTEC 154X SCSI接口卡驱动 /etc/conf/pack.d/aio:异步硬盘I/O驱动 /etc/conf/pack.d/astmf:增强型VGA显示接口卡 /etc/conf/pack.d/aud:系统审计 /etc/conf/pack.d/busmouse:总线形鼠标驱动 /etc/conf/pack.d/cdb:MC146818驱动(CMOS时钟) /etc/conf/pack.d/cdt:CD-ROM/TAPE驱动 /etc/conf/pack.d/cga:IBM彩色图形接口板驱动 /etc/conf/pack.d/ciha:386/486CBUS SCSI硬盘控制卡驱动 /etc/conf/pack.d/clone:(安装X sight所需)clone模块 /etc/conf/pack.d/cn:主控台驱动  /etc/conf/pack.d/cpqs:Compaq SCSI磁带接口卡驱动 /etc/conf/pack.d/cpyrt:版权设备驱动 /etc/conf/pack.d/cr_uni: Corollary显示接口卡驱动 /etc/conf/pack.d/ct:Wangtec盒式带驱动 /etc/conf/pack.d/da:VGA、EGA、CGA设备驱动 /etc/conf/pack.d//dda:merge和vp/ix直接设备访问驱动 /etc/conf/pack.d/dk:硬盘定位(Layout)支持驱动 /etc/conf/pack.d/dma:DMA通道驱动

unix文件系统

模拟Unix文件系统寒假实践报告 学号:19212122 班级:计科121 姓名:单旭 组长:顾建东

课程设计具体进展: 以初步完成设计及代码编写,需要进行进一步的调试和完善。 具体设计: 【课设原理】 UNIX采用树型目录结构,每个目录表称为一个目录文件。 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: i节点区文件存储区 本次课程设计是要实现一个简单的模拟UNIX文件系统。我们在磁盘中申请一个二进制文件模拟UNIX内存,依次初始化建立位示图区,I节点区,数据块区。并给已打开的文件建立文件打开表。 设计思想: 先建立512个块,每个块对应512个字节,在建立一个有512个元素的字符数组,每个元素对应相应的块号,不管是文件或是目录都有I节点,建立自己设定数目元素的I节点表,并依次把位图区,I节点表,数据块区每个元素映射到一个二进制文件上。在每一次的操作中如果相应元素有变动,则对应在文件中更新输出相应数据,以便下一次启动程序的时候可以快速导入上一次的数据。 数据结构: //用户 typedef struct { char user_name[10]; // 用户名 char password[10]; // 密码 } User; //i节点 typedef struct { short inum; // 文件i节点号 char file_name[10]; // 文件名 char type; // 文件类型 char user_name[10]; // 文件所有者

2-管理Linux文件系统(操作命令)-NEW

管理Linux文件系统【知识目标】 了解Linux文件系统的概念; 掌握常用的文件系统管理命令的使用方法; 掌握修改文件权限的方法; 掌握vi编辑器的使用方法; 【技能目标】 会使用文件系统管理命令; 会进行文件压缩和归档; 能浏览文件和目录; 能操作文件和目录; 能设置文件和目录的权限; 能使用vi编辑器编辑文件;

【Linux文件系统】 根目录:/ 目录结构:树状 绝对路径:/usr/local/bin/ 相对路径:./local/bin/(当前目录-/usr)【Linux系统默认目录】

【Linux文件类型】 普通文件:数据;文本文件、二进制文件; 目录文件: 设备文件:I/O设备文件;符号文件、块文件; 链接文件:指针访问;符号链接文件; 管道文件:进程间传递数据;一端写入,一端读取;FIFO 文件; 【Linux文件权限】 Ls –l:-、d、l、b、c、s、p; rwx rwx rwx:用户权限、用户组权限、其他用户权限;读、写、执行; 权限代码:---(000->0)——rwx(111->7) r--? rw-?r-x?

【目录与文件操作命令】 1、目录浏览 当前路径 ls ls:文件与子目录清单 ls –a:隐藏文件; ls –A:隐藏文件;不显示“.”、“..”; ls –c:修改时间排序;最近修改最前; ls –C:多列显示; ls –d:对于目录文件,只显示文件名称; ls –l:文件、子目录详细信息; 2、文件浏览

cat cat:显示文件内容,;适合单屏文件; cat –b:非空行标注行号; cat –n:所有行标注行号;

实验四 文件系统实验报告

实验四文件系统实验 一 . 目的要求 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个文件操作命令,并加以实现。(如移动读写指针,改变文件属性,更换文件名,改变文件保护级别)。 #include #include #include #include #define MAXSIZE 100 #define ADDSIZE 50 #define PT elem+l-> length #define N 4 typedef struct term{/*班级和学期的结构体*/ char class1[10]; char term1[10]; }term; typedef struct student{/*学生成绩信息的结构体*/ term st;/*班级和学期结构体放于此结构体中*/ char num[10]; char name[12]; float course[4]; float total; float average; int bit; }lnode,*stu; typedef struct{ lnode *elem;/*指向上个结构体的指针*/ int size;/*最大能放lnode结构体成员的个数*/ int length;/*当前长度*/ }sqack,*sq; sqack *l; void init(void)/*动态分配存储空间*/ { l-> elem=(stu)malloc(MAXSIZE*sizeof(lnode)); l-> length =0; l-> size=MAXSIZE; } void input(void)/*输入学生的信息*/ { lnode *newbase,*p; char cla[10],ter[10],ch; int n,i; if(l-> length> =l-> size){ newbase=(stu)realloc(l-> elem,(l-> size +ADDSIZE)*sizeof(lnode));/*追加存储空间*/ l-> elem =newbase; l-> size +=ADDSIZE; } p=l-> elem; do { printf( "输入班级和学期(学期用这种格式,如2005年上学期2005 1,2005年下学期2005 2;先输入班级,回车后再输入学期)\n "); gets(cla); gets(ter); printf( "要输入多少个名单?"); scanf( "%d ",&n); printf( "输入学生的成绩\n学号\t姓名\t科目1\t科目2\t科目3\t科目4\n "); for(i=0;i num ,p-> name,p-> course[0],p-> course[1],p-> course[2],p-> course[3]); strcpy(p-> st.class1,cla); strcpy(p-> st.term1,ter); ++l-> length ; } printf( "要继续吗?(y/n) ");

操作系统模拟unix文件系统实验报告

操作系统大型实验 班级:学号:姓名: 一实验介绍…………………………………………………………………… 1.实验名称 2.实验目的 3.实验内容及要求 二实验环境…………………………………………………………………… 三实验设计…………………………………………………………………… 1.数据结构设计 2.系统流程设计 3.实现命令操作 四模块详解…………………………………………………………………… 1 .文件操作 2 .用户操作 五实验演示…………………………………………………………………… 1 .初始化磁盘块 2 .用户登录 3 .目录操作 4 .文件操作 六源代码……………………………………………………………………… 七实验心得体会…………………………………………………………………… 1.调试中遇到的问题总结 2.实验感悟

一、实验介绍 1.实验名称 操作系统大型实验 2.实验目的 完成一个 UNIX/Linux文件系统的子集的模拟实现,了解Unix文件系统的实现机制。 3.实验内容及要求 (1)文件卷结构设计 0#块可省略 I节点栈及空间为20项 块大小为512字节 卷盘块数大于100 I节点盘块数大于10块 (2)I节点结构设计 文件大小 文件联接计数 文件地址 文件拥有者 文件所属组 文件权限及类别 文件最后修改时间 其中文件地址为六项:四个直接块号,一个一次间址,一个两次间址 (3)目录结构 用16字节表示,其中14字节为文件名,2字节为I节点号 (4)用户及组结构 用户信息中包括用户名、口令,所属组,用户打开文件表 (5)文件树结构 除(4)要求外,适当考虑UNIX本身文件树结构 (6)实现功能 Ls 显示文件目录 Chmod 改变文件权限 Chown 改变文件拥有者 Chgrp 改变文件所属组 Pwd 显示当前目录 Cd 改变当前目录 Mkdir 创建子目录 Rmdir 删除子目录 Mv 改变文件名 Cp 文件拷贝 Rm 文件删除 Ln 建立文件联接 Cat 连接显示文件内容 Vi 文件写入 Mk 创建文件

linux文件系统管理-权限管理实验4报告(可编辑修改word版)

实验报告 课程Linux 系统应用与开发教程实验名称 linux 文件系统管理-权限管理(高级设置) 一、实验目的 1、掌握Linux 文件系统权限的设置 2、掌握linux 用户帐号与组管理 3、掌握linux 文件共享的设置方法 4、掌握linux 文件共享的权限设置方法 二、实验内容 1、使用root 帐号通过系统提供的6 个虚拟控制台登陆到linux,或在x-windows 开启一个终端。 2、完成以下的实验内容 (1)、假设你是系统管理员:现要在公司linux 服务器系统中新增一些用户与一个用户组。 ?使用groupadd account 添加一个名为account 的组 ?使用useradd -G account acc-user1,(该命令将添加一个用户名为acc-user1 的用户, 同时会建立一个与用户名同名的私有组(该私有组为用户的默认组,这个组中只有一个用户名),并把该用户将加入account 的标准组,同时,按同样的方法建立acc- user2、acc-user3、acc-user4。 ?建立用户后,请使用x-window 中的用户与组管理工具查看用户与组建立情况,检查用户与组的归属情况。 (2)、开启多个控制台,分别使用acc-user1、acc-user2、acc-user3 登陆系统(可以在控制台分别登陆,也可以在X-windows 中多开几个终端程序,默认使用root 登陆,然后使用su 命令通过切换用户的方式登陆,其语法为“su - user-name”,提示可以在登陆成功后运行命令“id”查看当前登陆的用户属于哪些组,当前的默认组是什么?) (3)、为account 组建立一个公共共享目录/home/account-share,满足以下的权限设定要求,以及设置何种的umask: ?该目录的拥有者为acc-user1,所属组为account。 ?在该目录下建立一个/home/account-share/full-share 的子目录,修改该目录的权限,使得account 组的成员均能在对该目录有完全控制权限,account 组外的其他用户没 有任何权限,即account 组的成员都可以在该目录下建立文件,同时在该子目录full- share 下建立的文件,只有文件建立者有权限删除,并且每个用户在该子目录full- share 下建立的文件也能自动与该account 组成员可读共享。 ?在/home/account-share/为每个用户建立一个与用户名同名的子目录(如/home/account- share/acc-user1 为用户acc-user1 的目录,其拥有者为acc-user1,所在的组为account),配置该子目录的拥有者有完全控制权限,而同组用户只能读取,同时在用户在该目 录下建立的文件,可供同组用户读。 (4)、考虑完成以上的共享目录权限设置,应注意哪些设置。包括目录的权限,目录的拥有者,目录所在的组,具体文件的权限,umask 设置等。 (5)、实验报告应体现出使用不同身份的用户对所配置目录的访问测试过程。 三、实验环境 安装有vmware 或visual pc 软件的window 主机,系统中有提供turbolinux 或redhat 的硬盘

工程之星3.0文件系统及新功能介绍

工程之星3.0文件系统及新功能介绍

1.工程之星3.0文件结构树

【简要说明】: 1.工程之星3.0执行文件EGStar.exe放在手簿的\Flash Disk\EGStar\文件夹下2.工程之星3.0设计了参数系统,参数系统文件为:EGCoordSys.dll;该文件和工程之星3.0的软件配置文件等,都在\Flash Disk\EGSystems\文件夹下。参数系统就是保存所有参数,用户可以通过选择一个参数系统,就设置了坐标转换的所有参数。 3.工程之星3.0的所有工程都存放在手簿的\Flash Disk\EGJobs\文件夹中4.在\Flash Disk\EGJobs\中,每个工程独立一个工程文件夹,如EGrtk工程,以下以EGrtk工程为例。 5.每个工程下都会默认新建两个主文件:EGrtk.eg和EGrtk.cp,其中EGrtk.eg 保存公共参数变量;EGrtk.cp保存当前使用坐标转换参数 6.每个工程下包含四个默认文件夹,分别是:Config;Data;Info;Temp; 其中Config文件夹保存各子参数设置文件;Data文件夹保存测量存储文件; Info保存各信息文件;temp为临时文件夹。 7.Config;Data;Info;Temp四个子文件夹包含那些主要的文件,如上列表。

2.工程之星3.0新功能简介 2.1 求转换参数新增功能 一.高程拟合参数类型可以设置 高程拟合参数类型分为加权平均、平面拟合、曲面拟合、自动判断四种; 自动判断:已知高程控制点为3个或3个点以下,使用加权平均,4~6个点使用平面拟合,7个点以上使用曲面拟合。 加权平均:无论有几个已知高程控制点,都使用加权平均模式 平面拟合:无论有几个已知高程控制点,都使用平面拟合式;但注意,少于4个点,提示已知控制点数不够。 曲面拟合:无论有几个已知高程控制点,都使用曲面拟合模式;但注意,少于7个点,提示已知控制点数不够,不能使用曲面拟合。 二.对于某些控制点有已知平面坐标无已知高程,某些控制点有已知高程无已知平面坐标的情况。 1.工程之星2.0中,可以设置单个控制点的平面和高程是否使用,可以设置某个控制点平面使用高程不使用,由于计算高程拟合参数(包括平面拟合和曲面拟合)时,和控制点的平面坐标相关,所以不能把一个控制点设置为平面不使用高程使用。 2.工程之星2.0中,1中的情况,举例说明:假设6个控制点a,b,c,d,e,f,abc点有已知平面但无高程,def点有高程但无平面,这种情况,如果设置为abc 使用平面不使用高程,def使用高程不使用平面,在工程之星2.0中,计算出来的高程拟合参数是不对的,因为计算高程拟合必须知道控制点的已知平面坐标。这种情况,铁四院等客户的一般处理方法是:做水准,将abc三点的已知高程得到,或做控制测量,将def三点的已知平面坐标得到,再求转换参数。 3.工程之星3.0中,改善了求转换参数算法,对于控制点可以使用高程不使用平面,计算高程拟合参数时,使用先求出来的四参数,将测量经纬度通过该四参数转换得到“已知平面坐标”,注意,这个“已知平面坐标”是打引号的,因为

unix文件系统详解

UNIX文件系统的路径组织结构 UNIX并不使用驱动器名如C: D:等来标记一硬盘或分区,在整个系统上,不管有多少个硬盘,分区是怎样的,只有一个根目录,叫做root 标记为/ ,其下任何一个子目录,却可以是一个硬盘或一个分区,而且是可随时改变的,比如今天你可以设置/tmp 为硬盘上一个分区,明天你可以设置他为一个你新装的硬盘,如果你需要对这方面深入了解,你必须去看看这方面的专业书籍。现在我要让你知道的是在通常情况下,一个UNIX系统的各个标准目录下面的文件是什么,以免你哪天万幸进入了人家的系统,但连人家的主页在那里都找不到,下面以FreeBSD为例,说说UNIX文件系统的路径组织结构 FreeBSD和其他UNIX类操作系统一样有一套"标准"的路径组织结构。在标准两个字上加上引号是因为各种UNIX类操作系统的路径组织结构虽基本相同,但总存在一些小的差别。FreeBSD的这种路径组织结构为系统管理提供了很大的方便,用户可以方便的确定所需要的文件存储的位置。 / 根文件系统,用于存储系统内核,启动管理和其他文件系统的装载点。 /bin 系统启动时需要的一些通用可执行程序。 /cdrom 光盘驱动器的装载点。 /compat 与系统兼容有关的内容,如系统模拟等。 /dev 设备入口点。在UNIX系统上,每个设备都作为一个文件来看待,这里放着所有系统能够用到的各个设备 /etc 各种配置文件。非常重要的一个目录,所有的配置文件(你可以看成是windows 的注册表)包括用户密码文档等存放在这里 /mnt 软盘等其他文件系统的装载点。 /modules 内核可装载模块。 /proc 进程文件系统,存储指向当前活动进程的虚拟内存的伪文件。 /root root用户的工作目录。 /sbin 系统可执行文件。 /stand 独立执行的程序,sysinstall就在这个目录下。在安装配置系统时用到 /usr 第二个文件系统。基本上是和系统核心无关但又属于操作系统的一部分的一个目录,大多数的应用程序,还有各用户的私有资料存放在这个子系统

管理数据库复习题

管理数据库复习题 一.单项选择(在每小题的四个备选答案中,选出一个正确的答案,将其标号填入括号内。每题1分,共30分) 1.是存储在计算机内有结构的数据的集合。 A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构 2.数据库系统与文件系统的主要区别是_______。 A.数据库系统复杂,而文件系统简单 B.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决 C.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 D.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 3.数据库的概念模型独立于_______。 A.具体的机器和DBMS B.E-R图 C.信息世界D.现实世界 4.数据库的基本特点是_______ 。 A.数据结构化B.数据独立性 C.数据冗余大,易移植D.统一管理和控制 5.的数据独立性最高。 A.文件系统B.数据库 C.手工处理D.其他 6.数据库中,数据的物理独立性是指_______。 A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立 C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立 7.关系模型中的关系模式至少是_______。 A.1NF B.2NF C.3NF D.BCNF 8.在关系DB中,任何二元关系模式的最高范式必定是 A.1NF B.2NF C.3NF D.BCNF 9.在关系模式中,如果属性A和B存在1对1的联系,则说_______。

A.A→B B.B→A C.A← →B D.以上都不是 10.数据库系统的核心是 A.数据库B.数据库管理系统 C.数据模型D.软件工具 11.候选关键字中的属性称为__________。 A.非主属性B.主属性C.复合属性D.关键属性 12.关系模式中各级模式之间的关系为 A.3NF∈2NF∈1NF B.3NF∈1NF∈2NF C.1NF∈2NF∈3NF D.2NF∈1NF∈3NF 13.SQL语言使用最频繁的语句是。 A .SELECT B.INSERT C .UPDATE D.DELETE 14.SQL语言具有两种使用方式,分别称为交互式SQL和。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 15 。下列SQL语句中,修改表结构的是。 A.ALTER B.CREATE C.UPDA TE D.INSERT 16.对关系模型叙述错误的是。 A.建立在严格的数学理论、集合论和谓词演算公式的基础之上 B.微机DBMS绝大部分采取关系数据模型 C.用二维表表示关系模型是其一大特点 D.不具有连接操作的DBMS也可以是关系数据库系统 17.关系模型中,一个关键字是。 A.可由多个任意属性组成 B.至多由一个属性组成 C.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成 D.以上都不是 18.同一个关系模型的任意两个元组值。 A.不能全同B.可全同 C.必须全同D.以上都不是

实验 文件系统管理

实训项目4 文件系统管理 一、实训目的 ●掌握Linux下文件系统的创建、挂载与卸载。 ●掌握文件系统的自动挂载。 二、项目背景 某企业的Linux服务器中新增了一块硬盘/dev/sdb,请使用fdisk命令新建/dev/sdb1主分区和/dev/sdb2扩展分区,并在扩展分区中新建逻辑分区/dev/sdb5,并使用mkfs命令分别创建vfat和ext3文件系统。然后用fsck命令检查这两个文件系统;最后,把这两个文件系统挂载到系统上。 三、实训内容 练习Linux系统下文件系统的创建、挂载与卸载及自动挂载的实现。 四、实训步骤 子项目1.创建/dev/sdb1和/dev/sdb5 ●使用fdisk命令创建/dev/sdb1主分区。 ●使用fdisk命令创建/dev/sdb2扩展分区。

●使用fdisk命令创建/dev/sdb5逻辑分区。 ●输入子命令w,把设置写入硬盘分区表,退出fdisk并重新启动系统。 ●用mkfs命令在上述刚刚创建的分区上创建ext3文件系统和vfat文件系统。 ●用fsck命令检查上面创建的文件系统。 子项目2.挂载/dev/sdb1和/dev/sdb5 ●利用mkdir命令,在/mnt目录下建立挂载点,mountpoint1和mountpoint2。

●把上述新创建的ext3分区挂载到/mnt/mountpoint1上。 ●把上述新创建的vfat分区挂载到/mnt/mountpoint2上。 ●利用mount命令列出挂载到系统上的分区,查看挂载是否成功。 ●利用umount命令卸载上面的两个分区。 子项目3.实现/dev/sdb1和/dev/sdb5的自动挂载 ●编辑系统文件/etc/fstab文件,把上面两个分区加入此文件中。 ●重新启动系统,显示已经挂载到系统上的分区,检查设置是否成功。 子项目4.挂载光盘和U盘 ●取一张光盘放入光驱中,将光盘挂载到/media/cdrom目录下。查看光盘中的文件。 ●利用与上述相似的命令完成U盘的挂载与卸载。 五、实训思考题 1. 在Linux下能创建Windows 的分区吗?在Linux下能创建Windows的文件系统吗?Windows操作

相关文档
最新文档