Linux下的文件管理系统

一、文件系统的FHS标准

    因为Linux的属于开源系统,开发人员多,为了统一开发标准,Linux有一个文件系统标准,也就是FHS(Filesystem HierarchyStandard)标准。有了这个标准,那些独立的软件开发商、系统开发人员以及系统的使用者就能方便的在系统上操作。

二、文件系统

    在FHS中,不管文件和目录是否存储在一个物理设备中,都会出现在根目录“/”下,显示成一个单根倒置的目录树,以.开头的文件为隐藏文件,表示文件时,不同级别的路径用“/”分割。每一个文件的数据分为两类:元数据(metadata)和数据(data),元数据表示该文件的属性数据,包括文件类别、权限、大小等;数据则是文件中保存的内容数据。目前文件系统广泛使用的标准文件格式为ext4,对文件的大小写敏感。

三、目录结构

    /:第一层次结构的根、整个文件的根目录。

    /bin/:需要在单用户模式可用的必要命令(可执行文件),面向所有用户不能关联到独立分区。

    /boot/:引导程序文件的存放目录,如内核文件等

    /dev/:设备文件

    /etc/:配置文件目录

    /home/:用户家目录,包括用户保存的文件、个人设置等。

    /lib/:启动程序也就是/bin/和/sbin/中二进制必要的基本共享库文件,以及内核模块文件

    /lib64/:专用于存放x86_64系统上的辅助共享库文件

    /media/:便携式设备挂载点。例如CD-ROM

    /mnt/:临时文件的挂载点

    /opt/:可选的应用软件包安装位置

    /proc/:虚拟文件系统,将内核与进程状态归为文本文档输出,对应Procfs格式挂载

    /root/:超级用户root的家目录

    /sbin/:管理类的基本命令

    /srv/:存储系统上运行的服务用到的数据

    /tmp/:临时文件临时文件存储位置

    /usr/:用于存储只读数据的第二层次;包含绝大多数的用户工具和应用程序

    /var/:存储系统正常运行是内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。

    /sys/用于输出当前系统上硬件设备相关信息虚拟文件系统

    /selinux/:Security Enhanced Linux,相关的安全策略等信息的存储位置

四、Linux下的文件类型

    -:普通文件

    d:目录文件

    b:块设备

    c:字符设备

    l:符号链接文件

    p:管道文件

    s:套接字文件

五、索引节点inode(index node)

    Linux文件系统使用索引节点来记录文件信息作用类似于Windows下的文件分配表。inde表中包括文件系统中的所有文件列表,每个文件或目录都与索引数组中的惟一一个元素对应,一个节点是一个表项,包含文件的元数据,包括:

        1)文件类型

        2)权限

        3)文件属主UID、文件属组GID

        4)链接数(指向这个文件名路径的名称个数)

        5)文件大小与时间戳

        6)指向磁盘上文件的数据块指针

        7)有关文件的其他数据(不包括文件名或数据内容) 


    使用cp命令复制文件时,会分配一个空闲的inode号,在inode中生成新的条目,在目录中创建一个新的目录项,然后名称与inode编号关联拷贝数据生成新的文件

    使用rm命令时,链接数递减,从而释放inode号可以被重新使用,数据块放在空闲列表中,删除目录项,数据不会被马上删除,但当另一文件使用数据块时,会将文件覆盖。

    如果mv命令的目标和源在相同的文件系统,移动文件时,用新的文件名创建对应新的目录项,删除就目录条目对应的旧的文件名,不影响ionde表(除时间戳)或磁盘上的数据位置,也就是说没有数据被移动。如果目标和源位于不同的文件系统,mv相当于cp和rm一起使用。

六、硬链接

    硬链接(hard link),就是一个文件的一个文件的一个或多个文件名。创建硬链接会增加额外的记录项以引用文件,他们都对应同一个文件系统上的物理文件,每个目录都引用相同的inode号,创建时连接数递增。删除文件时:rm命令会删除递减计数的链接,文件要是存在,至少要有一个链接数,当链接数为零时,该文件就被删除了。硬链接不能跨越驱动器或分区

    语法:ln filename [linkname]

blob.png

七、软链接(或符号链接)

    软连接又叫符号链接,一个符号链接指向另一个文件,类似于Windows中的快捷方式。一个符号的连接内容就是他引用文件的名称,可以对目录进行引用。也可以跨分区引用,链接指向的是另一个文件的路径,大小为路径字符串的长度,并且不会对目标文件inode的引用计数。

    语法:ln -s filename [linkname]

blob.png

原创文章,作者:zhanghuanyu,如若转载,请注明出处:http://www.178linux.com/26541

(0)
zhanghuanyuzhanghuanyu
上一篇 2016-08-02 10:54
下一篇 2016-08-02 10:54

相关推荐

  • 数组

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引, 八十的数组支持稀疏格式(索引不连续 声明数组: Declare -a ARRAY_NAME Declare -A ARRAY_NAME:关联数组 注意…

    Linux干货 2018-01-02
  • linux学习第二天知识点-linux入门及使用帮助

    一 基础命令 1. #ifconfig     显示或配置网卡的命令,英文全称是network interfaces configuring。     配置网卡的IP地址语法例:ifconfig eth0 192.168.0.1 netmask 255.255.255.0 2.&…

    Linux干货 2016-07-26
  • 马哥教育络班22期-第1周博客作业

    第一周博客作业 1 描述计算机的组成及其功能 计算机由硬件和软件两大部分组成: 1.1 计算机硬件组成与功能 计算机硬件由运算器、控制器、存储器、输入设备、输出设备五大部分组成。 1.1.1 运算器 算术逻辑部件ALU,执行算术运算和逻辑运算。例如:加减乘除,移位,取模。运算器的核心是加法器。 1.1.2 控制器 控制器是计算机的指挥中心,它的主要作用是按照…

    Linux干货 2016-08-14
  • CA,DNS,LAMP实现wordpress

    拓扑图见编译实现LAMP,bind,CA.jpg test3配置:     yum -y install bind     修改named.conf配置文件:     //      listen-on por…

    2017-04-23
  • 8月5日第七节课作业

    一、当天练习 1、找出ifconfig命令结果中本机的所有IPv4地址 2、查出分区空间使用率的最大百分比值 3、查出用户UID最大值的用户名、UID及shell类型 4、查出/tmp的权限,以数字方式显示 5、统计当前连接本机的每个远程主机IP的连接数,并按从大 到小排序 1、显示/proc/meminfo文件中以大小s开头的行;(要求:使 用两种方式) …

    Linux干货 2016-08-08
  • Linux高级磁盘管理-RAID管理

    在冯诺依曼体系机构中,输入输出要存储的外部磁盘I/O能力实在太低,尤其是企业面对高并发的访问量,在系统内部需要大量调度磁盘的上的网页文件资源,这些都会产生大量的I/O,一个磁盘的I/O能力不管如何提升毕竟是有线的,尤其是机械硬盘;同时为了保障业务的连续性,磁盘故障时必须提供冗余能力,面对这样的实际需求环境,RAID技术产生了,通过组织磁盘阵列方式提供I/O,…

    Linux干货 2016-09-06