Filenames

名稱為空的文件

  • June 6, 2017

我正在編寫一個用於在給定目錄中顯示文件的小元件,我想知道是否需要涵蓋文件名稱為空的情況。

測試顯示結果不明顯,所以我想知道是否有人有明確的資訊

$ touch ""
touch: cannot touch `': No such file or directory

$ echo > ""
bash: : No such file or directory

文件名不能為空。引用Single Unix Specification, §3.170,文件名是:

由 1 到 {NAME_MAX} 個字節組成的名稱,用於命名文件。組成名稱的字元可以從除<slash>字元和空字節之外的所有字元值的集合中選擇。

因此,它必須至少包含 1 個字節,即不能為空。

並不是說根據該定義,這些字元都不需要可見(即,都可以是空白),也不需要列印(都可以是控製字元)。如果您假設文件名是 UTF-8,則不必如此。

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