系统管理:传统UNIX文件系统

文件系统主要包含4个功能设计

  • 文件系统组织结构和命名规则
  • 系统调用/第三方库(可选)
  • 硬件设备抽象—具体的硬件设备抽象为一个可见的文件
  • 安全模型—文件访问权限 文件隐藏 文件共享等

文件系统列表

文件系统开发者应用领域
Minix教学目的
ISO-9660老式CD-ROM上的文件系统
ext2/ext3/ext4为Linux系统开发的文件系统
FAT/NTFS微软公司Windows系统使用文件系统
ZFSSUN公司
VxFS/ReiserFSVeritas
JFSIBM
网络文件服务器
内核组件或者是基于内存的磁盘模拟器

可见在不同时期出于商业目的或者是教学研究目的,涌现了很多种文件系统

  • 文件系统组织树状结构
    常见的文件系统使用树状结构,如下图

在这里插入图片描述
路径名称:
通过路径名称访问特定的文件,路径名称有两种:绝对路径形如 /home/Ben,相对路径形如 ./Ben

根文件树的组织

文件系统阵营组织类别
UNIX阵营
Windows阵营

UNIX家族根文件系统从来没有被好好的组织管理过:关键配置存储的位置,系统库存放的位置,命令存储的位置因为缺少标准规定。因此大家都是各行其是,出现当下不同操作系统的根文件系统百花齐放的现状

  • 对Linux系统来说,文件系统层次结构标准(Filesystem Hierarchy Standard)正在努力编制标准目录,使之合理并加以说明。什么文件应当存放在什么位置,可以参考该文档

标准目录及其内容

路劲名操作系统内容
/bin所有系统核心操作系统命令
/bootLS内核文件或者加载内核需要的文件
/dev所有系统打印机 键盘 磁盘等硬件设备文件
/etc/所有系统关键启动配置文件
/home所有系统用户默认主目录
/kernel/S内核组件?
/lib所有系统库,共享库和部分C编译器
/mediaLS可移动介质的文件系统挂载点
/mntLSA可移动介质的文件系统的临时挂载点
/opt所有系统可选用的应用程序软件包(尚未广泛采用)
/procLSA所有正在运行进程的信息
/root/LSroot用户的HOME目录
/sbin/所有系统系统运行需要的最小命令集合(一个显著的特征是程序大多是使用静态链接生成的)
/standH独立的工具,磁盘格式化工具,诊断工具等
/tmp所有系统重新引导系统就消失的文件
/usr所有系统次要文件和命令层次结构
/usr/bin/所有系统大多数命令和可执行文件
/usr/include/所有系统编译器头文件
/usr/lib所有系统库:供标准程序使用的支持文件
/usr/lib64L在64位Linux发行版本上的64位库
/usr/local所有系统本地编写的软件或者安装包
/usr/share所有系统多种系统共用的东西
/usr/share/man所有系统联机用户手册
/usr/srcLSA非本地软件包的源代码
/usr/tmp所有系统更多的临时空间,重新引导文件仍然保留
/var所有系统系统专用数据和配置文件
/var/adm所有系统各种不同的东西:日志,系统设置记录,奇怪的管理信息
/var/logLSA各种系统日志文件
/var/spool所有系统供打印机,邮件等使用的假脱机目录
/var/tmp所有系统更多的临时空间,系统重新引导,文件保留

文件属性:
文件在磁盘上基本存储格式如下
在这里插入图片描述下面一一对各个字段进行说明

  1. i_mode
    在这里插入图片描述设置用户/组 ID
    设置用户ID位和设置用户组ID位并非总是有意义,有以下几种使用情况
    01 文件作为可执行文件时,设置用户ID和设置用户组ID位标志会影响操作系统更改进程的有效用户ID和有效用户组ID,更改为文件的拥有者和所属组
    02 文件类型为目录时,设置用户组ID被设置。在该目录下新建的文件所属组为该目录的所属组,而不是用户所在的组

    粘滞位
    01 文件作为可执行文件时,设置粘滞位。程序结束时,代码区会被连续的保存在交换分区中(在文件系统中,代码数据是存储在离散的数据块当中的,磁盘寻道时间会加长),因此再一次执行该程序时,代码区加载时间会变短。粘滞位的概念渐渐的被现代系统遗忘了…

    02 目录设置粘滞位时,参考链接:目录与粘滞位
    大多数文件系统定义了7种类型,可使用 ls -l 命令查看文件类型
    在这里插入图片描述

  2. 下面说明不同命令如何作用在磁盘文件上
    /# 修改 i_mode,读写执行(rwx),用户/用户组/其它人(u/g/o),粘滞位t
    在这里插入图片描述例如:
    $chmod u+w file
    $chmod a-x file

    /#修改i_uid 和i_gid
    $sudo chown -R jianleya ~/mydir
    $sudo chgrp -R jianleya ~/mydir
    或者一次完成操作
    $chown -R jianleya:jianleya ~/mydir

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值