Linux之根文件系统

    今天学习了Linux的文件系统,所谓好记性不如烂笔头。还将这些知识点归纳并记录下来,以备以后查看,虽然现在理解的或许不够透彻,但我想通过不断地总结归纳,一定会有助于对知识的消化和理解,在将来一定会有所提高的吧.....

    说起Linux的文件系统,就不得不说FHS,那么什么是FHS?


0、FHS:树状结构,文件系统层级标准   

Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。实际上FHS仅是规范在根目录(/)下面各个主要目录应该放什么样的文件。


当我们了解了什么是FHS之后,我们就可以得知,所谓Linux的文件系统,就是rootfs: 根文件系统


现在就让我们来认识根目录下的各个目录及其作用吧。


1、根目录下的各个目录

        1/boot: 系统启动相关的文件,如内核(vmlinuz)initrdrd=ram+disk),以及grub(bootloader)

       

        2/dev: 设备文件

               设备文件:

                      块设备:随机访问,数据块。如磁盘

                      字符设备:线性访问,按字符为单位。如磁带

        特殊文件:ls -l列出的文件信息的文件大小部分变设备号,因为此类文件为空文件没有文件内容(数据),只有属  性(元数据)

                      设备号:主设备号(major)和次设备号(minor

       

       3/etc:配置文件

        

       4/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME


       5/root:管理员的家目录;为了保障安全,管理员和普通用户不"住在"同一个地方。


       6/lib:库文件

               静态库,  .a

               动态库, .dll(windows),.so (shared object)

               库文件也是ELF格式,但却不可以执行,即没有X权限。

               /lib/modules:内核模块文件


 7/media:挂载点目录移动设备

    什么是挂载:将设备文件与某个节点建立关联关系,设备文件只有通过挂载才能使用


        8/mnt:挂载点目录额外的临时文件系统


        9/opt:可选目录,第三方程序的安装目录,现在被usr/local替代


10/proc:伪文件系统存放内核映射文件,如网卡的工作状态,路由功能,IPv4;

通过改变这里的文件,达到改变操作系统的根本属性


11/sys:伪文件系统跟硬件设备相关的属性映射文件(如修改磁盘调度队列)

设备要访问设备必须通过内核?


关于伪文件系统:在计算机启动前该文件夹为空,启动后才有内容。


12/tmp:临时文件,  /var/tmp

临时文件:定期自动清空。任何人都有权利创建,却不能删除别人创建的文件

/tmp目录的属性:为什么使用命令ls -ld /tmp显示该目录的属性为rwxrwxrwt


13/var:可变化的文件


14/bin:可执行文件, 用户命令

        可执行文件的格式:

                        Linux:ELF可链接文件

                        Windows:PE可移植执行体


15/sbin:可执行文件,管理命令


16/usrshared, read-only,全局的共享的只读文件目录,只有读r的权利,而没有w和x的权利

                 /usr/bin

                 /usr/sbin

                 /usr/lib

 

问题:为什么要多出来一个目录/usr去存放这些关于程序运行执行的目录(bin,sbin,lib)呢,为什么不把全部关于程序执行的文件都存放在统一放在目录(/bin,/sbin,/lib)中?

答:一个(/bin;/sbin;/lib)是跟自身启动相关,

    一个(/usr/bin;/usr/sbin;/usr/lib)跟系统启动以后提供正常的基本功能相关。



                /usr/local:第三方软件的存放目录,取代了/opt;(格式化后,系统可以正常启动)

                      /usr/local/bin

                      /usr/local/sbin

                      /usr/local/lib


2、文件及文件目录的命名规则:

1、名称长度不能超过255个字符

2、不能使用/当文件名,除此之外没有限制(*,空格等);

           因为根目录是/,也是路径的分隔符

3、严格区分大小写





你可能感兴趣的:(linux,操作系统)