linux的文件管理

  • A+
所属分类:运维教程

Linux的文件组成:

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

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

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

总的来说,每个文件都有以下三层结构:dentry/inode以及datadentry含有文件名并关联inodeinode含有文件元数据并指向数据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写完之后,要拷给bb写完也要拷给a,这样子很麻烦,如果a的文件更新之后,b的文件自动同步更新,岂不更加方便?这就是硬链接。

硬链接的创建方式

ln file1 file2

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

软连接的创建方式

ln -s file1 file2

与软链接有关事项

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

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

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

软链硬链比较

软链

硬链

软链接可以关联到目录

目录之间不可用硬链接

删除原文件会导致空链

可以删除任意一端

软链可以关联不同文件系统中的文件

硬链必须在同一个文件系统下面

当一个文件依赖于另一个文件而存在,一般使用软链

链接两端文件经常被使用到,甚至其中一端的文件不存在,用硬链接比较合适

  • 我的微博
  • 这是微博的扫一扫
  • weinxin
  • 微信公众
  • 微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:58   其中:访客  57   博主  1

    • avatar 强吭闯脱咏赂老稻嘶略桃诮猛颇岸突痹糠 9

      签到成功!签到时间:今日的上午8:48:28,每日打卡,生活更精彩哦!

      • avatar 僖托沟倒障谆桌掳瓷抡官抖训派淹艘哺肮 9

        签到成功!签到时间:今日的上午6:46:39,每日打卡,生活更精彩哦!

        • avatar 逞嗜成栈子傩斜帕棕够唤壁墓崭糙踪舅谮 9

          签到成功!签到时间:今日的上午3:37:31,每日打卡,生活更精彩哦!

          • avatar 聊赣方嗜列毖僖靶背肿韶沂椎戮侗郧餐燃 9

            签到成功!签到时间:今日的上午3:03:32,每日打卡,生活更精彩哦!

            • avatar 尤拐儇敌饶诘坑簿判止趟四卓缎辖暗窖驯 9

              签到成功!签到时间:今日的下午4:40:37,每日打卡,生活更精彩哦!

              • avatar 甭穆滋换壳贩婪指谏迷肇聊章涂蓟舶泊阑 9

                签到成功!签到时间:今日的下午3:23:27,每日打卡,生活更精彩哦!