文件系统通常采用分层结构实现:文件管理、目录管理、磁盘管理
文件控制块(File Control Block,FCB)是操作系统为每个文件建立的唯一数据结构,包含了全部文件属性。
通常把FCB汇集、组织在一起形成文件目录,文件目录含两种目录项,分别描述子目录和文件。
目录项格式按统一标准定义,全部由目录项构成的文件称为目录文件,保存在外存,查找文件时调入内存。
在树形目录结构中,一个文件的全名包括从根目录开始到文件为止,通路上遇到的所有子目录路径,又称为路径名
各子目录名之间用正斜线/(Unix)或反斜线\(win)隔开
一个硬盘分区可以组织成一颗子树,每棵子树可以对应于一个逻辑盘符(Win),也可以把众多子树嫁接成一棵大树(Unix)
 
Linux中,FCB分为文件名和索引节点inode,索引结点位置由inode号标识,放在磁盘inode区。
目录项仅包含文件名和inode号,称为基本目录项
目录文件永不为空,创建时自动包含两个特殊目录项:.指出自身inode入口,..指出父目录项的inode入口..
因此,新建目录时,目录文件自身inode中的i_nlink为2,上层目录文件inode中的i_nlink增加1
根目录的.和..都指向同一个inode
目录文件基本功能就是把文件名转换成此文件信息在磁盘上的物理位置。根据用户提供的文件路径名,采用顺序查找法从根目录或当前工作目录逐级查找路径名中的各子目录名,用其作为索引,逐层搜索各级目录文件,最终找到相匹配的文件目录项。
也可以采用一些优化办法加快查找目录的速度:
  • 目录表项是按键的顺序编排,则可以采用二分查找法
  • 采用杂凑法,把每个文件名经过变换函数变换成唯一的目录表表项
树型目录结构存在的一个问题是:当一个文件经过许多目录节点时,使用很不方便;系统在沿路径查找目录时,往往要多次访问文件存储器,使访问速度大大减慢。若把所有文件的目录都复制到主存,访问速度是加快了,但又增加了主存的开销。
一种有效办法是把常用和正在使用的那些文件目录复制进主存,这样,既不增加太多的主存开销,又可明显减少目录查找时间
系统可以为每个用户进程建立一张文件描述符表,当用户使用一个文件之前,先通过“打开”操作,把该文件有关目录信息复制到指定主存区域,有关信息填入文件描述符表,以建立用户进程和该文件索引的联系。当不再使用该文件时,使用“关闭”,切断用户进程和这个文件的联系,同时,若该目录已被修改过,则应更新辅存中对应的目录文件。
 
Linux根目录下有:
/bin:可执行文件(命令),所有用户均有权限
/boot:引导启动所需的东西,grub引导程序,vmlinuz文件(可引导的、压缩的linux内核)
/dev:一切装置和接口设备,如sd[a-z(分区号)]为SATA、SCSI、SAS、USB接口的硬盘,hd[a-z]为IDE设备
/home:系统默认的用户家目录,每一个用户有一个文件夹
             ~代表当前用户家目录,而~username代表某一个用户的家目录
/root:系统管理员用户的家目录,进入单人维护模式仅挂载家目录时,该目录就能拥有root的家目录
/usr/lib:库文件,一些程序使用的动态函式库,尤其是/lib/modules放置核心相关模块(驱动程序)
/media:可移除装置如软盘、光盘
/opt:第三方大型软件
/tmp:一般程序或正在执行的程序放置临时文件的地方
/mnt:挂载目录
/etc:几乎所有配置文件,一般使用者可查询但只有root有权限修改
/sbin:开机、修复、还原系统所需要的指令,root用户才能执行
/proc:系统实时信息,一个虚拟的文件系统,每次启动重新创建,放置的数据实际在内存中
            如cpuinfo、meminfo、version
/var       /var/lib/ :各服务产生的数据,如MYSQL的数据库默认写入/var/lib/mysql/
             /var/log/:系统日志,有dmesg(核心启动日志)        xferlog  (FTP服务用日志)  
                                                      messages(系统报错日志)    secure(安全日志)
                                                      maillog(邮件系统日志)         wtmp(登录日志)
                                                      cron(定制任务日志)
 
使用mkdir命令创建目录
[qlw@localhost ~]$mkdir -p test1/test2/test3/test4
#有了-p的选项可以自行建立多层目录
[qlw@localhost ~]$mkdir -m  test2
#有了-m的选项可以配置权限,否则系统会使用默认属性
rmdir 删除空目录
-p 连同上层空目录一起删除

操作系统-文件系统(3)Linux目录配置的更多相关文章

  1. Linux 目录配置

    一.Linux 目录配置标准:FHS FHS(Filessystem Hierarchy Standard) 的重点在于规范每个特定的目录下应该要放置什么样子的数据. FHS依据文件系统使用的频繁与否 ...

  2. Linux学习之路—Linux目录配置

    所有内容来自鸟哥私房菜 FHS标准的重点在于规范每个特定的目录下应该要放置什么样子的数据而已.事实上,FHS针对目录树架构仅仅定义三层目录下面应该放置什么数据,分别是: /(root,根目录):与开机 ...

  3. Linux目录配置——Linux目录配置标准:FHS

    事实上,FHS针对目录树架构仅定义出三层目录下应该放置哪些数据,分别是下面三个目录: 一./(根目录):与开机系统有关 根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一 ...

  4. Linux 目录配置标准:FHS

    目录 应放置内容 /bin 和/user/目录下的/bin/都是用来保存的系统命令 /sbin 和/user/目录下的/sbin是用来保存root的系统命令 /boot 这个目录主要放置开机所用的文件 ...

  5. Linux档案权限与目录配置

    一.档案权限: Linux 最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的档案数据,因此档案的权限管理就变的很重要了. Linux 一般将档案可存取的身份分为三个类别,分别 ...

  6. Linux基础学习:目录配置

    Linux 目录配置标准:FHS FHS:即Filesystem Hierarchy Stabdard,文件配置标准.其主要目的是希望用户可以了解已安装软件通常放置在哪个目录下. FHS根据文件系统使 ...

  7. 【转】第六章、Linux 的文件权限与目录配置

    原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission.php 最近更新日期:2009/08/18 Linux最优秀的地方之一, ...

  8. Linux 的文件权限与目录配置

    用户和用户组 文件所有者 (owner) 用户组概念 (group) 其他人概念 (others) Linux文件权限概念 1. Linux文件属性 要了解Linux文件属性,那么有个重要的命令必须提 ...

  9. 【Linux】目录配置

    为什么每套Linux distributions的配置文件.执行文件.每个目录内放置的文件其实都差不多?因为有一套需要依据的标准!我们底下就来瞧一瞧. 因为利用Linux来开发产品或distribut ...

随机推荐

  1. PHP 实例 - AJAX 与 XML-AJAX XML 实例

    PHP 实例 - AJAX 与 XML AJAX 可用来与 XML 文件进行交互式通信. AJAX XML 实例 下面的实例将演示网页如何通过 AJAX 从 XML 文件读取信息: 实例   Sele ...

  2. PHP array_merge_recursive() 函数

    实例 把两个数组合并为一个数组: <?php$a1=array("a"=>"red","b"=>"green&q ...

  3. Python 字典(Dictionary) items()方法

    描述 Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组.高佣联盟 www.cgewang.com 语法 items()方法语法: dict.it ...

  4. PHP date_get_last_errors() 函数

    ------------恢复内容开始------------ 实例 返回解析日期字符串时的警告和错误: <?phpdate_create("gyuiyiuyui%&&/ ...

  5. PHP fgetcsv() 函数

    定义和用法 fgetcsv() 函数从打开的文件中解析一行,校验 CSV 字段. fgetcsv() 函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止返回一个新行. 该函数如果成功 ...

  6. 使用ProxySQL实现MySQL Group Replication的故障转移、读写分离(二)

    在上一篇文章<使用ProxySQL实现MySQL Group Replication的故障转移.读写分离(一) > 中,已经完成了MGR+ProxySQL集群的搭建,也测试了ProxySQ ...

  7. RNN神经网络产生梯度消失和梯度爆炸的原因及解决方案

    1.RNN模型结构 循环神经网络RNN(Recurrent Neural Network)会记忆之前的信息,并利用之前的信息影响后面结点的输出.也就是说,循环神经网络的隐藏层之间的结点是有连接的,隐藏 ...

  8. 041_go语言中的panic

    代码演示: package main import "os" func main() { // panic("a problem") _, err := os. ...

  9. python分析BOSS直聘的某个招聘岗位数据

    前言 毕业找工作,在职人员换工作,离职人员找工作……不管什么人群,应聘求职,都需要先分析对应的招聘岗位,岗位需求是否和自己匹配,常见的招聘平台有:BOSS直聘.拉钩招聘.智联招聘等,我们通常的方法都是 ...

  10. BiMPM:Bilateral Multi-Perspctive Matching for Natural Language Sentences

    导言 本论文的工作主要是在 'matching-aggregation'的sentence matching的框架下,通过增加模型的特征(实现P与Q的双向匹配和多视角匹配),来增加NLSM(Natur ...