文档库 最新最全的文档下载
当前位置:文档库 › Linux中文件系统的目录结构

Linux中文件系统的目录结构

Linux中文件系统的目录结构
Linux中文件系统的目录结构

Linux中文件系统的目录结构

1、什么是文件系统

文件系统是指在一个物理设备上的任何文件组织和目录,它构成了Linux系统上所有数据的基础,Linux程序、库、系统文件和用户文件都驻留其中,因此,它是系统中庞大复杂且又是最为基本和重要的资源。值得提出的是,Linux系统中的文件不仅包括普通的文件和目录,每个和设备相关的实际实体也都被映射为一个文件,例如磁盘、打印机、终端等等。这样的设备文件又称为特殊文件。所以,Linux下的文件是操作系统服务和设备的简单而又统一的接口,从某种意义上可以说,Linux里的一切事物都是文件。

在Linux中,文件系统的结构是基于树状的,根在顶部,各个目录和文件从树根向下分支。目录树的最顶端被称为根目录(/)。

2、文件的类型

LINUX有四种基本文件类型:普通文件、目录文件、连接文件和特殊文件,可用file 命令来识别。

普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来察看内容,用mv来改名。

目录文件:包括文件名、子目录名及其指针。它是LINUX储存文件名的唯一地方,可用ls列出目录文件。

连接文件:是指向同一索引节点的那些目录条目。用ls来查看是,连接文件的标志用l 开头,而文件面后以"->"指向所连接的文件。

特殊文件:LINUX的一些设备如磁盘、终端、打印机等都在文件系统中表示出来,则一类文件就是特殊文件,常放在/dev目录内。例如,软驱A称为/dev/fd0。LINUX无C:的概念,而是用/dev/had来自第一硬盘。

3、目录结构的详细解说

文件系统的组织结构分析,我们能分析什么呢?也就是当我们列/目录时,所看到的/usr、/etc ... ... /var 等目录是做什么用的,这些目录是不是有些特定的用途。无论哪个哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。当然各个Linux发行版本也会存在一些小小的差异,但总体来说,大体还是差不多。

/ Linux文件系统的入口,也是处于最高一级的目录;

/bin 系统所需要的那些命令位于此目录,比如ls、cp、mkdir等命令;功能和/usr/bin 类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要

的最基础的命令就是放在这里。

/boot Linux的内核及引导系统程序所需要的文件目录,比如vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;

/dev 设备文件存储目录,比如声卡、磁盘... ...

/etc 系统配置文件的所在地,一些服务器的配置文件也在这里;比如用户帐号及密码配置文件;

/home 普通用户家目录默认存放目录;

/lib 库文件存放目录

/lost+found 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

/mnt 这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。主要看/etc/fstab中怎么定义了;比如光驱可以挂载到/mnt/cdrom 。

/opt 表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,比如在Fedora Core 5.0中,OpenOffice就是安装在这里。有些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过./configure --prefix=/opt/目录。

/proc 操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义可以参见/etc/fstab 。

/root Linux超级权限用户root的家目录;

/sbin 大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的;我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。

/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

/usr 这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。/usr目录下包括涉及字体目录/usr/share/fonts ,帮助目录/usr/share/man或/usr/share/doc,普通用户可执行文件目录/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超级权限用户root的可执行命令存放目录,比如/usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;还有程序的头文件存放目录/usr/include。

/var 这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var

下有/var/log 这是用来存放系统日志的目录。/var/www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地;

4、一些重要子目录的解说

/etc/init.d 这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。比如Fedora/RedHat;

/etc/xinit.d 如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录,比如Slackware,有些老的版本也没有。在Rehat/Fedora中比较新的版本中存在。

/etc/X11 这是X-Windows相关的配置文件存放地。

/usr/bin 这个目录是可执行程序的目录,普通用户就有权限执行;当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。比如安装gaim软件包时。相似的目录是/usr/local/bin;有时/usr/bin中的文件是/usr/local/bin的链接文件;

/usr/sbin 这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。只有root 权限才能执行;相似目录是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;

/usr/local 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。这个目录下面有子目录。

/usr/share 系统共用的东西存放地,比如/usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。

/usr/src 是内核源码存放的目录,比如下面有内核源码目录,比如linux 、linux-2.xxx.xx 目录等。有的系统也会把源码软件包安装在这里。比如Fedora/Redhat,当我们安装file.src.rpm 的时候,这些软件包会安装在/usr/src/redhat相应的目录中。

/var/adm 比如软件包安装信息、日志、管理信息等。

/var/log 系统日志存放,分析日志要看这个目录的东西;

/var/spool 打印机、邮件、代理服务器等假脱机目录;

5、附录:目录结构的简明查阅手册

(1)“/”根目录部分有以下子目录:

/usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。

/var 目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等

/home 目录包含用户的文件:参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。

/proc 目录整个包含虚幻的文件。它们实际上并不存在磁盘上,也不占用任何空间。(用ls –l 可以显示它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访问系统。

/bin 系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。

/sbin 系统执行文件(二进制),这些文件不打算被普通用户使用。(普通用户仍然可以使用它们,但要指定目录。)

/etc 操作系统的配置文件目录。

/root 系统管理员(也叫超级用户或根用户)的Home目录。

/dev 设备文件目录。LINUX下设备被当成文件,这样一来硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。正常情况下,设备会有一个独立的子目录。这些设备的内容会出现在独立的子目录下。LINUX没有所谓的驱动符。

/lib 根文件系统目录下程序和核心模块的共享库。

/boot 用于自举加载程序(LILO或GRUB)的文件。当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装载。这个目录也会包含LINUX核(压缩文件vmlinuz),但LINUX核也可以存在别处,只要配置LILO并且LILO 知道LINUX核在哪儿。

/opt 可选的应用程序。

/tmp 临时文件。该目录会被自动清理干净。

/lost+found 在文件系统修复时恢复的文件

(2)“/usr”目录下比较重要的部分有:

/usr/X11R6 X-WINDOWS系统(version 11, release 6)

/usr/X11 同/usr/X11R6 (/usr/X11R6的符号连接)

/usr/X11R6/bin 大量的小X-WINDOWS应用程序(也可能是一些在其它子目录下大执行文件的符号连接)。

/usr/doc LINUX的文档资料(在更新的系统中,这个目录移到/usr/share/doc)。

/usr/share 独立与你计算机结构的数据,譬如,字典中的词。

/usr/bin和/usr/sbin 类似与“/”根目录下对应的目录(/bin和/sbin),但不用于基本的启动(譬如,在紧急维护中)。大多数命令在这个目录下。

/usr/local 本地管理员安装的应用程序(也可能每个应用程序有单独的子目录)。在“main”安装后,这个目录可能是空的。这个目录下的内容在重安装或升级操作系统后应该存在。

/usr/local/bin 可能是用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接。

(3)“/proc”目录的内容:

/proc/cpuinfo 关于处理器的信息,如类型、厂家、型号和性能等。

/proc/devices 当前运行内核所配置的所有设备清单。

/proc/dma 当前正在使用的DMA通道。/proc/filesystems 当前运行内核所配置的文件系统。

/proc/interrupts 正在使用的中断,和曾经有多少个中断。

/proc/ioports 当前正在使用的I/O端口。

操作系统课程设计 树形目录文件系统

操作系统课程设计报告 题目:文件管理系统 学院计算机学院 专业软件工程 年级班别计114-1 学号 201158504129 学生姓名 XXX 指导教师 XX 成绩 2013年12月

树型目录文件系统 一、设计思想: 本课程设计目的是实现树型目录结构文件系统,本人在实现过程中也利用二叉树,其中每个节点都有父指针,子指针和兄弟指针,其中子指针指向该目录下的第一个子节点,而该子节点的父指针则指向它的上级目录。目录下各子节点用兄弟指针连接起来。 文件夹打开是则把文件夹名称及其地址压入打开文件夹栈,文件关闭则把文件夹名称及其地址从打开文件夹栈中抛出。 文件打开则把文件的名称及其父指针写到文件列表同时置文件打开标志为1,文件关闭则把文件从打开列表中删除,同时置文件打开指针为0,文件读取和写入都要检查文件是否在文件打开列表中,未打开文件不能读写,只读文件不能写,只写文件不能读。 文件夹和文件创建,文件夹和文件的创建首先检验目录是否为空,为空则把文件夹或文件连接到该目录下,不为空则把检查目录下是否有同名文件夹或文件,有则提示创建不成功,没有则把文件夹或文件连接到该目录下的最后一个子节点,作为它的兄弟节点。 文件夹和文件的删除,文件夹下没有打开的文件或文件没有打开才能删除,否则删除失败,删除文件夹时利用了中序历遍来删除子树。 二、系统结构说明 系统结构如下图: root为根结点,root下有五个用户,每个用户有自己的文件夹或文件,系统初始化时为每个用户创建一个file1文件。文件夹内容只有名称和打开标志。文件除了名称和打开标志,还有文件的访问权限,文件类型以及文件长度。其中文件的访问权限、文件类型、文件长度单独作为一个结构体,其它和文件夹结构体相同,也同用一个结构体。 打开文件列表的结构体包括文件名和文件的父节点地址,打开文件夹的栈中包括文件夹名称及其地址

NTFS文件系统结构分析

NTFS文件系统结构分析 在NTFS文件系统中,文件存取是按簇进行分配,一个簇必需是物理扇区的整数倍,而且总 是2的整数次方。NTFS文件系统并不去关心什么是扇区,也不会去关心扇区到底有多大(如是不是512字节),而簇大小在使用格式化程序时则会由格式化程序根据卷大小自动的进行 分配。 文件通过主文件表(MFT)来确定其在磁盘上的存储位置。主文件表是一个对应的数据库, 由一系列的文件记录组成--卷中每一个文件都有一个文件记录(对于大型文件还可能有多个记录与之相对应)。主文件表本身也有它自己的文件记录。 NTFS卷上的每个文件都有一个64位(bit)称为文件引用号(File Reference Number,也称文件索引号)的唯一标识。文件引用号由两部分组成:一是文件号,二是文件顺序号。文 件号为48位,对应于该文件在MFT中的位置。文件顺序号随着每次文件记录的重用而增加, 这是为NTFS进行内部一致性检查而设计的。 NTFS使用逻辑簇号(Logical Cluster Number,LCN)和虚拟簇号(Virtual Cluster Number,VCN)来进行簇的定位。LCN是对整个卷中所有的簇从头到尾所进行的简单编号。卷因子乘 以LCN,NTFS就能够得到卷上的物理字节偏移量,从而得到物理磁盘地址。VCN则是对属于特定文件的簇从头到尾进行编号,以便于引用文件中的数据。VCN可以映射成LCN,而不必 要求在物理上连续。

NTFS的目录只是一个简单的文件名和文件引用号的索引,如果目录的属性列表小于一个记 录的长度,那么该目录的所有信息都存储在主文件表的记录中,对于大于记录的目录则使用 B+树进行管理。

linux 目录结构及常用命令

Linux目录结构简介及常用命令 Linux,免费开源,多用户多任务系统。基于Linux有多个版本的衍生。RedHat、Ubuntu、Debian (一)初学Linux,首先需要弄清Linux 标准目录结构 / ?root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。 ?home --- 存储普通用户的个人文件 ?ftp --- 用户所有服务 ?httpd ?samba ?user1 ?user2 ?bin --- 系统启动时需要的执行文件(二进制) ?sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行 ?proc --- 虚拟,存在linux内核镜像;保存所有内核参数以及系统配置信息? 1 --- 进程编号 ?usr --- 用户目录,存放用户级的文件 ?bin --- 几乎所有用户所用命令,另外存在与/bin,/usr/local/bin ?sbin --- 系统管理员命令,与用户相关,例如,大部分服务器程序

?include --- 存放C/C++头文件的目录 ?lib --- 固定的程序数据 ?local --- 本地安装软件保存位置 ?man --- 手工生成的目录 ?info --- 信息文档 ?doc --- 不同包文档信息 ?tmp ?X11R6 --- 该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。 ?X386 --- 功能同X11R6,X11 发行版5 的系统文件 ?boot --- 引导加载器所需文件,系统所需图片保存于此 ?lib --- 根文件系统目录下程序和核心模块的公共库 ?modules --- 可加载模块,系统崩溃后重启所需模块 ?dev --- 设备文件目录 ?etc --- 配置文件 ?skel --- home目录建立,该目录初始化 ?sysconfig --- 网络,时间,键盘等配置目录 ?var ?file ?lib --- 该目录下的文件在系统运行时,会改变 ?local --- 安装在/usr/local的程序数据,变化的 ?lock --- 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问 ?log --- 记录日志 ?run --- 系统运行合法信息 ?spool --- 打印机、邮件、代理服务器等假脱机目录 ?tmp ?catman --- 缓存目录 ?mnt --- 临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。 ?tmp --- 临时文件目录,系统启动后的临时文件存放在/var/tmp ?lost+found --- 在文件系统修复时恢复的文件 /:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin 应该和根目录放置在一个分区中 /bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。 /boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可 /dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。

Linux下的文件系统为树形结构

Linux下的文件系统为树形结构,入口为/树形结构下的文件目录:无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差不多。 1. /文件系统的入口,最高一级目录; 2. /bin基础系统所需要的命令位于此目录,是最小系统所需要的命令,如:ls, cp, mkdir等。 这个目录中的文件都是可执行的,一般的用户都可以使用。 3. /boot包含Linux内核及系统引导程序所需要的文件,比如vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录; 4. /dev设备文件存储目录,比如声卡、磁盘... ...这是一个非常有趣的目录,是Linux文件系统的一个闪亮的特性- 所有对象都是文件或目录。仔细观察这个目录你会发现hda1, hda2等, 它们代表系统主硬盘的不同分区。 /dev/cdrom和/dev/fd0代表你的CDROM驱动器和floppy驱动器。看上去可能有些奇怪,但比较文件和硬件的特性这却是十分合理的。它们都可以读出和写入。例如/dev/dsp,这个文件代表你的扬声器。那么写入这个文件的数据都回传送到喇叭。试一试'cat /etc/lilo.conf > /dev/dsp' 你会听到一些声音。这是你的lilo.conf 文件的声音!同样,向/dev/ttyS0 ( COM 1 ) 读出或写入数据你可以和接到上面的设备进行通讯。 5. /etc存放系统程序或者一般工具的配置文件。 如安装了apache2之后,配置文件在/etc/apache2/目录下。 /etc/init.d 这个目录是用来存放系统或服务器以System V模式启动的脚

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

unix文件系统:UNIX系统下各文件的作用疯狂代码 https://www.wendangku.net/doc/9a103593.html,/ ?:http:/https://www.wendangku.net/doc/9a103593.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通道驱动

Linux 的目录树

Linux 的目录树 第1章命令行操作 熟悉在命令行界面下工作对使用和管理Linux操作系统具有很大的意义,本章介绍在RedFlagServer4.1系统中进行shell操作的知识。 1.1基础知识 以下关于Linuxshell及文件和目录的知识是学习本章的基础。 1.1.1文件命名 Linux下文件名的最大长度可以是256个字符,通常由字母、数字、―.‖(点号)、―_‖(下划线)和―-‖(减号)组成。文件名中不能含有―/‖符号,因为―/‖在Linux目录树中表示根目录或路径中的分隔符(如同DOS中的―\‖)。 Linux系统中支持文件名中的通配符,具体如下: 星号(*):匹配零个或多个字符; 问号(?):匹配任何一个字符; [ab1A-F]:匹配任何一个列举在集合中的字符。本例中,该集合是a、b、1或任何一个从A到F的大写字符; 1.1.2路径 操作系统查找文件所经过的路径称为路径名。使用当前目录下的文件时可以直接引用文件名;如果要使用其他目录下的文件,就必须指明该文件在哪个目录之中。 按查找文件的起点不同可以分为两种路径:绝对路径和相对路径。从根目录开始的路径称为绝对路径,从当前所在目录开始的路径称为相对路径,相对路径是随着用户工作目录的变化而改变的。 与DOS相同,每个目录下都有代表当前目录的―.‖文件和代表当前目录父目录的―..‖文件,相对路径名一般就是从―..‖开始的。 在Linux目录树中,表示根目录或是路径中的分隔符是―/‖。 1.1.3文件类型 RedFlagServer4.1系统支持以下文件类型:普通文件、目录文件、设备文件以及符号链接文件。 普通文件:包括文本文件、数据文件、可执行的二进制程序等。 目录文件:简称目录,Linux中把目录看成是一种特殊的文件,利用它构成文件系统的分层树型结构。每个目录文件中至少包括两个文件,―..‖表示上一级目录,―.‖表示该目录本身。 设备文件:设备文件是一种特别文件,Linux系统利用它们来标识各个设备驱动器,核心使用它们与硬件设备通信。有两类特别设备文件:字符设备和块设备。 符号链接:一种特殊文件,它们存放的数据是文件系统中通向某个文件的路径。当使用符号链接文件时,系统自动地访问所保存的这个路径。 1.1.4目录结构 通过对系统目录组织结构的了解,可以在进行文件操作和系统管理时方便地知道所要的东西在什么地方。 RedFlagServer4.1的文件系统采用分层的树形目录结构。即:在一个根目录(通常用―/‖表示),含有多个下级子目录或文件;子目录中又可含有更下级的子目录或者文件的信息,这样一层一层地延伸下去,构成一棵倒置的树。树中的―根‖与―杈‖代表的是目录或称为文件夹,而―叶子‖则是一个个的文件。 下面列出了主要的系统目录及其简单描述: /bin:存放普通用户可以使用的命令文件。目录/usr/bin也可用来贮存用户命令。 /sbin:一般存放非普通用户使用的命令(有时普通用户也可能会用到)。目录/usr/sbin中也包括了许多系统命令。 /etc:系统的配置文件。 /root:系统管理员(root或超级用户)的主目录。 /usr:包括与系统用户直接相关的文件和目录,一些主要的应用程序也保存在该目录下。 /home:用户主目录的位置,保存了用户文件(用户自己的配置文件,文档,数据等)。 /dev:设备文件。在Linux中设备以文件形式表现,从而可以按照操作文件的方式简便地对设备进行操作。 /mnt:文件系统挂载点。一般用于安装移动介质﹑其它文件系统(如DOS)的分区、网络共享文件系统或任何可安装文件系统。 /lib:包含许多由/bin和/sbin中的程序使用的共享库文件。目录/usr/lib/中含有更多用于用户程序的库文件。 /boot:包括内核和其它系统启动时使用的文件。

Linux标准目录结构及说明

Linux标准目录结构及说明 路径名说明 /bin 最核心的操作系统命令所在位置 /boot 内核和内核加载所需要的文件位置 /dev 硬盘、伪终端、打印机等设备文件的位置 /etc 关键的启动文件和配置文件的位置 /home 普通用户默认的主目录(家目录)位置 /lib 库、共享库、部分C编译器的位置 /media 可移动设备文件系统的挂在点位置,例如:U盘、移动硬盘等 /mnt 可移动设备文件系统的临时挂在点位置,例如:U盘、移动硬盘等 /opt 可选的应用软件包位置,一般情况下,自己安装的软件可以考虑放在此位置 /proc 虚拟文件系统位置,所有正在运行进程的信息所在位置 /root 根用户(root用户)的主目录位置 /sbin 系统最小规模运行所需命令的位置 /tmp 临时目录,每次重启其中的文件就会消失 /usr 次要文件和命令所在位置 /usr/bin 大多数命令和可执行程序文件的位置 /usr/include 编译C程序时头文件的位置 /usr/lib 库,标准程序运行所需的支持库位置 /usr/lib64 库,64位标准程序运行所需的支持库位置 /usr/local 用户编写或安装的软件的位置,第三方安装包大部分安装到此位置 /usr/sbin 不太关键的系统运维管理命令的位置 /usr/share 多种系统共用内容的位置 /usr/share/man Man命令使用时的联机手册的位置 /usr/src 非本地软件包的源代码位置 /usr/tmp 更多的临时空间位置,重启后其中的文件依然存在 /var 系统专用的数据和配置文件的位置,例如:默认MySQL数据的位置为/var/lib/mysql /var/adm 日志、系统设置记录、奇怪的管理信息的位置 /var/log 各种系统服务对应的日志文件的位置 /var/spool 邮件、打印机等使用的假脱机目录位置 /var/tmp 更多的临时空间位置,重启后其中的文件依然存在

linux目录结构

1、什么是文件系统 当您使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc、usr、var、bin ... ... 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件。文件系统在Linux下看上去就象树形结构,所以我们可以把文件系统的结构形象的称为树形结构。 linux文件系统的最顶端是/,我们称/为Linux的root,也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。 2、文件系统的类型 LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。 普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来察看内容,用mv来改名。 目录文件:包括文件名、子目录名及其指针。它是LINUX储存文件名的唯一地方,可用ls列出目录文件。 连接文件:是指向同一索引节点的那些目录条目。用ls来查看是,连接文件的标志用l开头,而文件面后以"->"指向所连接的文件。 特殊文件:LINUX的一些设备如磁盘、终端、打印机等都在文件系统中表示出来,这一类文件就是特殊文件,常放在/dev目录内。例如,软驱A称为/dev/fd0。LINUX无C:的概念,而是用/dev/sda 来指第一硬盘。 3、目录结构的详细解说 文件系统的组织结构分析,我们能分析什么呢?也就是当我们列/目录时,所看到的/usr、 /etc ... ... /var 等目录是做什么用的,这些目录是不是有些特定的用途。无论哪个哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。当然各个Linux发行版本也会存在一些小小的差异,但总体来说,大体还是差不多。 言归正传,下面将讲到本文最核心的部分:linux文件系统的目录结构。 / Linux文件系统的入口,也是处于最高一级的目录; /bin 系统所需要的那些命令位于此目录,比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。 /boot Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;

操作系统原理-第八章 文件系统习题(有答案)

第六章文件系统 6.3习题 6.3.1 单项选择题 1.操作系统对文件实行统一管理,最基本的是为用户提供( )功能。 A.按名存取 B.文件共享 C.文件保护 D.提高文件的存取速度 2.按文件用途分类,编译程序是( )。 A.系统文件 B.库文件 C.用户文件 D.档案文件 3.( )是指将信息加工形成具有保留价值的文件。 A.库文件 B.档案文件 C.系统文件 D.临时文件 4.把一个文件保存在多个卷上称为( )。 A.单文件卷 B.多文件卷 C.多卷文件 D.多卷多文件 5.采取哪种文件存取方式,主要取决于( )。 A.用户的使用要求 B.存储介质的特性 C.用户的使用要求和存储介质的特性 D.文件的逻辑结构 6.文件系统的按名存取主要是通过( )实现的。 A.存储空间管理 B.目录管理 C.文件安全性管理 D.文件读写管理7.文件管理实际上是对( )的管理。 A.主存空间 B.辅助存储空间 C.逻辑地址空间 D.物理地址空间8.如果文件系统中有两个文件重名,不应采用( )结构。 A.一级目录 B.二级目录 C.树形目录 D.一级目录和二级目录9.树形目录中的主文件目录称为( )。 A.父目录 B.子目录 C.根目录 D.用户文件目录 10.绝对路径是从( )开始跟随的一条指向制定文件的路径。 A.用户文件目录 B.根目录 C.当前目录 D.父目录 11.逻辑文件可分为流式文件和( )两类。 A.索引文件 B.链接文件 C.记录式文件 D.只读文件 12.由一串信息组成,文件内信息不再划分可独立的单位,这是指( )。A.流式文件 B.记录式文件 C.连续文件 D.串联文件 13.记录式文件内可以独立存取的最小单位是由( )组成的。 A.字 B.字节 C.数据项 D.物理块 14.在随机存储方式中,用户以( )为单位对文件进行存取和检索。 A.字符串 B.数据项 C.字节 D.逻辑记录

文件系统结构分析

文件系统结构分析 1嵌入式文件系统 1.1嵌入式文件系统体系结构 在嵌入式系统中,文件系统是嵌入式系统的一个组成模块,它是作为系统的一个 可加载选项提供给用户,由用户决定是否需要加载它。同时,它还需要满足结构紧 凑、代码量小、支持多种存储设备、可伸缩、可剪裁、可移植等特点。基于上面的要 求,嵌入式文件系统在设计和实现时就要把它作为一个独立的模块来整体考虑。特别 是对文件系统内部资源的管理要做到独立性。 由于嵌入式文件系统是作为嵌入式系统的一个可选加载项提供给用户的,当 用户针对其应用的特殊要求对嵌入式系统进行配置时没有选择加载文件系统,但 是用户还是需要使用到系统I/O。由于这种情况的出现就决定了嵌入式系统中的文件 系统不再具有I/O设备的管理功能。系统I/O的管理和使用接口的提供将由 I/O管理 模块完成,文件系统作为一个独立的自包含模块存在。 基于以上考虑,嵌入式文件系统的体系结构如图1所示。 1卩 硬件 图1嵌入式文件系统体系结构 在嵌入式文件系统的最上层是文件系统 API。文件系统的一切功能都是通过这一层提供给用户的。同时,在整个文件系统中也只有这一层对用户是可见的。 在这一层中所提供的所有功能接口都将严格的遵循 POSIX标准。 文件系统核心层是实现文件系统主要功能的模块。在这一层中,文件系统要把

用户的功能操作转化成对文件系统的抽象对象的操作。这些操作将通过下面的功能模块最终落实到物理介质上面。如果文件系统需要支持多种具体的文件系统格式的话,这一层还可以进一步细分成虚拟文件系统和逻辑文件系统。 块高速缓存的存在是为了提高文件系统的性能。在这一层中缓存着以前访问过的块设备数据。文件系统通过一定的算法来高效的管理这些数据,以提高缓冲的性能。同时,它的存在使下层的数据操作对上层的文件操作透明,提高了文件系统的模块性。 1.2 嵌入式文件系统体系的功能与特点 文件系统是操作系统的重要组成部分,用于控制对存储设备的存取。它提供对文件和目录的分层组织形式、数据缓冲(对于实时系统,允许绕过缓冲)以及对文件存取权限的控制。 嵌入式系统所使用的文件系统除了要提供通用文件系统的功能外,还由于嵌入式操作系统的特殊性而具有其自身的一些特点。嵌入式文件系统的设计应该满足如下目标: 1.实现按名存取。和桌面操作系统类似,用户对文件的操作是通过其“文件名”来完成的。因此,用户只需知道待操作文件的文件名,就可以方便的访问数据,而不必关心文件在物理设备上是如何存放的,以及如何对文件的打开、关闭操作进行处理等细节。所有与文件相关的管理工作都由文件系统组件隐式完成。 2.与实时系统相适应。嵌入式应用大多数都具有实时性需求。实时系统不仅 要求计算结果地准确无误,而且要求特定的指令要在限定的时间内完成,这就对文件系统提出了很高的要求。在通用操作系统中,往往采取分页和虚拟存储器管理的机制来满足规定的指令时间。然而嵌入式实时操作系统一般都不具有虚拟存储器管理机制,且各种外部设备的性能差异较大,控制文件系统的实时性变得非常困难。为了尽可能提高文件系统的实时性,除了选取高速存储介质作为嵌入式系统的外设外,还应该根据设备的特点设置一定大小的高速缓冲,以提高数据存取的相应速度。 3.支持多任务环境。面对日益复杂的计算环境,应用常常采取“分而治之” 的方法,将解决方案划分为多个任务,每个任务完成相对单一的功能。实时操作系统的设计目标之一就是对多任务的支持。从应用的层面上看,多任务可以对文件进行并发读操作,在实时内核进程间同步与通信机制支持下进行写操作。此外,文件系统内部实现也应该具备较好的可重入性,即利用同步机制对全局数据结构 进行必要的保护。 4.支持多种逻辑文件系统标准。随着操作系统技术的发展,出现了多种成熟的桌面文件系统标准,如 Windows下的FAT系列,Linux中的ext系列等。将这些成熟标

树形目录结构文件系统

操作系统课程设计 课程名称操作系统 题目名称树形目录结构文件系统学生学院 专业班级 学号 学生姓名 指导教师 2011 年1 月13 日

目录 一、课程设计目的 (3) 二、设计概要 (3) 三、详细设计 (3) 3.1数据结构设计 (4) 3.2程序功能模块图 (5) 3.2.1 文件管理系统主功能图示 (5) 3.2.2 用户界面管理图示 (5) 3.2.3 新建文件图示 (6) 3.2.4 复制、剪切文件图示 (6) 3.2.5 粘贴文件图示 (7) 3.2.6 删除文件图示 (7) 四、程序界面设计及运行结果分析 (8) 五、课程设计总结 (12) 六、参考文献 (12)

一、课程设计目的: 操作系统课程设计是配合操作系统课开设的专业基础必修课。本课程通过设计实现一个综合作业,培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。 二、设计概要: (1) 运行平台: Windows系列 (2) 设计平台: Microsoft Visual Studio 2008 (3) 存储系统:XML文件 (4) 运行需求: .NET Framework 2.0版本以上 (5) 软件简介: 文件管理系统 (6) 功能简介: A、提供用户登录注销功能 B、多用户管理,多级目录形式,文件可互相共享. C、智能化的树形和列表界面操作(包括图标、列表以及详细显示方 式,方便的菜单,右击菜单,工具栏等) D、模拟Windows多种实用功能 (7)本系统参照了windwos文件管理结构,实现了其大部分常用功能,采用多用户系统实现了文件夹与文件的创建,打开,读写,删除,关闭,剪切,复制,粘贴,重命名,刷新,查看,排列图标、属性设置、模糊搜索以及多用户文件共享功能。 三、详细设计: 3.1、数据结构设计: 本程序采用XML文件形式管理文件信息,XML文件适合小数据块的存储和传输,.NET为XML提供了丰富的类库,更加方便了操作使用,详细数据设计思路如下: XML文件编码声明: 首节点: 用户设计: 两个数据段:用户名和用户密码; XML实现: 文件夹设计: 一个数据段:文件夹名称 XML实现: 文件设计: 四个数据段:文件名称、文件保护码、文件空间和文件共享性

1.6.3 Linux目录结构[共2页]

嵌入式Linux操作系统 18 ①“-”表示普通文件。 ②“d”表示目录文件。 ③“l”表示链接文件。 ④“c”表示字符设备。 ⑤“b”表示块设备。 ⑥“p”表示命名管道比如FIFO文件(First In First Out,先进先出)。 ⑦“f”表示堆栈文件比如LIFO文件(Last In First Out,后进先出)。 第1个字符之后有3个3位字符组如下。 ①第1个3位字符组表示对于文件拥有者(u)对该文件的权限。 ②第2个3位字符组表示文件用户组(g)对该文件的权限。 ③第3个3位字符组表示系统其他用户(o)对该文件的权限。 ④若该用户组对此没有权限,一般显示“-”字符。 1.6.2 文件系统类型介绍 1.ext2和ext3 ext3是现在Linux(包括Red Hat、Mandrake)下常见的默认的文件系统,它是ext2的升级版 本。正如Red Hat公司的首席核心的开发人员Michael K.Johnson所说,从ext2转换到ext3主要有以下4个理由:可用性、数据完整性、速度和易于转化。ext3中采用了日志式的管理机制,它使文件系统具有很强的快速恢复能力,并且由于从ext2转换到ext3无需进行格式化,因此,更加推进了ext3文件系统的大大推广。 2.swap文件系统 该文件系统是Linux中作为交换分区使用的。在安装Linux的时候,交换分区是必须建立的,并且它所采用的文件系统类型必须是swap而没有其他选择。 3.vfat文件系统 Linux中把DOS中采用的FAT文件系统(包括FAT12、FAT16和FAT32)都称为vfat文件系统。 4.NFS文件系统 NFS文件系统是指网络文件系统,这种文件系统也是Linux的独到之处。它可以很方便地在局域网内实现文件共享,并且使多台主机共享同一主机上的文件系统。而且NFS文件系统访问速度快、稳定性高,已经得到了广泛的应用,尤其在嵌入式领域,使用NFS文件系统可以很方便地实现文件本地修改,而免去了一次次读写Flash的忧虑。 5.ISO9660文件系统 这是光盘所使用的文件系统,在Linux中对光盘已有了很好的支持,它不仅可以提供对光盘的读写,还可以实现对光盘的刻录。 1.6.3 Linux目录结构 Linux的目录结构如图1.19所示。下面以Red Hat Enterprise 4 AS为例,详细列出了Linux文

FAT32文件系统的存储组织结构

FAT32文件系统的存储组织结构(一) (2012-05-19 16:57) 标签: FAT32 文件系统分类:文件系统 对磁盘的物理结构,逻辑结构和存储结构有了比较深入的了解后,我们来仔细探讨FAT32文件系统的存储组织结构。说到文件系统的组织结构,我们应该马上意识到,这指的是文件系统在同一个分区内的组织结构,在这个话题上,我们完全可以不管分区之外的所有事情。 为了分析FAT32文件系统的存储组织结构,我们来建立一个实实在在的文件系统:将U盘插入电脑,将U盘格式化成FAT32分区格式: 以建好的U盘FAT32文件系统为基础,下面从文件系统的各个组成来分别加以介绍。 分区引导扇区DBR 用winhex打开U盘显示如下:

这是FAT32分区引导记录,定义如下: 偏移00H: 3字节的跳转指令 EB 58 90,跳过下面的BPB和扩展BPB部分 偏移03H:8字节的硬盘分区类型文本字符名:4D 53 44 4F 53 35 2E 30 即:MSDOS5.0 偏移0BH: 25字节的分区参数块(BPB),细分如下: 偏移0BH:扇区字节数 00 02 即0X0200,512字节 偏移0DH:每簇扇区数 08即每簇包括8个扇区

偏移0EH:保留扇区数 24 00即保留36个扇区 偏移10H:FAT表份数 02即两个FAT表 偏移11H:未用 00 00 偏移13H:未用 00 00 偏移15H:介质类型 F8即本地硬盘 偏移16H:未用 00 00 偏移18H:每磁道扇区数 3F 00 即每磁道63扇区 偏移1AH:磁头数 FF 00即255个磁头 偏移1CH:隐藏扇区数 80 1F即8064个隐藏扇区 偏移20H:磁盘总扇区数 80 F0 77 00即总共7860352个扇区 (7860352*512=4024500224,因为我的U盘是4G) 偏移24H:52字节的扩展分区参数块(扩展BPB),细分如下: 偏移24H:FAT表占用扇区数 EE 1D 00 00即FAT表占7662个扇区 偏移28H:未用 00 00 00 00 偏移2CH:根目录入口簇号 02 00 00 00即根目录从02号簇开始 偏移30H:文件系统信息扇区号 01 00即扇区1 偏移32H:备份引导扇区的位置 06 00即6号扇区(第7个扇区),从WINHEX中我们也可以看到,6号扇区的内容和0号引导扇区内容是一样的 偏移34H:未用 00 00 00 00 00 00 00 00 00 00 00 00 偏移40H:物理磁盘号 00 偏移41H:未用 00 偏移42H:扩展引导标志 29即0X29 偏移43H:磁盘序列号F1 2A 27 04通常为一随机数 偏移47H:卷标ASCII 4E 4F 20 4E 41 4D 45 20 20 20 20 即NO NAME

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]; // 文件所有者

第六章 文件系统习题

第六章文件系统 一. 单项选择题 1.操作系统对文件实行统一管理,最基本的是为用户提供( )功能。 A.按名存取 B.文件共享 C.文件保护 D.提高文件的存取速度 2.按文件用途分类,编译程序是( )。 A.系统文件 B.库文件 C.用户文件 D.档案文件 3.( )是指将信息加工形成具有保留价值的文件。 A.库文件 B.档案文件 C.系统文件 D.临时文件 4.把一个文件保存在多个卷上称为( )。 A.单文件卷 B.多文件卷 C.多卷文件 D.多卷多文件 5.采取哪种文件存取方式,主要取决于( )。 A.用户的使用要求 B.存储介质的特性 C.用户的使用要求和存储介质的特性 D.文件的逻辑结构 6.文件系统的按名存取主要是通过( )实现的。 A.存储空间管理 B.目录管理 C.文件安全性管理 D.文件读写管理7.文件管理实际上是对( )的管理。 A.主存空间 B.辅助存储空间 C.逻辑地址空间 D.物理地址空间8.如果文件系统中有两个文件重名,不应采用( )结构。 A.一级目录 B.二级目录 C.树形目录 D.一级目录和二级目录9.树形目录中的主文件目录称为( )。 A.父目录 B.子目录 C.根目录 D.用户文件目录 10.绝对路径是从( )开始跟随的一条指向制定文件的路径。 A.用户文件目录 B.根目录 C.当前目录 D.父目录 11.逻辑文件可分为流式文件和( )两类。 A.索引文件 B.链接文件 C.记录式文件 D.只读文件 12.由一串信息组成,文件内信息不再划分可独立的单位,这是指( )。A.流式文件 B.记录式文件 C.连续文件 D.串联文件 13.记录式文件内可以独立存取的最小单位是由( )组成的。 A.字 B.字节 C.数据项 D.物理块 14.在随机存储方式中,用户以( )为单位对文件进行存取和检索。 A.字符串 B.数据项 C.字节 D.逻辑记录 15.数据库文件的逻辑结构形式是( )。 A.链接文件 B.流式文件 C.记录式文件 D.只读文件 16.文件的逻辑记录的大小是( )。

linux目录结构

linux目录结构 / 根目录 /bin 常用的命令 binary file 的目录 /boot 存放系统启动时必须读取的档桉,包括核心 (kernel) 在内 /boot/grub/menu.lst GRUB设置 /boot/vmlinuz 内核 /boot/initrd 核心解压缩所需 RAM Disk /dev 系统周边设备 /etc 系统相关设定文件 /etc/DIR_COLORS 设定颜色 /etc/HOSTNAME 设定用户的节点名 /etc/NETWORKING 只有YES标明网络存在 /etc/host.conf 文件说明用户的系统如何查询节点名 /etc/hosts 设定用户自已的IP与名字的对应表 /etc/hosts.allow 设置允许使用inetd的机器使用 /etc/hosts.deny 设置不允许使用inetd的机器使用 /etc/hosts.equiv 设置远端机不用密码 /etc/inetd.conf 设定系统网络守护进程inetd的配置 /etc/gateways 设定路由器 /etc/protocols 设定系统支持的协议 /etc/named.boot 设定本机为名字服务器的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 设置IP /etc/resolv.conf 设置DNS /etc/X11 X Window的配置文件,xorg.conf 或 XF86Config 这两个 X Server 的设定档 /etc/fstab 记录开机要mount的文件系统 /etc/inittab 设定系统启动时init进程将把系统设置成什么样的runlevel /etc/issue 记录用户登录前显示的信息 /etc/group 设定用户的组名与相关信息 /etc/passwd 帐号信息 /etc/shadow 密码信息 /etc/sudoers 可以sudo命令的配置文件 /etc/securetty 设定哪些终端可以让root登录 /etc/login.defs 所有用户登录时的缺省配置 /etc/exports 设定NFS系统用的 /etc/init.d/ 所有服务的预设启动 script 都是放在这裡的,例如要启动或者关闭 /etc/xinetd.d/ 这就是所谓的 super daemon 管理的各项服务的设定档目录 /etc/modprobe.conf 内核模块额外参数设定 /etc/syslog.conf 日志设置文件 /home 使用者家目录 /lib 系统会使用到的函数库 /lib/modules kernel 的相关模块 /var/lib/rpm rpm套件安装处 /lost+found 系统不正常产生错误时,会将一些遗失的片段放置于此目录下 /mnt 外设的挂载点 /media 与/mnt类似 /opt 主机额外安装的软件 /proc 虚拟目录,是内存的映射 /proc/version 内核版本 /proc/sys/kernel 系统内核功能 /root 系统管理员的家目录 /sbin 系统管理员才能执行的指令 /srv 一些服务启动之后,这些服务所需要取用的资料目录 /tmp 一般使用者或者是正在执行的程序暂时放置档桉的地方 /usr 最大的目录,存许应用程序和文件 /usr/X11R6: X-Window目录 /usr/src: Linux源代码 /usr/include:系统头文件 /usr/openwin 存放SUN的OpenWin /usr/man 在线使用手册 /usr/bin 使用者可执行的 binary file 的目录 /usr/local/bin 使用者可执行的 binary file 的目录

Linux文件系统相关数据结构及相互间的关系案例分析

文件系统相关数据结构及相互间的关系 一.详细关系: 1.进程要访问文件,就要首先与文件系统中要访问的文件建立连接,在进程数据结构task_struct中,有两个指针fs和files,一个指向fs_struct数据结构,是关于文件系统的信息;另一个指向files_struct数据结构,是关于已打开文件的信息。 2.fs_struct数据结构中有dentry结构指针,dentry结构中有inode结构指针。Dentry结构所代表的是逻辑意义上的文件,记录的是其逻辑上的属性,而inode 结构所代表的是物理意义上的文件,记录的是物理上的属性。它们之间的关系是多对一的关系。Inode结构中定义union数据结构用于大致反应Linux内核目前所支持的各种文件系统。 2.1.dentry结构中有一个d_inode指针指向相应的inode结构,dentry结构代表的是逻辑意义上的文件,描述文件的逻辑属性,因此目录项在磁盘上并没有对应的映像;而inode结构代表的是物理意义上的文件,记录其物理属性,对与一个具体的文件系统,inode结构在磁盘上有对应的映像。由此可见,一个索引节点对象可能对应多个目录项对象。一个有效的dentry结构必定对应一个inode 结构,这是因为一个目录项要么代表一个文件,要么代表一个目录,而目录实际上也是文件。所以只要dentry结构是有效的,则其指针d_inode必定指向一个inode结构。反之则不成立,因为一个inode可以对应多个dentry结构,即一个文件可以有不止一个文件名或路径名。因为一个已经建立的文件可以被链接到其他文件名。所以inode结构中有一个i_dentry,凡是代表着同一个文件的所有目录项都通过其dentry结构体中的d_alias域挂入相应的inode结构体中的

相关文档