Puoi provare questo processo alternativo –– rimanere nel percorso
/myuser/downloads/
ma, invece di prima creazione della /myuser/downloads/new/directory, invece creare una cartella nella /myuser/directory, con il comando mkdir ../new, quindi spostare tutti i file downloadsper new, e, infine, muoversi newin downloads. Puoi farlo in una riga, mentre sei nel /myuser/downloads/percorso, con il comando:
mkdir ../new && mv * ../new && mv ../new ../downloads
In questo caso, non c'è bisogno di preoccuparsi di qualsiasi sorta di "filtro" di file / cartelle, dal momento che newè allo stesso livello del percorso come downloads, in modo da poter basta spostare tutto in downloadsa new, e quindi spostare newin downloads`.
Tuttavia, se hai già creato la sottocartella newe non vuoi crearne un'altra, non ti preoccupare, basta cambiare il mkdircomando sul lato sinistro del primo &&nel comando mostrato sopra in un mvcomando, spingendo newverso l'alto nel sentiero; in altre parole, mentre sei ancora dentro /myuser/downloads/, puoi cambiare mkdir ../newin mv new ... Quindi la sottocartella new[nel percorso /myuser/downloads/new/] viene spostata su /myuser/new/, allo stesso livello di /myuser/downloads/, e quindi è possibile eseguire il resto del comando come mostrato sopra. Tutti insieme, abbiamo, a partire dal percorso /myuser/downloads/:
mv new .. && mv * ../new && mv ../new ../downloads
e, poiché si voleva "spostare tutti i file e le cartelle / sottocartelle nella cartella dei download nella sottocartella [ new]", il gioco è fatto! Se avessi voluto spostare solo i file (o solo le cartelle o [inserire un movimento più granulare degli oggetti]), allora dovresti usare altri comandi che possono "filtrare" gli oggetti, come grep. I comandi sopra scritti sono sufficienti per i tuoi scopi.
mv * new, gemerà "non può passare da nuovo a nuovo" o qualcosa di simile. Forsemv -i * newa te prevenire le sovrascritture.