2012-10-12 55 views
0

什麼是對絕對路徑名可以是什麼其他限制?unix文件系統上的絕對路徑名是否需要以「/」開頭?

看來,唯一的限制是,它必須與開始「/」,以及ASCII字符下列順序必須由ASCII字符的每個由「/」分隔段。

注:我想弄清楚,映射路徑名的文件的函數的名字空間。

編輯:原來,我的功課,我對限制推理是正確的。

回答

3

路徑名的名稱的長度不能超過PATH_MAX - 見/usr/include/limits.h的sysconf或(3)。

一個文件的長度不能超過NAME_MAX其是文件系統依賴 - 見執行fpathconf(3)或pathconf

絕對路徑也開始 '/'

1

簡短的答案取決於所使用的文件系統,但是你可以從內核強制特定的字符集。

長版本沒有太多限制,有些甚至會讓你使用'/'或'\ 0'作爲文件名中的有效字符,但是在軟件中處理是瘋狂的,所以沒有人真正使用該「功能」。例如,如果你映射一個FAT文件系統,你將被限制在什麼是合法的(僅ascii)。我使用ext4和reiserfs4,它允許除'/'和'\ 0'之外的所有內容。我使用utf-8字符集,因此我可以在文件名中包含所有全局字符(我有幾個帶有日本或俄羅斯名稱的文件 - 主要是來自這些國家的音樂)。

相關問題