É seguro excluir uma pasta chamada “~” [duplicata]

1

Eu programava eu estava usando para colocar alguns arquivos aparentemente não entendi muito bem o atalho "~" (diretório) e fiz alguns truques que me confundiram.

Em vez de colocar os arquivos onde eu os esperaria (/ home / me), ele criou uma pasta em seu subdiretório chamada "~". (algumprograma / ~)

drwxr-xr-x 3 usuários me 4096 Jan 30 09:34 ~

Se eu fizer o cd, eu volto para / home / me

Isso é apenas um link físico? Eu imagino que se eu tentar excluir ele irá apagar minha pasta pessoal. Como posso removê-lo com segurança e não excluir tudo?

    
por Hyposaurus 30.01.2014 / 01:07

2 respostas

2

Não deve ser um link físico, porque, até onde eu sei, as pastas não podem ser vinculadas, exceto pelo root, e mesmo assim pode ser impossível devido a restrições do sistema. Só para ter certeza, tente isso (não confunda \ com /):

unlink \~

(você tem que escapar do ~, ou o shell irá interpretá-lo como "unlink $ HOME").

Observe que o unlink o removerá, mesmo que seja um arquivo normal (mas não se for um diretório)

Se for um diretório, faça o seguinte:

rm -Ri \~

Mais uma vez, escape do til. Você quer fazer rm -Ri, então ele te avisa antes de cada remoção, no caso de você se esquecer de escapar do til e acidentalmente remover seu homedirectory.

    
por 30.01.2014 / 01:23
1

A expansão til é feita apenas pelo shell, quando uma palavra começa com ~ . Dentro ou no final de uma palavra, não há tratamento especial de ~ . Este é o mesmo para muitos shells (bash, zsh, pdksh, tcsh, traço, jsh, sash). Existem também algumas conchas que não conhecem a expansão do til (sh (Bourne shell), ash)

Então, se você escapar ou usar um caminho em vez de apenas ~ , nada será expandido. Não importa se é um caminho relativo ou absoluto, apenas tem que haver algo antes de ~ .

rm -Ri \~
rm -Ri '~'
rm -Ri "~"
rm -Ri ./~
rm -Ri /full/path/~
    
por 30.01.2014 / 11:05