Linux文件系统

Linux文件系统:

Linux内核到应用
  内核不负责任何的具体的工作,外部工作需要外部程序实现。

glibc:glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc,glibc除了封装[linux]操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。

程序的编译方式
静态编译
文件比较大,编译时把库函数复制到程序中
动态编译
依赖性较强,

进程的类型:
        终端:硬件设备,关联一个用户接口

        与终端相关:通过终端启动
        与终端无关:操作系统引导启动过程中自动启动

操作系统的组成:
      静态:kernel,application
      
      文件系统:层级结构

[FHS](http://refspecs.linuxfoundation.org/fhs.shtml):
    Filesystem Hierarchy Standard
            /bin:所有用户可用的基本命令程序文件;
            /sbin:供系统管理员使用的工具程序;
            /boot:引导加载器必须用到的各静态文件【kernel,initramfs(initrd),grub等】
            /dev:存储特殊文件或设备文件;
                      设备有两种类型:
                          字符设备(线性设备):数据交换是以字符为单位进行的【例如键盘、显示屏】
                          块设备(随机设备):可以把多个程序打包为一个单位【例如硬盘】
            /etc:系统程序的配置文件,只能为静态
            /home:普通的家目录的集中位置:/home/USERNAME,管理员root的家目录可选【因为不建议使用管理员登陆系统】
            /lib:为系统启动或根文件系统上的应用程序【/bin,/sbin】提供共享库,以及为内核提供内核模块。
                     libc.so.*:动态链接的C库;
                     ld*:运行时链接器/加载器;
                     modules:用于存储内核模块的目录。
             /lib64:64位系统特有的存放64位共享库的路径

            /media:为便携式设备提供挂载点,如cdrom,floppy 等
            /mnt:其他文件系统的临时挂载点
            /opt:optional,附加程序【第三方】的安装位置【可选路径】,不过大家都不喜欢当备胎,都不愿意承认自己是附加程序。
            /srv:当前主机位服务提供的数据;
            /tmp:Temporary files为那些会产生临时文件的程序提供的用于存储临时文件的目录,可供所有用户执行写入操作,有特殊权限
            /usr:/usr hierarchy universal shared read-only data全局共享的只读数据路径
                     有子目录:bin.sbin,lib,lib64,include(c程序头文件),share(命令手册页和自带文档等架构特有的文件存储位置),local(另一个层级目录),XllR6(X-windows程序的安装位置),src(程序源码文件的存储位置)
            /usr/local:Local hierarchy让系统管理员安装本地应用程序,也通常用于安装第三方程序
            /var :/var hierarchy存储经常变化的数据的目录
            /proc:基于内存的(关机就清空)虚拟文件系统,用于为内核及进程存储其相关信息,多为内核参数【例如net.ipv6.ip_forward虚拟为net/ipv4/ip_forward,存储与/proc/sys/下】
              /sys:虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径,其主要作用在于为管理Linux设备提供一种统一模型的接口。
    参考文档:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/

你可能感兴趣的:(Linux文件系统)