Quando colocado entre aspas, ~
nunca é expandido. Então:
rm -r '~'
Da mesma forma, a expansão do til não é executada a menos que o til seja o primeiro caractere. Então, isso também funcionará:
rm -r ./~
Abordagem mais segura para remover diretórios vazios
rm -r
removerá um diretório e todo o seu conteúdo. Se você quiser apenas excluir um diretório se estiver vazio, use rmdir
(Dica do Hat: Patrick). Neste caso:
rmdir '~'
Ou
rmdir ./~
Documentação
Tilde Expansion
If a word begins with an unquoted tilde character (~
), all of the characters preceding the first unquoted slash (or all characters, if there is no unquoted slash) are considered a tilde-prefix. If none of the characters in the tilde-prefix are quoted, the characters in the tilde-prefix following the tilde are treated as a possible login name. If this login name is the null string, the tilde is replaced with the
value of the shell parameter HOME. If HOME is unset, the home directory of the user executing the shell is substituted instead. Otherwise, the tilde-prefix is replaced with the home directory associated with the specified login name. [Emphasis added.]