linux 為什麼要用硬連線

2021-08-13 14:35:21 字數 1204 閱讀 5677

linux 為什麼要用硬連線

----------------------------------------

author:hjjdebug

date: 2023年 12月 15日 星期五 09:46:44 cst

----------------------------------------

軟連線是符號,是路徑.是連線

硬連線是別名.是主體,無路徑資訊.其實它不是連線.

軟連線有主次, 硬連線無主次.

看的懂嗎? 看的懂就不用看了,看不懂繼續.

用linux有不少年頭了,一直不太關心什麼軟連線,硬連線.當真要用到連線的時候,

也都是一直用軟連線,相當於windows下的快捷方式,

windows沒有硬連線,不是存在的也挺好!?  似乎硬連線就沒有存在的必要.

直到這次事件,才讓我認識到,硬連線有其存在的必要.

公司裡有三個專案,三個專案都會包含第三方執行檔案,用這個檔案來獲取外部資料.

這個執行檔案在除錯,打包時被加入工程.

但問題是往往由於種種原因,我覆蓋了這個,卻忘了那個, 而且三次copy 檔案,也確實是很無聊的事情!

於是我想到了連線, 把這個執行檔案copy 到乙個地方,三個專案中都建立這個檔案的軟連線.

看起來似乎不錯,打包發布不受影響,

但是有乙個小問題,如果第三方檔案更新了,由於軟連線並沒有跟改, svn 感覺不到它的變化!,這個倒還可以忍受.

有乙個更大的問題, 我會把專案目錄像射成nfs檔案,方便我除錯,

但是當對映成nfs後,這個軟連線不能執行了,為什麼,因為它找不到目標檔案了.

是的,這就是硬連線出場的地方,用硬連線完美解決了這個問題. 這樣實現一處更改,三處受用的目的.

而且這三個地方是對等的,你隨便更改哪個地方,其它地方都同步改動, 是的,linux硬連線就這麼神奇!

如果三個專案都共用相同的文字檔案, 也要用硬連線, 這樣,編譯器能夠感知檔案的變化,

能夠實現一處更改,多處受用的目的. 哎!早知如此,我的三個專案的某些檔案,也不至於形成類似的不同版本了!!

現在想把他們合併,也懶得做了.

既然硬連線這麼好,是不是我們就不用軟連線而都用硬連線呢? 也不是, 軟連線可以跨檔案系統而硬連線不能.

軟連線可以為目錄建立連線而硬連線不行(或不建議這樣做). 具體原因這裡就不說了.

last word: 連線是為了解決檔案共享問題!

為什麼要用 enable shared from

樓主 hma if you think you can,you can.panrainbow 憂鬱淡藍 於 tue nov 9 11 48 38 2010 提到 引入enable shared from this的原因是可以實現返回值為指向該類本身的 shared ptr,為什麼以this為拷貝構造...

為什麼要用補碼

在探求為何機器要使用補碼之前,讓我們先了解原碼,反碼和補碼的概念.對於乙個數,計算機要使用一定的編碼方式進行儲存.原碼,反碼,補碼是機器儲存乙個具體數字的編碼方式.原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值.比如如果是8位二進位制 1 原 0000 0001 1 原 1000 ...

為什麼要用AndroidStudio

原因一 android studio是基於intellij idea開發的,所以android studio繼承了intellij idea的所有功能.原因二 android studio是谷歌開發的,專門用於android開發的編輯器,換句話說是親兒子,谷歌會把所有好吃的好用的先給親兒子.原因三 ...