当前位置:首页 » 《随便一记》 » 正文

红帽RHCE之软硬链接_海鸥爱上鱼

14 人参与  2022年04月05日 13:42  分类 : 《随便一记》  评论

点击全文阅读



硬链接与软链接:

可以创建指向同一文件的多个名称。
有两种方法可以做到这一点:硬链接、软链接(有时也称为符号链接)。
每种方法都各有利弊。
创建硬链接:
每个文件都以一个硬链接开始
新的硬链接与原始文件的一切属性和内容完全相同,同步更新。
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

点击全文阅读


本文链接:http://zhangshiyu.com/post/37378.html

链接  文件  创建  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1