What character can be safely used for naming files on unix/linux?

Solution 1:

Sounds like a recipe for disaster.

You can use anything other than / - but you might want to wrap in single quotes (') to avoid execution of special characters.

eg. $*`\|

Using special characters in file names is very much a Windows-ism - mostly taken from GUI machine administration versus command line (which doesn't lend itself to continuously having to escape file names).

The safest approach is just to stick to a-zA-Z0-9_.

Solution 2:

In UNIX you can use any character except '/' because it separates directory names. Unicode characters are also fine.