2009-12-27 17:25:21 +0000 2009-12-27 17:25:21 +0000
84
84
Advertisement

Como mover ficheiros e directórios para a pasta principal no Linux?

Advertisement

No Linux (Ubuntu), como mover todos os ficheiros e directórios para o directório principal?

Advertisement
Advertisement

Respostas (12)

96
96
96
2013-01-26 20:20:56 +0000

Vim aqui porque também sou novo neste assunto. Por alguma razão, o acima mencionado não me fez o truque. O que eu fiz para mover todos os ficheiros de uma dir para a dir dos seus pais foi:

cd to/the/dir
mv * ../
72
72
72
2009-12-27 17:29:43 +0000
find . -maxdepth 1 -exec mv {} .. \;

isto moverá também ficheiros escondidos.

Receberá a mensagem:

mv: cannot move `.' to `../.': Device or resource busy

quando tentar mover . (directório actual) mas isso não causará qualquer dano.

10
Advertisement
10
10
2009-12-27 17:27:56 +0000
Advertisement

Escreve isto na concha:

mv *.* ..

Que move TODOS os ficheiros um nível acima.

O personagem * é um wildcard. Assim, *.deb moverá todos os ficheiros .deb, e Zeitgeist.* moverá Zeitgeist.avi e Zeitgeist.srt uma pasta para cima, uma vez que, claro, .. indica o directório pai.

Para mover tudo, incluindo pastas, etc., basta usar * em vez de *.*.

6
6
6
2014-07-16 18:50:24 +0000

Não pode ser mais simples do que:

mv * ../

mover também ficheiros escondidos:

mv /path/subfolder/{.,}* /path/

mv é um comando para mover ficheiros, * significa todos os ficheiros e pastas e ../ é o caminho para o directório principal.

2
Advertisement
2
2
2011-01-25 21:33:46 +0000
Advertisement

Em bash pode usar* shopt -s dotglob*** para fazer corresponder todos os ficheiros e movê-los simplesmente por

shopt -s dotglob; mv * ..

Esta não é a melhor solução, uma vez que a configuração é permanente para a concha até que a altere por

shopt -u dotglob

mas penso que é bom saber.

1
1
1
2012-07-25 20:15:46 +0000

Um método que não causa erros e funciona sempre:

ls -1A . | while read -r file                                                    
do                                                                                  
    mv "./${file}" ..                                                            
done
1
Advertisement
1
1
2014-07-16 18:37:18 +0000
Advertisement
find . -maxdepth 2 -type f -exec mv {} .. \;

I utilizei uma variação de acima para mover todos os ficheiros das subpastas para a pasta principal.

Tinha obtido dados em pastas por ano, mas encontrei, utilizando metadados, que os podia ter todos na mesma pasta, o que facilitou a sua gestão.

eg.

/data/2001/file_1
/data/2002/file_2
/data/2003/file_3
0
0
0
2016-04-11 04:38:26 +0000

Não há necessidade de alterar os directórios. Basta incluir * no final do caminho:

mv /my/folder/child/* /my/folder/

Acima apenas move ficheiros não escondidos. Para mover apenas ficheiros ocultos utilize .*

mv /my/folder/child/.* /my/folder/

Acima de dois pode ser combinado num único comando:

mv /my/folder/child/{.,}* /my/folder/

Veja também Como mover todos os ficheiros incluindo ficheiros ocultos para o directório principal via *

0
Advertisement
0
0
2018-12-13 14:22:48 +0000
Advertisement
find -type f|while read line; do mv $line ${line##*/}; done
0
0
0
2009-12-27 17:48:32 +0000

Assumindo que todos os seus ficheiros ocultos começam com ponto seguido de uma letra ou um número (que deveriam), poderia usar

mv * .[A-Za-z0-9]* ..

A parte .[A-Za-z0-9]* é certificar-se de que não tenta mover . ou .. ao longo, o que falharia.

0
0
0
2011-11-03 11:39:25 +0000

É simples mover todos os ficheiros e pastas para o directório principal no Linux.

Vá a essa pasta e utilize este comando:

mv * /the full path

Por exemplo, se os seus ficheiros e pastas são os seguintes:

/home/abcuser/test/1.txt 
                   2.txt
                   3.jpg
                   4.php
                   1folder
                   2folder

Vá a essa pasta através do cd:

cd /home/abcuser/test
mv * /home/abcuser

Todos os seus ficheiros e pastas serão movidos para a pasta abcuser (directório pai).

-1
-1
-1
2016-05-20 06:32:28 +0000

mudar para subdirectório e executar o seguinte comando para copiar ou mover ficheiros.

ex: a é directório pai e b é subdirectório, queremos mover/copiar todos os ficheiros de b para a (subdirectório para o directório pai).

cd b
cp * ..
mv * ..
Advertisement

Questões relacionadas

6
10
5
37
7
Advertisement