Eu acidentalmente movi um diretório para '..'. Para onde foi?

2

Eu acidentalmente deixei uma barra no meu nome de diretório ao renomear uma pasta no Linux,

mv /images/images/ ..

Agora a pasta desapareceu, mas eu sei que ainda está lá devido ao espaço que está usando, estou pensando que ela foi renomeada para '..', mas não consigo renomeá-la de volta? Alguém sabe a resposta? :)

    
por Ricky Odin Matthews 11.12.2014 / 14:50

2 respostas

1

mv /images/images/ .. move o diretório chamado images do diretório /images para o diretório pai do diretório atual .

O diretório atual é o diretório em que você estava no momento em que executou o comando mv . Seu diretório não terá "desaparecido". Você só precisa descobrir onde estava quando executou o comando mv e, a partir daí, encontrar o pai.

P.S. mv /images/images .. (sem o / ) teria feito exatamente a mesma coisa se /images/images fosse (ou fosse) um diretório. A única diferença que você teria visto no comportamento adicionando uma barra seria forçar o comando mv a falhar se /images/images fosse um arquivo em vez de um diretório.

    
por 11.12.2014 / 15:28
1

.. indica o diretório pai. Suponha que você esteja na pasta home/user/TEST , onde está o diretório images1/images2 . Em seguida, você tem agora uma pasta images2 na pasta home/user/ e uma images1 em TEST , sem o subdiretório images2 :

~$ mkdir TEST
~$ cd TEST
~/TEST$ mkdir -p images1/images2
~/TEST$ touch images1/images2/a_file
~/TEST$ mv images1/images2/ ..
fti@erebe:~/TEST$ ls images1
fti@erebe:~/TEST$ ls ..
images2  TEST
fti@erebe:~/TEST$ ls ../images2/
a_file

Eu não vi a primeira barra em /images/images .
Como você estava na pasta raiz ( / ), e como a pasta raiz não tem um diretório pai, /.. é o mesmo que / , então você move /images/images para ( /.. ) /images . Em outras palavras, um arquivo em /images/images/foo.txt deve estar em /images/foo.txt .

    
por 11.12.2014 / 14:55

Tags