Symlink

什麼文件模式是符號連結?

  • February 12, 2020

什麼文件模式表明一個文件是符號連結(symlink)?


我的案例是檢測 git 儲存庫(及其歷史記錄)中的符號連結。我的印像是符號連結是符號連結,因為它的文件模式,文件模式是工具chmod設置的。

文件模式涵蓋兩個不同的概念:文件類型和文件權限。文件的模式由呼叫st_mode結果中的值表示,並一起呈現;有關詳細資訊,請參閱了解 UNIX 權限和文件類型stat(2)``ls -l

一旦創建了文件,其類型就無法更改。此外,在 Linux 系統上,您不能指定符號連結的權限;重要的是目標的許可(實際上是完整模式,因為這也決定了符號連結的行為)。請參閱文件權限如何應用於符號連結?詳情。在 Mac OS X 上,符號連結可以有自己的權限。

最後,git使用一個簡化的模型,辨識模式的數量有限:

  • 040000對於目錄
  • 100644對於普通文件
  • 100755對於執行檔
  • 120000對於符號連結

您可以使用以下命令查看這些值git cat-file -p 'master^{tree}';有關詳細資訊,請參閱Pro Git

引用自:https://unix.stackexchange.com/questions/193465