在Linux中,如果你有一個你知道是符號鏈接的文件的路徑,你如何以編程方式確定(在C或C++中)它指向的文件的路徑?如何確定符號鏈接指向的文件的路徑?
5
A
回答
8
readlink
函數。做一個man 2 readlink
。這個函數是Posix API的一部分,所以它幾乎適用於任何Unix。
如果路徑以'/'
開頭,那麼它是一個絕對符號鏈接,並且它具有它引用的文件的完整絕對路徑(這可能是另一個符號鏈接,您將不得不重複該過程) 。
如果路徑沒有以'/
'開頭,那麼它是一個相對鏈接,並且相對於符號鏈接所在的目錄進行解釋。您可以合適地組合路徑以找出真實文件名。
當然,有時使用符號鏈接來存儲實際上不是路徑的信息。有時程序爲了鎖定目的而在其中存儲PID或其他這樣的信息。創建符號鏈接的調用是可以在NFS掛載的文件系統上執行的更可靠的原子操作之一。
另外,在我的Fedora系統上,如果你使用man 7 symlink
,你會得到關於符號鏈接的長篇討論,它們在各種情況下的行爲以及操縱它們或受它們影響的函數的破壞。
5
在POSIX或BSD系統上使用readlink()
相關問題
- 1. 如何讀取斷開的符號鏈接指向的路徑?
- 2. python符號鏈接指向的文件
- 3. 如何確定符號路徑的值
- 4. 獲取實際路徑符號鏈接指向
- 5. perl符號鏈接路徑
- 6. 獲取它指向的鏈接路徑?
- 7. 指向絕對路徑的鏈接
- 8. 如何從符號鏈接獲取文件路徑?
- 9. 如何獲取符號鏈接指向的符號鏈接模板中的id?
- 10. 檢索符號鏈接的路徑
- 11. 如何枚舉指向文件的所有NTFS硬鏈接的路徑?
- 12. 生成文件,符號鏈接文件夾&相對路徑
- 13. 如何指定flowconfig文件的路徑?
- 14. 使用符號鏈接的PHP/Linux讀取文件路徑
- 15. WriteFile指向一個網絡卷的文件的符號鏈接
- 16. 重定向的鏈接路徑
- 17. gcc包含路徑和符號鏈接
- 18. 如何旋轉符號鏈接的完整路徑?
- 19. 如何確保Chef中的符號鏈接上存在目錄路徑?
- 20. paramiko如何指定文件夾路徑
- 21. 如何指向正確的圖像,給正確的路徑
- 22. 確定兩個文件路徑是否指向Linux/C下的同一文件?
- 23. 指向文件的蒙版路徑
- 24. 如何檢查符號鏈接指向Ant中的位置
- 25. 如何找出我的符號鏈接指向什麼?
- 26. WiX HeatDirectory任務指向符號鏈接
- 27. gcc鏈接選項-L:如何指定動態鏈接庫的路徑
- 28. 如何從文件中的文件路徑創建鏈接?
- 29. 列出指向特定目錄的符號鏈接和位置
- 30. 在python中,如何測試路徑是否是符號鏈接?