De onde veio essa cópia do meu diretório pessoal?

1

Eu estava trabalhando em um projeto para controlar minha câmera digital usando o Ubuntu e o gphoto2. Em um ponto eu notei um novo diretório "~" na pasta do meu projeto, / home / greg / project / ~. Quando eu entro neste novo diretório "~", ele me leva de volta ao meu diretório home / home / greg / (como você poderia esperar).

Eu não sei exatamente como isso aconteceu, mas minha suspeita é que quando eu executei o gphoto2 na linha de comando e especifiquei um arquivo de saída, eu digitei "~ / filename.jpg" esperando que o arquivo fosse exibido em minha casa diretório, mas em vez disso bash colocar um novo diretório "~" no diretório de trabalho. Eu não sabia que algo assim poderia ser feito (se é o que aconteceu).

Mais importante do que como chegou lá é como eu deveria me livrar disso. Não consigo remover o diretório, porque, até onde posso dizer, é meu diretório pessoal. Não parece ser um link sym, (pelo menos não de acordo com ls -l), mas não tenho certeza do que isso realmente significa.

    
por Greg L 25.03.2014 / 18:36

1 resposta

6

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.

    
por 25.03.2014 / 18:42