首页 > 系统服务 > 详细

操作系统-文件系统(3)Linux目录配置

时间:2018-07-19 23:55:17      阅读:312      评论:0      收藏:0      [点我收藏+]
文件系统通常采用分层结构实现:文件管理、目录管理、磁盘管理
文件控制块(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 711 test2
#有了-m的选项可以配置权限,否则系统会使用默认属性
rmdir 删除空目录
-p 连同上层空目录一起删除

操作系统-文件系统(3)Linux目录配置

原文:https://www.cnblogs.com/yangyuliufeng/p/9339095.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!