Are file names allowed to use dots other than the one before the file extension?

Solution 1:

File extensions (and therefore dots) have no special meaning as such in Linux. By tradition we use .sh for a shell script, .py for a Python one, .c for a C-source text and so on. And also .doc and so on for compability with other OSs. But everything works fine without or with other extensions.

To verify what type a given file is, use the file command:

file somefilename

See man file for further description.

Also, the shell will try to execute everything that has an execute-bit set in permissions, using the header of the file to decide how. For scripts this header is called a shebang and has the form:

#!/path/to/interpreter

If the shebang is missing, the interpreter/shell that is used is the same as the calling one.