软硬方式链接(快捷方式)

  在Windows 系统中,快捷方式就是指向原始文件的一个链接文件,可以让用户从不同的位置来访问原始的文件;原文件一旦被删除或剪切到其他地方后,会导致链接文件失效。但是,这个看似简单的东西在Linux 系统中可不太一样。在Linux 系统中存在硬链接和软连接两种文件。

  硬链接(hard link):可以将它理解为一个指向原始文件inode 的指针,系统不为它分配独立的inode 和文件。所以,硬链接文件与原始文件其实是同一个文件,只是名字不同。我们每添加一个硬链接,该文件的inode 连接数就会增加1;而且只有当该文件的inode 连接数为0 时,才算彻底将它删除。换言之,由于硬链接实际上是指向原文件inode 的指针,因此即便原始文件被删除,依然可以通过硬链接文件来访问。需要注意的是,由于技术的局限性,我们不能跨分区对目录文件进行链接。
  软链接(也称为符号链接[symbolic link]):仅仅包含所链接文件的路径名,因此能链接目录文件,也可以跨越文件系统(不同分区)进行链接。但是,当原始文件被删除后,链接文件也将失效,从这一点上来说与Windows 系统中的快捷方式具有一样的性质。

ln 命令

  ln 命令用于创建链接文件,格式为ln [选项] 目标,其可用的参数以及作用如下表所示。在使用ln 命令时,是否添加-s 参数,将创建出性质不同的两种快捷方式

参数作用
-s创建符号链接(如果不带-s 参数,则默认创建硬链接)
-f强制创建文件或目录的链接
-i覆盖前先询问
-v显示创建链接的过程

  为了更好地理解软链接、硬链接的不同性质,接下来创建一个类似于Windows 系统中快捷方式的软链接。这样,当原始文件被删除后,就无法读取新建的链接文件了。

[root@lynchj ~]# echo "Welcome to linuxprobe.com" > readme.txt
[root@lynchj ~]# ln -s readme.txt readit.txt
[root@lynchj ~]# cat readme.txt
Welcome to linuxprobe.com
[root@lynchj ~]# cat readit.txt
Welcome to linuxprobe.com
[root@lynchj ~]# ls -l readme.txt
-rw-r--r-- 1 root root 26 Jan 11 00:08 readme.txt
[root@lynchj ~]# rm -f readme.txt
[root@lynchj ~]# cat readit.txt
cat: readit.txt: No such file or directory

  接下来针对一个原始文件创建一个硬链接,即相当于针对原始文件的硬盘存储位置创建了一个指针,这样一来,新创建的这个硬链接就不再依赖于原始文件的名称等信息,也不会因为原始文件的删除而导致无法读取。同时可以看到创建硬链接后,原始文件的硬盘链接数量增加到了2。

[root@lynchj ~]# echo "Welcome to linuxprobe.com" > readme.txt
[root@lynchj ~]# ln readme.txt readit.txt
[root@lynchj ~]# cat readme.txt
Welcome to linuxprobe.com
[root@lynchj ~]# cat readit.txt
Welcome to linuxprobe.com
[root@lynchj ~]# ls -l readme.txt
-rw-r--r-- 2 root root 26 Jan 11 00:13 readme.txt
[root@lynchj ~]# rm -f readme.txt
[root@lynchj ~]# cat readit.txt
Welcome to linuxprobe.com
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值