Linux命令学习之链接文件

链接文件是Linux文件系统的一个优势,如果要在系统上维护同一文件的两份或者多份,除了保存多份单独的物理文件副本之外,还可以采用保存一份物理副本和多个虚拟副本的方法,这种方法称为链接。链接是目录中只想文件真是位置的占位符,Linux系统种有一下两种不同类型的文件链接。

符号链接

符号链接就是一个实实在在的文件,它只想存放在虚拟目结构种某一个地方的另外一个文件。

[ocetl@yxdmgr61 linkdemo]$ ll
总用量 4
-rw-r--r--. 1 ocetl ngboos 7 10月 19 16:07 a.txt
[ocetl@yxdmgr61 linkdemo]$ ln -s a.txt  sl_a.txt
[ocetl@yxdmgr61 linkdemo]$ ll
总用量 4
-rw-r--r--. 1 ocetl ngboos 7 10月 19 16:07 a.txt
lrwxrwxrwx. 1 ocetl ngboos 5 10月 19 16:07 sl_a.txt -> a.txt

需要注意的是

  • 符号链接的名字ls_a.txt 位于ln 命令的第二个参数的位置上,在列表种,符号文件->文件名表示该符号文件是连接到a.txt上的一个符号链接。
  • 符号链接的文件大小与数据文件大小并不一致,符号链接仅仅是指向a.txt的文件而已,他们的内容并不相同,是两个完全不同的文件。
  • 另一个能说明符号链接是独立文件的方法就是查看inode编号,文件或者目录的inode编号是一个标识的唯一数字,这是数字又内核分配给文件系统种的每一个对象,想要查看文件或目录的inode编号,可以使用ls -i 命令
[ocetl@yxdmgr61 linkdemo]$ ls -i
1612425946 a.txt  1616649528 sl_a.txt

不难发现a.txt 的inode编号为1612425946,sl_a.txt的inode编号为1616649528,说明a.txt与ls_a.txt是完全不同的文件。

硬链接

硬链接会创建独立的虚拟文件,其中包含源文件的信息及位置。但从根本上而言,他们是同一个文件,引用硬链接文件就等同于引用原文件。

[ocetl@yxdmgr61 linkdemo]$ ll
总用量 4
-rw-r--r--. 1 ocetl ngboos 7 10月 19 16:07 a.txt
lrwxrwxrwx. 1 ocetl ngboos 5 10月 19 16:07 sl_a.txt -> a.txt
[ocetl@yxdmgr61 linkdemo]$ ln a.txt  hl_a.txt
[ocetl@yxdmgr61 linkdemo]$ ll
总用量 8
-rw-r--r--. 2 ocetl ngboos 7 10月 19 16:07 a.txt
-rw-r--r--. 2 ocetl ngboos 7 10月 19 16:07 hl_a.txt
lrwxrwxrwx. 1 ocetl ngboos 5 10月 19 16:07 sl_a.txt -> a.txt

我们可以看到硬链接文件共享inode编号,以及同样的文件大小,因为他们终归是同一个文件。

[ocetl@yxdmgr61 linkdemo]$ ll -i 
总用量 8
1612425946 -rw-r--r--. 2 ocetl ngboos 7 10月 19 16:07 a.txt
1612425946 -rw-r--r--. 2 ocetl ngboos 7 10月 19 16:07 hl_a.txt
1616649528 lrwxrwxrwx. 1 ocetl ngboos 5 10月 19 16:07 sl_a.txt -> a.txt

说明:只能对处于同一存储媒体的文件创建硬链接,若想在不同存储媒体之间创建链接,只能创建符号链接。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值