POSIXly, * não se expande para incluir . e .. (ou qualquer nome de arquivo começando com um ponto), a menos que você inclua explicitamente usando opções específicas ao seu shell (por exemplo, dotglob no bash) .
É "seguro" (a menos que qualquer um dos seus arquivos inicie com um traço, caso você use rm -- * ), assumindo que é isso que você pretende fazer, mas não excluirá arquivos com nomes de arquivos começando com um ponto.
Posso sugerir que você faça isso:
cd .. && rm -r directory