sobrescreveu a pasta ~ / bin

3

De alguma forma, eu acidentalmente substituí meu ~/bin

Eu digitei o comando: $ cp /home/dsg/Downloads/sbt-launch-0.7.4.jar ~/bin

Eu estava tentando copiar o arquivo para minha pasta bin , mas substituí a pasta.

Agora:

$ cd ~/bin
bash: cd: /home/dsg/bin: Not a directory

E:

$ diff /home/dsg/Downloads/sbt-launch-0.7.4.jar ~/bin

Não mostra diferenças.

O que eu faço?

    
por dsg 22.03.2011 / 06:33

1 resposta

6

Quando você copia um arquivo usando o comando usado:

$ cp /home/dsg/Downloads/sbt-launch-0.7.4.jar ~/bin

diferentes coisas acontecem dependendo de qual é o alvo.

1) ~ / bin é um diretório

O arquivo será copiado para o diretório ~ / bin mantendo o nome original do arquivo.

2) ~ / bin é um arquivo normal

O arquivo ~ / bin será sobrescrito pelo arquivo de origem.

3) ~ / bin não existe

O arquivo de origem será copiado para o nome de destino, criando um novo arquivo.

Por padrão, o diretório ~ / bin não existe, portanto, a menos que você tenha criado um diretório em algum momento no passado chamado ~ / bin, a opção 3 será o que aconteceu. Se houvesse um ~ / bin em existência, então, para o comando cp sobrescrevê-lo, ele deveria ser um arquivo regular e não um diretório.

Você deve excluir o arquivo ~ / bin e criar um diretório com:

$ rm ~/bin
$ mkdir ~/bin

Então você pode copiar o arquivo jar nele com o mesmo comando que você usou antes.

(Agradecimentos a @grawity e @garyjohn em cujos comentários à pergunta esta resposta foi baseada.)

    
por 22.03.2011 / 10:20