Linux学习日记-文件系统的简单操作

###磁盘与目录的容量

我们知道磁盘的整体数据是在在superblock区块中,但是每个个别文件的容量则是在inode当中记载的。那在命令行下该如何叫出这几个数据呢?

  • df : 列出文件系统的整体磁盘使用量
  • du : 评估文件系统的磁盘使用量(常用在推估目录所占目录)

###实体链接与符号链接 : ln

在Linux下面的链接文件有两种,一种是类似windows的快捷方式的文件,可以让你快速的链接到目标文件(或目录);另一种则是通过文件系统的inode来产生新文件名,而不是产生文件,这种称为实体链接(hard link)。

  • Hard Link(实体链接,硬式链接或实际链接)

首先:

  • 每个文件都会占用一个inode,文件内容由inode的记录来指向;
  • 想要读取该文件,必须要经过目录记录的文件名来指向到正确的inode号码才能读取。

也就是说,文件名只与目录有关,但是文件内容则与inode有关,那么有没有多个文件名对应到同一个inode号码呢?这就是hard link的由来,所以简单的说:hard link只是在某个目录下新增一笔文件名链接到某inode号码的关联记录。

输入图片说明

hard link上仅能在单一文件系统中进行的,不能够跨文件系统,所以hard link是有限制的:

  • 不能够跨Filesystem;
  • 不能link目录。

不能hard link到目录是因为如果使用hard link链接到目录时,链接的数据需要连同被链接目录下面的所有数据都创建链接。

  • Symbolic Link(符号链接,亦即是捷径)

相对于hard link,Symbolic link好理解多了,基本上,Symbolic link就是在创建一个独立的文件,而这个文件会让数据的读取指向他link的那个文件的文件名。由于只是利用文件来做为指向的动作,所以,当来源文件被删除之后,symbolic link的文件会"开不了",会一直说"无法打开某文件"。实际上就是找不到原始"文件名"。

输入图片说明

  • 关于目录的link数量 :

创建一个目录时,至少为会.与..这两个目录,当我们创建一个新目录名称为/tmp/testing时,基本会有三个东西,那就是:

  • /tmp/testing
  • /tmp/testing/.
  • /tmp/testing/..

而其中/tmp/testing与/tmp/testing/.其实是一样的,而/tmp/testing/..则代表/tmp这个目录,所以说,当我们创建一个新的目录时,"新的目录的link数为2",而上层目录的link数则会增加1。

转载于:https://my.oschina.net/tucci/blog/1358886

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值