Sé que podemos escapar de un personaje especial como *(){}$con el \fin de ser considerados literales. 
Por ejemplo \*o\$
Pero en caso de .que tenga que hacerlo dos veces, de lo \\.contrario se considera un carácter especial. Ejemplo:
man gcc | grep \\.¿Por que es esto entonces?
                    
                        shell-script
                                grep
                                regular-expression
                                quoting
                                escape-characters
                                
                    
                    
                        usuario registrado
fuente
                
                fuente

man bash|grep \\.Podría ser un ejemplo.man gcc | grep '\.'.Respuestas:
En general, solo tiene que escapar una vez para que el carácter especial se considere literal. En algún momento tienes que hacerlo dos veces, porque tu patrón es usado por más de un programa.
Deje que discuta su ejemplo:
Este comando es interpretado por dos programas,
bashintérprete ygrep. La primera causa de escapebashsabe\es literal, por lo que la segunda es pasargrep.Si a escapar de una sola vez,
\.,bashsabrá este punto es literal, y pasar.agrep. Cuandogrepvea esto., piensa que el punto es un carácter especial, no literal.Si escapa dos veces,
bashpasará el patrón\.agrep. Ahoragrepsepa que es un punto literal.fuente
grep \\. my_file. La línea de comandos es interpretada por el shell, utilizando el primero\para escapar del segundo, por lo que uno\se pasa literalmente a grep. El punto.no es especial para el shell, por lo que se pasa literalmente de todos modos. Grep luego lee el (single)\y lo usa para escapar del punto..echo .en la fiesta solo ... hace eco del.personaje de bach .