文件系统

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

    相关推荐

    • Linux终端类型

      Linux终端类型 关键字:linux终端,串行终端ttySn;伪终端pty;控制终端tty;控制台终端console 要想与Linux打交道,就必须学会使用Linux终端。所谓Linux终端,其实也就是一种控制台,一种字符设备,通常用tty标识,它是用户和Linux内核交互的平台,用户能在平台上通过各种指令操作Linux。终端的特殊设备文件一般分为以下几种…

      Linux干货 2016-10-19
    • LVM理论及实践

      LVM综述创建LV创建PV:pvcreate DEVICES创建VG:vgcreate VG_NAME PV_DEVICES创建lv格式化:mkfs.ext4 /dev/vg0/lv0挂载LVM的扩展扩展LV:lvextend扩展后检查挂载文件夹大小,发现扩展前后没有变化这是因为硬盘的修改需要同步:resize2fs /dev/vg0/lv0假设这时候VG的…

      Linux干货 2016-09-19
    • linux命令格式,获取帮助及其目录结构简要理解

      我们都知道,一台计算机要是没通电,和一堆废铁没什么区别。那么,通电开机进入系统后,会进入交互界面,等待用户操作,人与计算机交互界面有两种: GUI:图形用户接口。如我们平时使用的Windows  ,linux的X window,有KDE和GOME.   CLI:命令行接口,使用的SHELL类型有bash ,csh,tcshell,zshell等。 …

      2017-09-14
    • locate与find不得不说的事

      本文内容: locate与find 练习     locate与find是linux中最常用的两种查找方式,二者各有优缺点,locate查找迅速,却由于数据库非实时更新,导致可能查找不全,而find由于是从指定路径开始遍历,速度相对较慢,却更为准确,而且用法也更加灵活,因此find运用更加广泛,也是本文的重点。 文件查找: locate搜…

      Linux干货 2016-08-18
    • Shell 位置参数总结

      描述: 位置参数指的是shell脚本的命令行参数,同时也表示shell函数的额函数参数。 说明: 示例: #!/bin/sh echo "number:$#"     # 传给脚本的参数个数 echo "scname:$0" &n…

      Linux干货 2016-08-16
    • 8.1_Linux习题和作业

      7.28 作业 1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中 1 # cat /etc/issue | tr 'a-z' 'A-Z'whoi > /tmp/issue.out 2、将当前系…

      Linux干货 2016-08-04

    评论列表(1条)

    • stanley
      stanley 2016-02-28 12:23

      背景的介绍匮乏