Mover o conteúdo da pasta um nível acima

100

Eu tenho um diretório que é descompactado, mas está em uma pasta. Como posso mover o conteúdo um nível acima? Estou acessando o CentOS via SSH.

    
por Caleb 24.08.2011 / 19:51

5 respostas

148

Com a pasta chamada 'myfolder' e um nível acima na hierarquia de arquivos (o ponto que você deseja colocar), o comando seria:

mv myfolder/* .

Por exemplo, se os dados estiverem em /home/myuser/myfolder , então, em /home/myuser/ , execute o comando.

    
por 24.08.2011 / 19:55
14

Só para deixar claro, tirado da resposta de Rudu acima, e os comentários.

Se você precisar mover todo o conteúdo, INCLUINDO arquivos que começam com a. (como .htaccess, .git, etc), você precisa incluir * e * em seu comando. Assim:

 mv subfolder/* subfolder/.* .

Isso moverá o conteúdo da subpasta para sua pasta atual. Observe o espaço antes do último ".".

    
por 15.03.2017 / 03:38
12

Isso é possível com os seguintes métodos:

  • Usando rsync :

    rsync -vua --delete-after foo/ .
    
  • Usando cp e rmdir :

    cp -vaR foo/. . && rmdir foo/
    
  • Usando mv (com a opção dotglob ativada):

    shopt -s dotglob # Includes filenames beginning with a dot.
    mv -- foo/* .    # Where foo/ is the folder consisting the files.
    shopt -u dotglob # Disables previously enabled dotglob option.
    

    onde foo/ é sua pasta cujo conteúdo deve ser movido um nível acima.

    Veja: help shopt e man bash .

  • Usando mv (como sugerido aqui ):

    mv foo/* foo/.[^.]* . && rmdir foo/
    

    Nota: perderia um arquivo chamado foo/..bar.. .

    Nota: Para shells POSIX, você precisa de [!.] .

por 28.05.2015 / 00:45
5

apenas emita um comando mv

mv (directory)/* .

se você quiser excluir o diretório, adicione

rm -rf (directory)

Assumindo que você está em um diretório pai de (diretório)

Se você estiver dentro do (diretório), então

mv * ../
    
por 14.06.2014 / 12:59
-2

para aqueles de vocês em um servidor compartilhado, você teria que usar algo assim

Para mover os arquivos

mv -v ~/public_html/public_html/* ~/public_html/

Para copiar os arquivos

cp -a ~/public_html/public_html/* ~/public_html/

    
por 14.06.2014 / 12:38

Tags