What characters should be restricted from a Unix file name?
Consider a Save As dialog with a free text entry where the user enters a file name as free text, then clicks a Save button. The software then validates the file name, and saves the file if the name is valid.
On a Unix file system, what rules should be applied in the validation such that:
- The name will not be difficult to manipulate later in terms of escaping special characters, etc.
- The rules are not so restrictive that saving a file becomes non-user-friendly.
So basically, what is the minimum set of characters that should be restricted from a Unix file name?
Solution 1:
The minimum are slash ('/') and NULL ('\0')
Solution 2:
Firstly, what you're describing is black listing. Your better option is to white list your characters, as it is easier (from a user perspective) to have characters inserted rather than taken away.
In terms of what would be good in a unix environment:
- a-z
- A-Z
- 0-9
- underscore (
_
) - dash (
-
) - period (
.
)
Should cover your basics. Spaces can be okay, but make things difficult. Windows users love them, unix/linux don't. So depending on your target audience choose accordingly.