Linux 板


LINE

最近看软连结跟硬连结的比较,有整理一下笔记资讯,对於硬连结的观念是都使用同一个 inode,省硬碟空间等等,但是对於”实务”上还是不是很了解大家平常都使用在那边? 再请大家给点指教,谢谢 [Linux笔记] 软连结与硬连结 # /与/home位於不同的partition ubuntu@ubuntu:~/workspace$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 7092728 5093676 1615720 76% / none 4 0 4 0% /sys/fs/cgroup udev 2013844 4 2013840 1% /dev tmpfs 404788 1036 403752 1% /run none 5120 0 5120 0% /run/lock none 2023940 88 2023852 1% /run/shm none 102400 24 102376 1% /run/user /dev/sda3 17414428 1007348 15499356 7% /home # 分别在/与~家目录建立档案与目录 ubuntu@ubuntu:~/workspace$ sudo touch /file1 ubuntu@ubuntu:~/workspace$ touch file2 ubuntu@ubuntu:~/workspace$ mkdir folder1 # 硬连结不支援跨partition ubuntu@ubuntu:~/workspace$ ln /file1 hardfile1 ln: failed to create hard link ‘hardfile1’ => ‘/file1’: Invalid cross-devi ce link ubuntu@ubuntu:~/workspace$ ln -s /file1 softfile1 ubuntu@ubuntu:~/workspace$ ln file2 hardfile2 # 硬连结不支援目录 ubuntu@ubuntu:~/workspace$ ln folder1 hardfolder1 ln: ‘folder1’: hard link not allowed for directory ubuntu@ubuntu:~/workspace$ ln -s folder1 softfolder1 # 软连结的档案inode不同(965, 667577),硬连结的档案inode相同(667572) # 软连结的属性不同为变777(rwx),硬连结的属性相同(-rw-rw-r--) ubuntu@ubuntu:~/workspace$ ls -il total 4 667572 -rw-rw-r-- 2 ubuntu ubuntu 0 May 7 17:08 file2 667576 drwxrwxr-x 2 ubuntu ubuntu 4096 May 7 17:08 folder1 667572 -rw-rw-r-- 2 ubuntu ubuntu 0 May 7 17:08 hardfile2 667577 lrwxrwxrwx 1 ubuntu ubuntu 6 May 7 17:08 softfile1 -> /file1 667578 lrwxrwxrwx 1 ubuntu ubuntu 7 May 7 17:08 softfolder1 -> folder1 ubuntu@ubuntu:~/workspace$ ls -il /file1 965 -rw-r--r-- 1 root root 0 May 7 17:07 /file1 # 编辑原始档案file2,因为inode都一样(667572),硬连结的档案大小也会变大 ubuntu@ubuntu:~/workspace$ vim file2 ubuntu@ubuntu:~/workspace$ ls -il total 12 667572 -rw-rw-r-- 2 ubuntu ubuntu 155 May 7 17:09 file2 667576 drwxrwxr-x 2 ubuntu ubuntu 4096 May 7 17:08 folder1 667572 -rw-rw-r-- 2 ubuntu ubuntu 155 May 7 17:09 hardfile2 667577 lrwxrwxrwx 1 ubuntu ubuntu 6 May 7 17:08 softfile1 -> /file1 667578 lrwxrwxrwx 1 ubuntu ubuntu 7 May 7 17:08 softfolder1 -> folder1 # 删除原档案,软连结就会连结失效(嫁鸡随鸡),硬连结档案还会存在(分家) ubuntu@ubuntu:~/workspace$ sudo rm -rf /file1 ubuntu@ubuntu:~/workspace$ rm -rf file2 ubuntu@ubuntu:~/workspace$ ls -il total 8 667576 drwxrwxr-x 2 ubuntu ubuntu 4096 May 7 17:08 folder1 667572 -rw-rw-r-- 1 ubuntu ubuntu 155 May 7 17:09 hardfile2 667577 lrwxrwxrwx 1 ubuntu ubuntu 6 May 7 17:08 softfile1 -> /file1 667578 lrwxrwxrwx 1 ubuntu ubuntu 7 May 7 17:08 softfolder1 -> folder1 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.136.11.36 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1588945001.A.ACF.html
1F:推 idisnothing: 我也很好奇hard link到底都用在哪些地方 05/09 07:38
2F:推 bitlife: soft link有可能会断链而hard link不会,可以想成hardlink 05/09 11:54
3F:→ bitlife: 是一群人共同保有1个档案,直到最後1个人丢弃(delete)该档 05/09 11:54
4F:→ bitlife: 案之前,档案都会一直存在,任何1人也不用担心别人删除让自 05/09 11:55
5F:→ bitlife: 己没得用 05/09 11:55
6F:推 lantw44: 以前有的时候会用硬连结在不分享资料夹的情况下分享单一 05/09 14:17
7F:→ lantw44: 档案给别人,还有的时候有些程式遇到软连结和硬连结的行 05/09 14:18
8F:→ lantw44: 为会不太一样,例如函式库搜寻路径可能不同之类的。 05/09 14:19
9F:→ lantw44: 话说 FreeBSD 跟 Linux 相比好像很喜欢用硬连结,连功能 05/09 14:23
10F:推 s9209122222: 现在还会常用到吗?看起来好像不好用 05/09 14:24
11F:→ lantw44: 类似 busybox 的程式都是硬连结个 146 次而不用软连结。 05/09 14:24
12F:→ lantw44: 什麽东西还会常用到吗? 05/09 14:25
13F:→ qoopichu: 所以就是在不占用空间的情况下复制档案的意思? 05/09 16:11
14F:→ qoopichu: 这样我很好奇的是如果在A磁区上的档案在B磁区建立了硬连 05/09 16:11
15F:→ qoopichu: 这样是不是我删除A磁区上的档案後却仍无法释出空间? 05/09 16:12
16F:→ kenduest: hard link 建立只能够在同个磁区属於区块空间提供共用. 05/09 19:01
17F:→ kenduest: 系统会建立建立几个人共用。删除时参考建立数值会减少, 05/09 19:01
18F:→ kenduest: 当为0时候空间才真正删除释出 05/09 19:01
19F:推 Bencrie: 被 pbuilder 搞爆一次 rootfs 就不敢玩 hardlink 了 XD 05/09 19:35
20F:→ qoopichu: 原来不同磁区就不能硬连,感谢解说 05/10 04:17
21F:→ bitlife: 上面推文应该是要讲partition/分区, 磁区是sector,早年软 05/10 10:34
22F:→ bitlife: 硬碟的储存资料最小单位. CHS(Cylinder/Head/Sector)模式 05/10 10:35
23F:→ bitlife: 後来改LBA模式sector这单字就少用了 05/10 10:36
24F:→ kenduest: 谢谢楼上.只是目前架构复杂lvm等,用分割区也有点怪 05/10 11:32
25F:→ idisnothing: 看来就档案系统这用词最恰当了(? 05/10 12:27
26F:→ bitlife: 楼上其实是正解.我只是因为看到推文中提及磁区,才用分区 05/10 19:08
27F:→ bitlife: 来对应,通常一分割区一档案系统,但像raid,lvm这些状况,一 05/10 19:08
28F:→ bitlife: 个档案系统包含数个分割区,所以hard link不能跨档案系统 05/10 19:09
29F:→ bitlife: 才是正确说法 05/10 19:09
30F:推 s9209122222: LVM 不是很危险吗? 05/10 23:42
31F:→ s9209122222: 话说看别人介绍 openZFS 看起来和 LVM 好像 05/10 23:43
32F:推 pizzahut: 我也很好奇 LVM 到底适不适合用.. 之前也听说过很危险 05/11 00:50
33F:→ pizzahut: 但我现在管理的环境满满的 LVM... 不知道该说什麽好 05/11 00:50
34F:→ pizzahut: 不过我是使用在 VM 里面的虚拟硬碟就是了 05/11 00:54
35F:推 Bencrie: LVM 大概跟你硬碟坏掉一样危险 05/11 01:51
36F:→ kenduest: lvm是volume管理一种常见管理方式,担心硬碟故障你传统 05/11 10:00
37F:→ kenduest: 需要後端搭配适当的硬体raid与定期备份机制. 其实目前 05/11 10:00
38F:→ kenduest: lvm 也可以用多个硬碟来源当基底再上面建立 raid5这种 05/11 10:00
39F:→ kenduest: 架构,这年头的lvm已经不是当年的阿蒙了 05/11 10:00
40F:推 s9209122222: 那 openZFS 呢,看起来逻辑很像 05/11 21:10
41F:→ s9209122222: 然後如果重灌,LVM 会出事吗? 05/11 21:11
42F:推 Bencrie: 我的不会 XD 05/11 21:53
43F:→ kenduest: zfs在linux上面还不适合当production环境 05/11 23:34
44F:→ g5637128: BT不同站点辅种时会用hard link 05/12 18:42
45F:推 s9209122222: 为何?不是比 LVM 好吗? 05/12 19:16
46F:→ kenduest: zfs在linux本来就不是稳定的东西,再者lvm目前许多功能 05/12 19:36
47F:→ kenduest: 都涵盖了,像是快照与raid都都是,正式上线环境还比较 05/12 19:36
48F:→ kenduest: 单纯与稳定 05/12 19:36
49F:嘘 fuyuanli: 说 ZFS on Linux 不稳定的人真的有用过 ZFS 吗? 呵呵 05/12 21:06
50F:→ fuyuanli: 欢迎来 pve.tw 参观各种使用 ZFS on Linux 的 05/12 21:09
51F:→ fuyuanli: Production Datacenter 05/12 21:09
52F:推 lecheck: 想知道btrfs和zfs的比较 05/12 22:53
53F:推 s9209122222: 查了一下,原来坏轨在 LVM 是有救的,我还以为他和 05/12 23:47
54F:→ s9209122222: RAID0 一样会没救 05/12 23:47
55F:→ s9209122222: 所以 ZFS 和 LVM 究竟…… 05/12 23:48
56F:→ qoopichu: btrfs当初看有人分析各种档案系统整体看起来最优就用了 05/13 03:48
57F:→ qoopichu: 速度和空间的使用都还满不错的,但是爆炸只能用自己工具 05/13 03:48
58F:→ qoopichu: 来救,像testdisk就没办法侦测到里面任何东西 05/13 03:49
59F:→ Bellkna: 开机碟用btrfs有点後悔就是XD grub不能储存开机选项XD 05/13 06:04
60F:→ kenduest: data center 用 zfs in linux 的确值得观摩,想参观。 05/13 11:36
61F:→ kenduest: 记得当初 zfs licence 争议部分目前不知道是否解了 05/13 11:39
62F:推 s9209122222: 可是他名称有个 open 耶,所以其实他不够 open 吗? 05/13 12:02
63F:→ s9209122222: openZFS 05/13 12:02
64F:→ bitlife: 通常前面有加open的套件,多半是有对应的封闭原始码套件, 05/13 13:21
65F:→ bitlife: 如solaris/opensolaris, jdk/openjdk 等等 05/13 13:21
66F:→ lantw44: ZFS 的 license 争议是指 CDDL 和 GPL 之间的问题吧 05/13 22:43
67F:→ kenduest: 对的。此外目前进行中的 linux kernel 5版本要使用 zfs 05/14 02:55
68F:→ kenduest: 目前也有问题。只能够说 Oracle 收购 Sun 之後真的後续 05/14 02:55
69F:→ kenduest: 一堆事情,Java 就是.... 05/14 02:55
70F:推 holishing: 所以现在OpenZFS用另外维护kernel module的方式开发 05/14 13:24
71F:→ holishing: 加上有Canonical爸爸撑腰就确定没问题了吧? 05/14 13:25
72F:→ holishing: 现在连 FreeBSD stable/current 都可以再装 OpenZFS 了 05/14 13:28
73F:→ newversion: rsync 可用hardlink做 incremental backup 05/14 18:39
74F:推 k0001: 虚拟分身和实体分身 05/15 21:22
75F:→ lantw44: 前几天听说 OpenZFS 终於出新版支援 Linux 5.6 了 05/16 15:49
76F:推 holishing: 但 5.7 差不多也要出来了... 05/17 02:12
77F:推 frogbsd: git checkout 跟 worktree 就是用硬连结做的 05/17 23:03
78F:推 andrew43: MacOS的内建备份工具也是 05/23 15:44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP