• 文件管理


          linux的文件管理

        linux的文件组成:

          1、数据:数据就是文件内容

          2、Metadata元数据:每个文件除了内容之外,都有一些相关信息。例如我们之前所提到的文件的所有者,所有组和权限,这些都属于元数据,还包含了修改时间。可ls -l显示的内容大多都属于。这些信息都保持在一个叫inode节点的结构中;

          3、文件名称:其实文件名称也算是元数据,只所有把它摘出来,是因为其不保存在i节点中,文件名保持在名为dentry目录项的结构中。在实质上,该文件名是把一个文件名称和一个i节点关联起来。

          总的来说:每个文件都有以下三层结构:dentry/inode以及data。dentry含有文件名并关联inode,inode含有文件元数据并指向数据data。

          什么是i节点?linux系统中,文件系统内的每个文件都有一个相关的i节点,里面保存除了文件名称和数据外所有文件信息。

          i节点里面有什么?

            1、文件类型:linux系统中,file的含义非常笼统,文件系统内的任何东西,都有可能是个文件,包括我们提到过的常规文件、目录、符号链接、设备节点等等。

            2、所有者身份及权限:每个文件和目录都有所有者、所有组合分别权限,这些信息都保持在i节点中,而且所有文件的i节点结构相同,所有我们在查看时,显示内容,以及修改的命令,都相同的。

            3、时间信息:每一个i节点保存于文件文件关联的三个时间信息,通常叫做atime/ctime以及mtime。

     

    缩写 命令 含义
    atime 访问时间 文件数据每次被阅读后更新
    ctime 改变时间 文件的i节点信息每次被改变后更新
    mtime 修改时间 文件数据每次被改变后更新

     

     

     

     

     

     

          我们需要知道,改变修改有何不同? 当一个文件的数据更新,就说该文件被修改,mtime会更新;当一个文件的i节点更新时,就说该文件被改变,ctime会更新。

          最后需要注意的是,人民常错把ctime作为创建时间,其实linux系统不记录文件创建时间,这是系统设计缺陷导致。

          4、文件长度以及大小:i节点用两种度量记录文件大小,分别是长度和大小,长度表示文件数据实际的字节数,而大小则表示所占用的磁盘空间,

          5、链接数量:i节点记录着文件的链接数,也就是引用该文件dentry数(就是文件名称)

          使用stat命令查看i节点信息

    stat filename 显示文件状态信息
    file 文件名称,该信息不属于i节点的信息
    size 文件长度
    blocks 该文件占用的文件系统空间块数
    regular* 文件类型
    links 链接计数
    uid* 该文件所有者以及权限
    access* 该文件atime/mtime和ctime

     

     

     

     

     

     

     

     

          使用ls命令查看i节点信息

            ls -i filename    显示文件i节点的编号

     

        硬链接以及软链接:

          什么是硬链接?比如a和b两个人同时开发一款软件,那a写完之后要拷给b,b写完也要拷给a,这样子很麻烦,如果a的文件更新之后,b的文件自动同步更新,岂不更加方面?这就是硬链接。

          创建方式:ln file1 file2

          什么是软链接?软链接就好比windows的快捷方式,用于链接一个文件,却占用很小的空间。

          创建方式:ln -s file1 file2

          注意:创建的时候,原文件在前,快捷方式在后

             工作经验:一般都用软链接,硬链接基本没用

            与软链接有关的事项:

              1、Dangling Link 空链接:链接目标文件被删除了,软链就会变成空链

              2、递归链接:file1链接file2,file2链接file1,这种相互链接,称为递归链接;

              3、绝对软链以及相对软链:由路径决定的。

    软链 硬链
    软连接可以关联到目录 目录之间不可用硬链接
    删除原文件会导致空链 可以删除任意一端
    软链可以关联不同文件系统中的文件 硬链必须在同一个文件系统下面
    当一个文件依赖于另一个文件而存在,一般使用软链 链接两端文件经常被使用到,甚至其中一端的文件不存在,用硬链接比较合适

     

     

     

     

     

     

     

     

     

     

     

        

  • 相关阅读:
    Python数据分析的几种绘图方式——数据可视化(附源码)
    Python GUI项目实战:主窗体的界面设计与实现
    Python Scrapy框架:数据爬取全流程
    python来爬取煎蛋网随手拍小姐姐图片
    有意思的逻辑小练习:函数做参数进行传递
    python值*args和**kwargs的总结思考
    数据类型的基础知识补充,字典的并交集、空集合、可作为字典元组的元素、删除字典中的元素
    python里面为什么shell和保存文件运行结果不一样的相关思考(内存相关)
    代码:购物车(待修改)
    python里面为什么shell和保存文件运行结果不一样?
  • 原文地址:https://www.cnblogs.com/cxhh/p/10321519.html
Copyright © 2020-2023  润新知