Respostas:
Historicamente, o shell Bourne / bin / sh original usaria $como o prompt normal e #para o prompt do usuário root (e o csh usaria %). Isso tornou muito fácil saber se você estava executando como superusuário ou não.
# também é o caractere de comentário, portanto, qualquer pessoa que digitar cegamente os dados não executará nenhum comando real.
Os shells mais modernos (por exemplo, ksh, bash) continuam essa distinção $e, #embora seja menos importante quando você pode definir valores mais complicados, como nome de usuário, nome do host, diretório :-)
#o caractere de comentário evita que alguém execute comandos reais se estiver reinserindo dados cegamente?
# reboot- responda ... nada, porque #é um comentário.
Tradição.
O padrão POSIX diz (minha ênfase):
PS1
Essa variável é usada para prompts interativos. Historicamente, o "superusuário" recebeu um prompt de '#'. Como os privilégios não precisam ser monolíticos, é difícil definir quais privilégios devem causar o prompt alternativo. No entanto, um usuário suficientemente poderoso deve ser lembrado desse poder por ter um prompt alternativo.
Veja também esta resposta para praticamente a mesma pergunta no fórum SuperUser.