.se usa para separar una extensión de tipo de archivo, por ejemplo foo.txt.
-o _se usa para separar palabras lógicas, por ejemplo, my-big-file.txto algunas veces my_big_file.txt. -es mejor porque no tiene que presionar la tecla Mayús (al menos con un teclado de PC estándar en inglés de EE. UU.), otros prefieren _porque se parece más a un espacio.
Entonces, si entiendo su ejemplo, backup-part2-randomo backup_part2_randomsería más cercano a la convención normal de Unix.
CamelCase normalmente no se usa en sistemas Linux / Unix. Echa un vistazo a los nombres de archivo en /biny /usr/bin. CamelCase es la excepción más que la regla en los sistemas Unix y Linux.
( NetworkManageres el único ejemplo que se me ocurre que usa CamelCase, y fue escrito por un desarrollador de Mac. Muchos se han quejado de esta elección de nombre. En Ubuntu, en realidad han cambiado el nombre del script network-manager).
Por ejemplo, /usr/binen mi sistema:
$ ls -d [A-Z]* | wc -w # files starting with a capital
6
$ ls -d *_* | wc -w # files containing an underscore
178
$ ls -d *-* | wc -w # files containing a minus/dash
409
e incluso entonces, ninguno de los archivos que comienzan con mayúscula usa CamelCase:
$ ls -d [A-Z]*
GET HEAD POST X11 Xvnc Xvnc4