link linux 跨设备,linux Link

本文详细介绍了Linux中的硬链接和软链接。硬链接只能连接文件,不支持文件夹,且不能跨磁盘操作,它们共享相同的inode,修改其中一个会影响另一个。而软链接(符号链接)则可以连接文件和文件夹,拥有独立的inode,删除原始文件后,软链接将失效。软链接更像Windows中的快捷方式,但编辑软链接时不会跳转到原始文件位置。理解这两种链接对于Linux系统管理和软件部署非常重要。
摘要由CSDN通过智能技术生成

什么是linux link

对一个文件夹或文件夹创建一个连接。使得原始文件或文件夹的内容修改会被反应到连接文件或文件中来。反之亦然。这在一些软件安装对路径有要求,但是又不方便移动文件的场景很有用。

hard link的特点

命令ln orignal_file link_name

hard link只能连接文件,不能连接文件夹,且不能跨磁盘,跨分区连接文件

原始文件同link文件共用一个Inode ,所谓Inode是一个文件或文件夹的元数据信息,他存储了该文件的权限,创建时间等信息,并不存储文件内容。共用一个inode的特点是,link文件跟原始文件的权限,各种信息一模一样。并且更改任意一个权限,另一个也会跟着变化(这不废话嘛,用的都是同一个inode)

比如我们创建一个内容为hello world的helloword.txt文件

vincent@DESKTOP-2S8STFD:~/linkTest$ ll

total 0

drwxrwxrwx 1 vincent vincent 4096 Jun 3 22:06 ./

drwxr-xr-x 1 vincent vincent 4096 Jun 3 22:06 ../

-rw-rw-rw- 1 vincent vincent 12 Jun 3 22:06 helloword.txt

创建一个硬链接

ln helloword.txt hardlinkTest

然后查看文件列表

vincent@DESKTOP-2S8STFD:~/linkTest$ ll

total 0

drwxrwxrwx 1 vincent vincent 4096 Jun 3 22:08 ./

drwxr-xr-x 1 vincent vincent 4096 Jun 3 22:06 ../

-rw-rw-rw- 2 vincent vincent 12 Jun 3 22:06 hardlinkTest

-rw-rw-rw- 2 vincent vincent 12 Jun 3 22:06 helloword.txt

删除原始文件后,硬链接和其连接的文件依然存在,并且可用

vincent@DESKTOP-2S8STFD:~/linkTest$ rm -rf helloword.txt

vincent@DESKTOP-2S8STFD:~/linkTest$ ls -l

total 0

-rw-rw-rw- 1 vincent vincent 12 Jun 3 22:06 hardlinkTest

vincent@DESKTOP-2S8STFD:~/linkTest$ cat hardlinkTest

hello world

所以硬链接,就像对一个文件加了一个保险,使得只要这个文件上还有一个硬链接,删除原始文件,仅仅是去掉了一个指针,文件本身还是存在且可用的

soft link的特点

命令ln -s orignal_file link_name

软连接不光可以连接文件,还可以连接文件夹。

软连接同原始文件时各自的Inode。比如我们创建一个上述文件的软连接后ln -s helloword.txt softlinktest

vincent@DESKTOP-2S8STFD:~/linkTest$ ll

total 0

drwxrwxrwx 1 vincent vincent 4096 Jun 3 22:14 ./

drwxr-xr-x 1 vincent vincent 4096 Jun 3 22:13 ../

-rw-rw-rw- 1 vincent vincent 12 Jun 3 22:06 hardlinkTest

-rw-rw-rw- 1 vincent vincent 12 Jun 3 22:13 helloword.txt

lrwxrwxrwx 1 vincent vincent 13 Jun 3 22:14 softlinktest -> helloword.txt

软连接的权限信息中,第一个l,指明了该文件是一个软连接文件。的权限和修改时间等跟原始文件不相同,因为他们使用不同的inode

删除原始文件。link文件虽存在,将不可用

创建软连接时,最好使用原始文件/文件夹的绝对路径。这样拷贝移动软连接,该连接依然生效。 如果使用原始文件/文件夹,相对于创建软连接的当前路径来连接的话,移动软连接后,连接就不可用

比如上述创建软连接的方式最好改成

ln -s /home/vincent/linkTest/helloword.txt softlinktest

软连接,更像windows中的快捷方式。稍有不同的时,你对连接文件的编辑查看,都是在连接的当前路径进行,并不会像windows 快捷方式会跳转到原始文件的路径。

删除link

假设一个软连接叫abc,他连的目录是/opt/data 。

删除软连接的方式是rm abc, 切记不要用rm abc/ 更不要用rm -rf abc/,后两则是尝试删除实际连接的文件夹,非常危险

参考地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值