软链接和硬链接的区别

软链接和硬链接的区别

  1. 本质
    硬链接:本质是同一个文件
    软链接:本质不是同一个文件
  2. 跨设备
    硬链接:不支持
    软链接:支持
  3. inode
    硬链接:相同
    软链接:不同
  4. 链接数
    硬链接:创建新的硬链接,链接数会增加,删除硬链接,链接数减少
    软链接:创建或删除,链接数不会变化
  5. 文件夹
    硬链接:不支持
    软链接:支持
  6. 相对路径
    硬链接:原始文件相对路径是相对于当前工作目录
    软链接:原始文件的相对路径是相对于链接文件的相对路径
  7. 删除源文件
    硬链接:只是链接数减一,但链接文件的访问不受影响
    软链接:链接文件将无法访问
  8. 文件类型
    硬链接:和源文件相同
    软链接:链接文件,和源文件无关
  9. 文件大小
    硬链接: 和源文件相同
    软链接: 源文件的路径的长度

实例1:创建软链接和硬链接并查看元数据信息

  File: 'a'
  Size: 5               Blocks: 8          IO Block: 4096   regular file
Device: fc00h/64512d    Inode: 4456462     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/wx562635)   Gid: ( 1000/wx562635)
Access: 2021-02-03 21:11:54.045882976 +0800
Modify: 2021-02-03 21:11:54.045882976 +0800
Change: 2021-02-03 21:11:54.045882976 +0800

创建硬链接文件 a.hardlink并查看属性,除了文件名不同,元数据信息完全一致。

wx562635@U16-template:~$ stat a.hardlink
  File: 'a.hardlink'
  Size: 5               Blocks: 8          IO Block: 4096   regular file
Device: fc00h/64512d    Inode: 4456462     Links: 2
Access: (0664/-rw-rw-r--)  Uid: ( 1000/wx562635)   Gid: ( 1000/wx562635)
Access: 2021-02-03 21:11:54.045882976 +0800
Modify: 2021-02-03 21:11:54.045882976 +0800
Change: 2021-02-03 21:12:54.902765333 +0800

创建软链接并查看属性,元数据信息和原文件差异很大,文件大小、block、文件类型、inode和三个时间属性都不相同

wx562635@U16-template:~$ stat a.ln
  File: 'a.ln' -> 'a'
  Size: 1               Blocks: 0          IO Block: 4096   symbolic link
Device: fc00h/64512d    Inode: 4456463     Links: 1
Access: (0777/lrwxrwxrwx)  Uid: ( 1000/wx562635)   Gid: ( 1000/wx562635)
Access: 2021-02-03 21:14:44.157308596 +0800
Modify: 2021-02-03 21:14:37.772856495 +0800
Change: 2021-02-03 21:14:37.772856495 +0800

实验2: 跨分区创建链接

Filesystem                          Size  Used Avail Use% Mounted on
udev                                970M     0  970M   0% /dev
tmpfs                               199M   12M  187M   7% /run
/dev/mapper/U16--template--vg-root   97G  2.2G   90G   3% /
tmpfs                               992M     0  992M   0% /dev/shm
tmpfs                               5.0M     0  5.0M   0% /run/lock
tmpfs                               992M     0  992M   0% /sys/fs/cgroup
/dev/sda1                           720M  111M  573M  17% /boot
tmpfs                               199M     0  199M   0% /run/user/1000

在/root目录创建a.txt,并创建硬链接和软链接,都能成功。

root@U16-template:~# ln -P a.txt a.ln
root@U16-template:~# ln -s a.txt a.softlink
root@U16-template:~# ll
total 24
drwx------  2 root root 4096 Feb  3 21:20 ./
drwxr-xr-x 23 root root 4096 Jan 16 15:27 ../
-rw-r--r--  2 root root    0 Feb  3 21:18 a.ln
lrwxrwxrwx  1 root root    5 Feb  3 21:20 a.softlink -> a.txt
-rw-r--r--  2 root root    0 Feb  3 21:18 a.txt

然后到/boot目录执行相同的操作,创建硬链接失败并报错;软链接创建成功

root@U16-template:/boot# ln -P /root/a.txt a.ln
ln: failed to create hard link 'a.ln' => '/root/a.txt': Invalid cross-device link
root@U16-template:/boot# ln -s /root/a.txt a.softlink
root@U16-template:/boot# ll a.softlink
lrwxrwxrwx 1 root root 11 Feb  3 21:22 a.softlink -> /root/a.txt

实验3: 对目录创建链接,目录不允许创建硬链接

root@U16-template:~# ln -s folder folder.softlink
root@U16-template:~# ll
drwx------  3 root root 4096 Feb  3 21:25 ./
drwxr-xr-x 23 root root 4096 Jan 16 15:27 ../
drwxr-xr-x  2 root root 4096 Feb  3 21:24 folder/
lrwxrwxrwx  1 root root    6 Feb  3 21:25 folder.softlink -> folder/
root@U16-template:~# ln -P folder folder.hardlink
ln: folder: hard link not allowed for directory

实验4: 对不存在的文件或目录创建链接
在当前目录不存在文件nothere的情况下,可以直接创建软链接 aaa.ln 但显示红色代表死链接;不过事后创建nothere文件后,死链接变成了正常链接,并且可以正常使用。


换做硬链接就不行,无法对不存在的文件创建硬链接。

aaa.ln  nothere
root@U16-template:~# ln -P nofile no.link
ln: failed to access 'nofile': No such file or directory
root@U16-template:~#
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,539评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,594评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,871评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,963评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,984评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,763评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,468评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,850评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,002评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,144评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,823评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,483评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,026评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,150评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,415评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,092评论 2 355

推荐阅读更多精彩内容

  • JVM 1:JVM基础知识 什么是JVM 常见的JVM 2:ClassFileFormat 3:类编译-加载-初始...
    皮皮魏阅读 230评论 0 0
  • 一、目录结构 1.Windows文件系统 看到的是一个个驱动器盘符,例如:C盘,D盘等每个驱动器都有自己的根目录结...
    郑元吉阅读 669评论 0 0
  • 一、选择题 1.1 设超级用户root当前所在目录为:/usr/local,键入cd命令后, 用户当前所在目录为(...
    闫梦超阅读 389评论 0 0
  • 基本Dos命令 切换盘符 例如 盘符: (注意为英文冒号) 查看当前目录下的所有文件 切换目录 切换目录(chan...
    倒数第一的学霸阅读 140评论 0 0
  • 一、选择题(每题2分)1.1 设超级用户root当前所在目录为:/usr/local,键入cd命令后, 用户当前所...
    蜜桃猫七七阅读 255评论 0 0