I know that a filename in Linux has no restriction whatsoever except for two characters '/' and '\0'. I know that '/' is prohibited because it is a directory separator but is there any other reason ?Also on my terminal I can create a file or a directory with the name \0. So I wonder how to write the null character correctly because obviously it shouldn't allow me to have a filename with null in itmkdir '\0'will create a directory named \0One more question, If I want to include $ in my filename, I can use the backslashmkdir \$myfile will create a directory named  $myfileHowever, I can do the same if I surround the dollar sign with single quotes and double quotesmkdir \$myfile is the same as mkdir '$'myfile is the same as mkdir $myfile is the same as mkdir '$myfile' is the same as mkdir $myfileSo my question is, Are the single and double quotes a substitution for the escape backslash character?Also what other characters need escaping in bash besides $, (space) and backslash ?
Null and escape characters
bash;shell;filenames;escape characters;null