文件系统

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

    相关推荐

    • 简述Linux那些年–发展史

      Linux发展史 作者:任飞鹏          日期:2016-10-13 Linux简介: Linux同Windows一样,都是一套OS(操作系统)。Linux是一套开源的类Unix操作系统,可以免费使用和自由传播。是一个基于POSIX和UNIX的多用户、多任务、支…

      Linux干货 2016-10-19
    • 文本处理三剑客之sed

      概述     经过上篇对正则表达式和grep相关内容的学习,我们对文本处理有了一个初步的认识,本篇将简要介绍一下文本处理三剑客之sed。具体分为以下几个部分:     1、sed原理概述     2、sed命令详解 第一部分 &n…

      Linux干货 2016-08-10
    • nginx配置(三)

      ngx_http_upstream_module模块     #分流The ngx_http_upstream_module module is used to define groups of servers that can be referenced by the proxy_pass, fastcgi_pass, uwsgi_pa…

      Linux干货 2017-05-08
    • bind的安装实现

      首先介绍一下我的测试环境:centos 7+入网(为了试行一下自己的安装文档,才装的虚拟机) 1> yum install bind bind-chroot -y     因为刚刚安装的虚拟机,这里我就不检查了; 2>vim named.conf [root@localhost named]# cat /e…

      Linux干货 2016-03-20
    • 数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径

      让业务搭乘大数据技术确实是件非常有吸引力的事情,而Apache Hadoop让这个诱惑来的更加的猛烈。Hadoop是个大规模可扩展数据存储平台,构成了大多数大数据项目基础。Hadoop是强大的,然而却需要公司投入大量的学习精力及其它的资源。 如果得到正确的应用,Hadoop确实能从根本上提升你公司的业务,然而这条Hadoop的应用之路却充满了荆棘。另一个方面…

      Linux干货 2015-02-25
    • 【社招】【小米-北京】运维开发工程师

      【社招】【小米-北京】运维开发工程师 【工作地点】北京市海淀区安宁庄东路72号科利源大厦 【薪酬福利】15k-30k 期权奖励、六险一金、水果花茶、班车、健身房、食堂 【投递方式】邮件主题“岗位+姓名”发送至lipengcheng3@xiaomi.com   岗位职责: 提高系统运维的自动化,主要包括运维平台、PaaS、监控系统,自动化部…

      Linux干货 2017-07-28

    评论列表(1条)

    • stanley
      stanley 2016-02-28 12:23

      背景的介绍匮乏