文件系统

        文件系统表现为单个统一的层次结构:从目录/开始并通过若干数量的子目录继续向下扩展,/也叫做根目录。这种单一的层次系统和 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

    (0)
    上一篇 2016-02-28 12:21
    下一篇 2016-02-28 12:24

    相关推荐

    • yum

      yum yum:YellowdogUpdate Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具 yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)文件服务器:http://https://ftp://file:// …

      2017-08-17
    • 集中管理利器-puppet快速入门-上

      带着问题来学习 Ø  从如下内容来看,如何自定义安装用户想要的东西呢?                                        …

      Linux干货 2015-04-22
    • Linux的哲学思想及Linux发行版

      讲述一下几个问题: 第一,Linux的哲学思想;第二,Linux发行版的基础目录名称,命名法则和功用规定;第三,Linux不同发行版之间的联系和区别。 Linux的哲学思想: 1、一切皆文件。是Unix/Linux的基本哲学之一,不仅普通的文件,目录,字符设备,块设备,套接字等在Unix/Linux中都是以文件被对待。 2、小型,单一用途的程序。程序和可执行…

      Linux干货 2016-09-17
    • Nginx基础

      Nginx基础 目录 Nginx概述 Nginx的优点 Nginx相比Apache 编译安装Nginx Nginx配置文件讲解 ngx_http_access_module模块 ngx_http_auth_basic_module模块 ngx_http_log_module模块 ngx_http_stub_status_module模块 Nginx概述 En…

      Linux干货 2016-11-01
    • 制作python模块安装包[原创]

       python的第三方模块越来越丰富,涉及的领域也非常广,如科学计算、图片处理、web应用、GUI开发等。当然也可以将自己写的模块进行打包或发布。一简单的方法是将你的类包直接copy到python的lib目录,但此方式不便于管理与维护,存在多个python版本时会非常混乱。现介绍如何编写setup.py来对一个简单的python模块进行打包。 一、…

      Linux干货 2015-03-27
    • TCP协议详解

      TCP协议详解。     I,TCP数据段报文解释 1,tcp数据段头部20(固定)+40(可变)字节构成,此数据由报头偏移位构成,计算单位为四个字节 表示TCP报文段的首部长度,共4位,由于TCP首部包含一 个长度可变的选项部分,需要指定这个TCP报文段到底有多长。它指 出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。…

      Linux干货 2017-06-26

    评论列表(1条)

    • stanley
      stanley 2016-02-28 12:23

      背景的介绍匮乏