Você precisa citá-lo para protegê-lo da expansão do shell.
ls ~ # list your home directory
ls "~" # list the directory named ~
ls \~ # list the directory named ~
A mesma coisa com rm
, rmdir
, etc. O shell muda ~
para /home/greg
antes de passá-lo para os comandos, a menos que você cite ou escape dele. Você pode ver isso com echo
:
anthony@Zia:~$ echo ~
/home/anthony
anthony@Zia:~$ echo \~
~
Você precisará ser cuidadoso, porque rm -Rf ~
seria um desastre. Sugiro que, se tiver dúvidas, primeiro renomeie-o ( mv -i \~ newname
), então você pode examinar newname
para ter certeza de que deseja excluí-lo e excluí-lo.