2021.03.17 備忘 - Mac 中使用文件硬鏈接
以前搜過,基本知識如下:
- 軟連接相當(dāng)于快捷方式
- 硬鏈接相當(dāng)于同一個文件多個存放位置幌墓,實際是同一個文件
- 同一個文件但壮,刪除了所有硬鏈接,才代表文件被刪除了
- 文件夾不能創(chuàng)建硬鏈接
- 硬鏈接的用途是防止文件誤刪
下面是代碼常侣,假定有一個文件 org.txt
ln org.txt org_hard.txt # 創(chuàng)建硬鏈接
ln -s org.txt org_soft.txt # 創(chuàng)建軟連接
ll # 結(jié)果如下
-rw-r--r-- 2 lightmann 0 Mar 17 17:02 org.txt
-rw-r--r-- 2 lightmann 0 Mar 17 17:02 org_hard.txt
lrwxr-xr-x 1 lightmann 7 Mar 17 17:04 org_soft.txt -> org.txt
注:ll 中顯示的第二列數(shù)字能看出文件有沒有硬鏈接蜡饵,2 表示存放在了兩個位置。
查看一個文件的所有硬鏈接胳施,代碼:
ls -i org.txt # 獲取文件的 inode 值溯祸,結(jié)果是一個數(shù)字
find . -inum 655234346 # 按 inode 搜索這個數(shù)字,結(jié)果如下:
./org_hard.txt
./org.txt
- 如果刪除了硬鏈接舞肆,還在回收站中時焦辅,ll 顯示數(shù)字沒變。從回收站中刪除之后才會減少椿胯。
- Mac 中對硬鏈接加標(biāo)簽筷登,會作用到每一個硬鏈接上
- 如果硬鏈接和堅果云結(jié)合起來使用,會如何哩盲?不行前方,云端修改之后,同步過來的文件 inode 值變了种冬!
- 如果復(fù)制粘貼文件時镣丑,替換掉硬鏈接舔糖,是否會改變 inode 值娱两?會改變 inode 的值!
- 硬鏈接和 iCloud 結(jié)合使用金吗,會如何十兢?不行,也會改變 inode 的值摇庙!就算在 Mac 上修改旱物,也會更改 inode 值!
- 同一個文件夾下面創(chuàng)建硬鏈接卫袒,會導(dǎo)致沒法修改宵呛。保存時提示沒有權(quán)限。
因此:使用硬鏈接夕凝,要注意的事項太多了宝穗,只能作為特殊情形使用户秤。
注:上面是以 pdf 文件來測試的,對文件的修改是在 preview 做標(biāo)記逮矛。似乎只有在命令行中對文件修改才不會修改 inode 值鸡号,比如普通文本文件的讀寫操作等。