文件系统

        文件系统表现为单个统一的层次结构:从目录/开始并通过若干数量的子目录继续向下扩展,/也叫做根目录。这种单一的层次系统和 Windows 的不一样,后者的分区有专门的名字空间。

        文件系统包括4种主要的组成部分:

    • 名字空间——给事物取名,并按一种层次结构组织它们;

    • API——用来遍历和操作对象的一套系统调用;

    • 安全模型——用来保护、隐藏和共享事物的方案;

    • 实现——把逻辑模型同实际硬件联系到一起的软件。

   路径名称

                相对路径:从当前的位置起始的路径;

                绝对路径:从根目录起始的路径。

   要注意的是:

  1. 文件名严格区分字符大小写:file1, File1, FILE1是不同的文件;

  2. 文件名可使用除/以外的任意字符,不建议使用特殊字符;# /是根目录,路径分隔符

  3. 文件名长度最长不能超过255个字符;

  4. 所有以.开头的文件,均为隐藏文件。

        根文件系统

        [root@localhost /]# ls

     bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var

       

        /boot :引导文件的存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录;

        /bin :供所有用户使用的基本命令:不能关联至独立分区,OS启动即会用到的程序;

       /sbin :管理类的基本命令:不能关联至独立分区,OS启动即会用到的程序;

      /lib :基本共享库文件,以及内核模块文件(/lib/modules);

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

      /etc :配置文件目录(纯文本文件);

      /home/USERNAME :普通用户的主目录;

      /root :管理员的家目录;

      /media :便携式移动设备挂载点;

      /mnt :临时文件系统挂载点;

      /dev :设备文件及特殊文件存储位置;

          b :block device 随机访问

          c :character device 线性访问

      /opt :第三方应用程序的安装位置;

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

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

      /usr :universal shared, read-only data;

          bin :保证系统拥有完整功能而提供的应用程序;

          sbin

          lib

          lib64

          include :C程序的头文件(header files);

          share :结构化独立的数据,例如 doc, man等;

          local :本地第三方应用程序的安装位置;

            bin, sbin, lib, lib64, share, etc

      /var :variable data files

          cache :应用程序缓存数据目录;

          lib :应用程序状态信息数据;

          local :专用于为/usr/local下的应用程序存储可变数据;

          lock :锁文件;

          log :日志目录及文件;

          opt :专用于为/opt下的应用程序存储可变数据;

          run :运行中的进程相关的数据,通常用于存储进程的pid文件;

          spool :应用程序数据池;

          tmp :保存系统两次重启之间产生的临时数据;

      /proc :用于输出内核与进程信息相关的虚拟文件系统

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

      /selinux :security enhanced Linux, selinux相关的安全策略等信息的存储位置;

        文件类型

        大多数文件系统的实现定义了7种文件类型。

            普通文件:-

            目录:d

            字符设备文件:c

            块设备文件:b

            套接字文件:s(socket)

            管道文件:p

            符号链接文件:l

        普通文件:

        普通文件从一系列的组成:文件系统并没有就其内容规定任何结构。文本文件、数据文件、可执行程序和共享库都作为普通文件存储。普通文件既能顺序存取,也能随机存取。

        目录:

        目录里有按名字对其他文件的引用。用户可以使用 mkdir 命令来创建目录,使用 rmdir 命令来删除空目录,使用 rm -r 命令来删除非空目录。

        字符设备文件和块设备文件:

        块设备文件让程序能够同系统的硬件和外围设备进行通信,字符设备文件让与之相关的驱动程序做它们自己的输入和输出缓冲。块设备文件由处理块数据I/O的驱动程序使用,并要求内核 为他们提供缓冲。

        套接字文件:

        套接口(socket)就是在进程之间让它们进行通信的连接。

        管道文件:

        与套接口类似,管道文件能让运行在同一主机上的两个进程之间进行通信。

        符号链接文件:

        符号链接或者叫做“软”链接通过名字指向文件。当内核在查找路径名的过程中遇到符号链接时,它就重定向到作为该链接的内容而存储的路径名上。硬链接和符号链接之间的区别在于:硬链接是直接引用,而符号链接是通过名称进行引用。符号链接跟它们指向的文件是不同的。


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

    评论列表(1条)

    • stanley
      stanley 2016-02-28 12:23

      背景的介绍匮乏