红帽RHCE之软硬链接


硬链接与软链接:

可以创建指向同一文件的多个名称。
有两种方法可以做到这一点:硬链接、软链接(有时也称为符号链接)。
每种方法都各有利弊。
创建硬链接:
每个文件都以一个硬链接开始
新的硬链接与原始文件的一切属性和内容完全相同,同步更新。
ls -l命令可以显示文件硬链接数量
[fu@VM-0-3-centos ~]$ pwd
/home/fu
[fu@VM-0-3-centos ~]$ ls -l newfile.txt
-rw-rw-r-- 1 fu fu 0 Nov 24 20:07 newfile.txt

使用ln命令为现有文件创建新硬链接

[fu@VM-0-3-centos ~]$ ln newfile.txt /tmp/newfile-hlink2.txt
[fu@VM-0-3-centos ~]$ ls -l newfile.txt /tmp/newfile-hlink2.txt
-rw-rw-r-- 2 fu fu 0 Nov 24 20:07 newfile.txt
-rw-rw-r-- 2 fu fu 0 Nov 24 20:07 /tmp/newfile-hlink2.txt

$ ls -il :查看文件的inode(索引节点编号)
如果两个文件具有相同的inode,则表示它们以硬链接连接彼此。

[fu@VM-0-3-centos ~]$ ls -l newfile.txt /tmp/newfile-hlink2.txt
-rw-rw-r-- 2 fu fu 0 Nov 24 20:07 newfile.txt
-rw-rw-r-- 2 fu fu 0 Nov 24 20:07 /tmp/newfile-hlink2.txt

即使原始文件被删除,只要存在至少一个硬链接,该文件的内容就依然可用。
只有删除了最后一个硬链接时,才会将数据从存储中删除。

硬链接的局限性: 硬链接只能用于常规文件。
不能使用ln来创建指向目录或特殊文件的硬链接。
只有当两个文件都位于同一文件系统上时,才能使用硬链接。 创建软链接:
ln -s命令可创建软链接,也称为“符号链接”。
软链接不是常规文件,而是指向现有文件或目录的特殊类型的文件。
软链接相比硬链接有一定的优势:
 1. 可以链接位于不同文件系统上的两个文件。
 2. 可以指向目录或特殊文件,而不仅限于常规文件。
[fu@VM-0-3-centos ~]$ ln -s /home/user/newfile-link2.txt /tmp/newfile-symlink.txt
[fu@VM-0-3-centos ~]$ 
[fu@VM-0-3-centos ~]$ ls -l newfile-link2.txt /tmp/newfile-symlink.txt
ls: cannot access newfile-link2.txt: No such file or directory
lrwxrwxrwx 1 fu fu 28 Nov 24 20:16 /tmp/newfile-symlink.txt -> /home/user/newfile-link2.txt
[fu@VM-0-3-centos ~]$ cat /tmp/newfile-symlink.txt
hello world

[fu@VM-0-3-centos ~]$ ln -s /etc /home/fu/configfiles
[fu@VM-0-3-centos ~]$ 
[fu@VM-0-3-centos ~]$ cd /home/fu/configfiles
[fu@VM-0-3-centos configfiles]$ pwd
/home/fu/configfiles

当原始文件被删除后,软链接依然会指向该文件。
指向缺失的文件的软链接称为“悬挂的软链接”(断链)。
若重新创建与原始文件同名的文件,软链接将重新创建。

[fu@VM-0-3-centos ~]$ touch file.txt
[fu@VM-0-3-centos ~]$ echo 'hello world' >> file.txt
[fu@VM-0-3-centos ~]$ cat file.txt
hello world
[fu@VM-0-3-centos ~]$ ln -s file.txt softlink.txt
[fu@VM-0-3-centos ~]$ ls -l softlink.txt
lrwxrwxrwx 1 fu fu 8 Nov 24 20:29 softlink.txt -> file.txt
[fu@VM-0-3-centos ~]$ cat softlink.txt
hello world
[fu@VM-0-3-centos ~]$ cat file.txt
hello world
[fu@VM-0-3-centos ~]$ rm -f file.txt
[fu@VM-0-3-centos ~]$ ls- lh softlink.txt #删除原始文件后软链接断链
lrwxrwxrwx 1 fu fu 8 Nov 24 20:29 softlink.txt -> file.txt
[fu@VM-0-3-centos ~]$ touch file.txt
[fu@VM-0-3-centos ~]$ ls -lh softlink.txt
lrwxrwxrwx 1 fu fu 8 Nov 24 20:29 softlink.txt -> file.txt
  • 54
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海鸥爱上鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值