答案1
NUL
並/
具有其指定的系統功能。其他角色則不然。
這就是它的基礎——剩下的就是觀點、猜測和歷史。聽到、讀到等,僅作為填料不是辯論或爭論:
- 透過禁止某些字符,您會增加檔案系統本身的複雜性,這與損害它是一樣的。
- 在各種系統上哪些位元組構成換行符呢?
<CR>
對比<LF>
等 - 如果遠端系統決定在 NFS 上建立帶有換行符的檔案怎麼辦?
- 如果檔案名稱損壞而檔案內容完好怎麼辦?
- 如果應用程式在檔案名稱中編碼資訊怎麼辦?
繼續下去
- 修復使用者軟體中的錯誤是系統的工作嗎?
- 系統是否應該在其根級別上保護使用者免受自身侵害?
- 各種 shell 的內部實作方式是否應該決定哪些檔案名稱被視為合法?
基本作業系統沒有設定限制。進出系統的資訊是位元組流。如果位元組沒有特殊意義,則不要透過添加應在使用者空間處理的檢查來建立開銷。
無論如何,最大的問題很可能是允許換行符和其他控製字元的相當長的歷史。
另一種情況是禁止什麼。你提到了換行符,但在 UNIX 石器時代的討論中,這個問題一直存在爭議,然後還包括其他字元。應該*
禁止嗎?以 開頭的檔名怎麼樣-
?和DEL
呢ESC
?是否應該禁止所有控製字元?等等等等。
不幸的是,我不記得創始人或程式碼維護者對這個主題的任何引用。